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.

| improve this answer | |
  • Please accept your own answer with a click on the tick on its left side. Only this will finish the question and it will not pop up again year for year. – Ingo Dec 11 '19 at 19:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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