0

您好,感谢您的阅读,

我无法弄清楚我的 gstreamer 管道应该是什么样子,以便使用 RTP 和 UDP 将我的 Blackmagic decklinksrc 视频从一台 Ubuntu 机器发送到同一网络上的另一台机器。

要在本地查看视频,我使用以下管道: gst-launch-0.10 decklinksrc mode=11 connection=0 !ffmpeg色彩空间!xvimagesink 同步=假

这在我的本地设置的两台机器上都可以正常工作。请注意,模式 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)都值得赞赏。如果你知道我做错了什么,那就更好了!

谢谢,兰迪

4

1 回答 1

3

试试吧,主机:gst-launch-0.10 decklinksrc mode=11 connection=0!视频速率!视频缩放!ffmpeg色彩空间!“视频/x-raw-yuv,格式=(fourcc)I420,宽度=(int)1920,高度=(int)1080,帧率=(分数)25/1”!球座 !队列 !ffmpeg色彩空间!rtpvrawpay!udpsink 主机=192.168.40.103 端口=6100 tee0。!队列 !xvimagesink 同步=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,我不确定这是否可行。

于 2013-10-01T07:28:52.107 回答