我尝试使用gstreamer 1.0通过udp通过rtp从文件源流式传输mp4视频和音频,并启动下一个gst命令字符串:
gst-launch-1.0 -v uridecodebin名称= uridec uri =文件:/// d:/TestVideos/costarica.mp4!视频转换! x264enc降噪= 10000调=零延迟字节流= true线程= 4 key-int-max = 15 intra-refresh = true! mpegtsmux对齐= 7名称= mux! rtpmp2tpay!排队! udpsink host = 192.xxx.x.xxx port = xxxx sync = true uridec。 !音频转换!哇!音频/ mpeg!排队!多路复用器。
然后在客户端启动:
gst-launch-1.0 -v playbin uri = udp://192.xxx.x.xxx:xxxx
所以我得到了错误:
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstURIDecodeBin:uridecodebin0: use-buffering = false
/GstURIDecodeBin:uridecodebin0: download = false
/GstURIDecodeBin:uridecodebin0: uri = udp://192.168.1.162:5000
/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstURIDecodeBin:uridecodebin0: source = "\(GstUDPSrc\)\ source"
ERROR: from element /GstUDPSrc:source: Could not get/set settings from/on
resource.
Additional debug info:
gstudpsrc.c(1561): gst_udpsrc_open ():
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstUDPSrc:source:
bind failed: Error binding to address: The requested address is not valid in
its context.
Setting pipeline to NULL ...
Freeing pipeline ...
接下来,我尝试使用长命令来解析客户端上的流:
gst-launch-1.0 -v udpsrc port = xxxx! tsparse! encodebin name = dec!视频转换! autovideosink sync = true十月。 !排队!音频转换! audioresample! autoaudiosink sync = true
没有错误,管道正在启动,但是任何Windows(D3D)doe都没有打开。
如果我在本地计算机上尝试(我在本地计算机上启动服务器端命令并启动客户端命令),则一切正常。 如果有人帮我解决这个麻烦,那就太好了。