简体   繁体   English

gstreamer srtp for Full HD h.264 video

[英]gstreamer srtp for Full HD h.264 video

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 pipleline for audio and video. 我正在尝试在Raspberry Pi 3上实现全高清视频会议解决方案。因为我只需要延迟,我只想为音频和视频创建一个简单的pipleline。 I compiled gstreamer 1.13.0.1 from source, as the version 1.4.4 in the raspian repository is to old (had problems with G.722 encoding). 我从源代码编译了gstreamer 1.13.0.1,因为raspian存储库中的1.4.4版本已经过时了(G.722编码存在问题)。 My pipline for encryption seems to work - but my pipline for decryption fails: Encryption (runs): 我的加密管道似乎有效 - 但我解密的pipline失败:加密(运行):

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=10.0.0.132 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 0:00:00.234264235 26462 0x156b380错误GST_PIPELINE语法:726:gst_parse_perform_link:无法将udpsrc0链接到srtpdec0,srtpdec0无法处理大写字母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? 所以我想我需要一些额外的上限 - 但是哪个?

I also had this problem, but adding application/x-srtp was not enough to solve it for me. 我也有这个问题,但添加application / x-srtp还不足以解决它。 Using verbose output and debug warnings, I managed to trace it down to missing caps parameters. 使用详细输出和调试警告,我设法将其追溯到缺少的上限参数。 After looking here https://gstreamer-bugs.narkive.com/qAz9lMNM/bug-786304-new-srtpenc-srtpdec-don-t-work , I managed to get it working by adding srtcp-cipher , srtcp-auth and roc to caps: 看了这里https://gstreamer-bugs.narkive.com/qAz9lMNM/bug-786304-new-srtpenc-srtpdec-don-t-work ,我设法通过添加srtcp-ciphersrtcp-authroc盖帽:

gst-launch-1.0 udpsrc port=5000 ! 'application/x-srtp, payload=(int)96, ssrc=(uint)1356955624, srtp-key=(buffer)012345678901234567890123456789012345678901234567890123456789, srtp-cipher=(string)aes-128-icm, srtp-auth=(string)hmac-sha1-80, srtcp-cipher=(string)aes-128-icm, srtcp-auth=(string)hmac-sha1-80, roc=(uint)0' ! srtpdec ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM