嗨,谢谢你的阅读,
我无法弄清楚我的gstreamer管道应该是什么样子,将我的Blackmagic decklinksrc视频从一台Ubuntu机器发送到使用RTP和UDP的同一网络上的另一台机器。
要在本地查看视频,我使用此管道: gst-launch-0.10 decklinksrc mode = 11 connection = 0! ffmpegcolorspace! xvimagesink sync = false
使用我的本地设置在两台机器上都可以正常工作。请注意,模式11是1080i 59.94FPS。
这是我的主机和客户端的粗略管道:
客户(首先启动):
gst-launch-0.10 udpsrc port=6100 caps="application/x-rtp, encoding-name=(string)RAW, sampling=(string)YCbCr-4:2:2,width=(string)1920, height=(string)1080,colorimetry=(string)BT709-2, depth=(string)8" ! rtpvrawdepay ! xvimagesink
主机:
gst-launch-0.10 decklinksrc mode=11 connection=0 ! tee ! queue ! ffmpegcolorspace ! rtpvrawpay ! udpsink host=xx.xx.xxx.xx port=6100 tee0. ! queue ! xvimagesink sync=false
我尝试了各种参数,但我尝试了多个端口,没有运气。每次两台机器输出:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ..
Setting pipeline to PLAYING ...
New clock: GstSystemClock
感谢任何有助于解释不同属性的信息(例如rtpvrawpay)。如果你知道我做错了什么,那就更好了!
谢谢, 好色
答案 0 :(得分:3)
试试吧, 主持人: gst-launch-0.10 decklinksrc mode = 11 connection = 0!视频!视频! ffmpegcolorspace! “video / x-raw-yuv,format =(fourcc)I420,width =(int)1920,height =(int)1080,framerate =(fraction)25/1”!发球!排队! ffmpegcolorspace! rtpvrawpay! udpsink host = 192.168.40.103 port = 6100 tee0。 !排队! xvimagesink sync = false -v
客户端: gst-launch-0.10 udpsrc port = 6100 caps =“application / x-rtp,media =(string)video,clock-rate =(int)90000,encoding-name =(string)RAW,sampling =(string)YCbCr- 4:2:0,深度=(字符串)8,宽度=(字符串)1920,高度=(字符串)1080“! rtpvrawdepay! xvimagesink
如果不起作用,您可以在每个管道上添加-v选项,以了解每个插件之间使用的格式。 我尝试在我的电脑上使用videotestsrc并且udp正常工作。因此,对于decklinksrc,我不确定这是否有效。