udp - Gstreamer 无法播放来自其他电脑的流:h264->rtp->udp
问题描述
我想通过 UDP 将 h264 视频流式传输到另一台电脑。我正在使用这个管道来生成流:
videotestsrc ! video/x-raw,width=400,height=400,framerate=7/1 ! videoconvert ! x264enc ! h264parse config-interval=1 ! video/x-h264,stream-format=byte-stream,alignment=nal ! rtph264pay ! udpsink host=192.168.1.100 port=2705
我可以使用这条管道在同一台机器(IP 地址为 192.168.1.100)上播放这个:
udpsrc port=2705 ! application/x-rtp,width=400,height=400,encoding-name=H264,payload=96,framerate=7/1 ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink
但是当我尝试将它从另一台电脑流式传输到同一台机器时,我只得到这个输出并且它永远等待:
将管道设置为 PAUSED ...
管道是实时的,不需要 PREROLL ...
将管道设置为 PLAYING ...
新时钟:GstSystemClock
重新分配延迟...
重新分配延迟...
这里有什么问题?
解决方案
我找到了解决方案。播放管道中需要一个 videoconvert 元素。
工作播放管道是:
udpsrc port=2705 ! application/x-rtp,width=400,height=400,encoding-name=H264,payload=96,framerate=7/1 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
推荐阅读
- r - 使用 ggplot 给每个点添加图例
- javascript - 如何访问嵌套对象中的字符串?
- javascript - 将来自两个对象的数组组合成一个内联对象
- git - git-tf 配置空间问题 (%20)
- android - 在片段切换期间保持加载recyclerView?科特林
- android - colorControlNormal 不适用于 MaterialToolbar 的图标
- security - 在使用 ZAP 进行基于脚本的身份验证时,如何在 CSRF 字段中配置该死的易受攻击的 Web 应用程序的 user_token?
- git - Gerrit Code Review 中是否可以更改 dev 分支?
- jenkins - 如何准确识别 Jenkins 管道中发生异常的位置?
- javascript - 排序Html表格列reactjs