我正在开发一个基于 IP 流的媒体播放器。我正在使用以下管道:
来源:
gst-launch-1.0 -vvv udpsrc port=5004 ! application/x-rtp, payload=96 ! rtph2 64depay ! h264parse ! imxvpudec ! imxipuvideosink sync=false
接收器:
C:\gstreamer\1.0\x86_64\bin\gst-launch-1.0.exe -v filesrc location=C:\\gstreamer\\1.0\\x86_64\\bin\\hash.h264 ! h264parse ! rtph264pay ! udpsink host=153.77.205.139 port=5004 sync=true
这是概念验证。现在,我们希望有一个应用程序可以执行相同的操作,但在没有流媒体或接收器没有数据时进行一些调整,我们需要切换到离线基本媒体播放器,即离线播放一组视频和当udp端口有数据时,切换到streaming。
以下是我的查询:
- IP 播放视频后,有什么方法可以知道流媒体已经完成
- 有什么办法可以查明没有流式传输。
请帮忙。如果您需要更多详细信息,我随时准备为您提供帮助
最佳答案
对于 udpsrc 有超时属性,如果没有可用数据,它会在总线上发送消息(您可以尝试将其设置为 1 秒),对于流式传输完成,您应该再次在总线上获取 EOS。 (试试这个管道gst-launch-1.0 -vvvm udpsrc port=5004 timeout=100000000!application/x-rtp,payload=96!rtph2 64depay!h264parse!imxvpudec!imxipuvideosink sync=false
)
关于linux - Gstreamer udpsrc插件查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48298513/