gstreamer srtp for Full HD h.264 video

问题描述 投票:3回答:1

我正在尝试在Raspberry Pi 3上实现全高清视频会议解决方案。因为我只需要延迟,我只想为音频和视频创建一个简单的pipleline。我从源代码编译了gstreamer 1.13.0.1,因为raspian存储库中的1.4.4版本已经过时了(G.722编码存在问题)。我的加密管道似乎有效 - 但我解密的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

解密:解码:

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错误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

所以我想我需要一些额外的上限 - 但是哪个?

video encryption raspberry-pi gstreamer rtp
1个回答
0
投票

我也有这个问题,但添加application / x-srtp还不足以解决它。使用详细输出和调试警告,我设法将其追溯到缺少的上限参数。在看了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
© www.soinside.com 2019 - 2024. All rights reserved.