I am trying to implement a Full HD video conferencing solution on a Raspberry Pi 3. As I only need the the latency I just wanted to create one simple pipeline for audio and video. I compiled gstreamer from source, as the version 1.4.4 in the Raspian repository is to old (had problems with G.722 encoding). My pipeline for encryption seems to work - but my pipeline for decryption fails:

Encryption (runs):

gst-launch-1.0 v4l2src ! \ 'video/x-h264,width=1920,height=1080,framerate=30/1' ! \ h264parse config-interval=1 ! \ rtph264pay ! 'application/x-rtp, payload=(int)96, ssrc=(uint)1356955624' ! srtpenc key="012345678901234567890123456789012345678901234567890123456789" ! udpsink host= port=5000

Decryption: Decode:

gst-launch-1.0 udpsrc port=5000 ! 'application/x-rtp,encoding-name=(string)H264,ssrc=(uint)1356955624,srtp-key=(buffer)012345678901234567890123456789012345678901234567890123456789,srtp-cipher=(string)aes-128-icm,srtp-auth=(string)hmac-sha1-80' ! srtpdec ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink

0:00:00.234264235 26462 0x156b380 ERROR GST_PIPELINE grammar.y:726:gst_parse_perform_link: could not link udpsrc0 to srtpdec0, srtpdec0 can't handle caps application/x-rtp, encoding-name=(string)H264, ssrc=(uint)1356955624, srtp-key=(buffer)012345678901234567890123456789012345678901234567890123456789, srtp-cipher=(string)aes-128-icm, srtp-auth=(string)hmac-sha1-80

So I think I need some additional caps - but which?

  • Just changed application/x-rtp to application/x-srtp .... sometimes it can be that easy.. ;-) – maunza Jun 17 '17 at 18:20

I just changed application/x-rtp to application/x-srtp and it worked.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.