gstreamer - gst-rtsp-server 使用多播 udp 源问题
问题描述
我在 238.0.0.1:1235 有一个 udp 多播源。它可以很好地使用这个命令。
gst-launch-1.0 -m udpsrc address="238.0.0.1" port=1235 !tsdemux !h264parse !queue !avdec_h264 !queue !d3dvideosink sync=false
但是当我使用 gst-rtsp-server 创建这样的工厂时:
gst_rtsp_media_factory_set_launch(factory,
"( udpsrc address=238.0.0.1 port=1235 !tsdemux !queue ! h264parse !queue ! rtph264pay name=pay0 pt=96 )");
并使用此命令在客户端播放,没有视频显示并给我一个错误“无法从资源中读取”
gst-launch-1.0 -m rtspsrc location=rtsp://127.0.0.1:8554/test !rtph264depay !queue !decodebin !queue !d3dvideosink sync=false
为了让它像我期望的那样工作,我必须这样做:首先,重新传输 udpsrc
gst-launch-1.0 udpsrc address=238.0.0.1 port=1235 !queue !udpsink host=127.0.0.1 port=5000
然后,在 rtsp 服务器端:
gst_rtsp_media_factory_set_launch(factory,
"( udpsrc address=127.0.0.1 port=5000 !tsdemux !queue ! h264parse !queue ! rtph264pay name=pay0 pt=96 )");
服务器计算机可以接收到 udp 组播数据,用 updtest 工具确认。为什么我不能使用多播源在 rtsp-server 中创建工厂?这是禁止的行为还是我误解了什么?
解决方案
推荐阅读
- flutter - 有没有办法使用颤振检测pdf中的触摸?
- c++ - C++ GUIapp中的面板类模块初始化
- react-native - 未在本机反应中使用 rn fetch blob 列出文件 [错误:尝试获取空数组的长度]
- html - 除非客户来自贝宝,否则重定向
- sql - 更新不同数据类型的单列
- url - Internet Shortcut .URL 文件中的内嵌图像?
- ios - 如何为视图生命周期事件(onAppear、onDisappear)制作可重用的修饰符?
- python - 熊猫翻滚几天并得到总和
- gps - 卡尔曼滤波 - 纬度经度需要转换为米?
- c++ - 一段时间后,我的主线程随机停止执行代码?