2012-07-25 101 views
0

我试图从DM365董事会得到rtp流。我得到rtp流通过VLC,但不与gstreamer管道

有了VLC就没有问题了。流可以用sdp文件打开。 这是用TI特定h264编码器(TIVidenc1 codecName = h264enc)和声音编码的摄像机视图。 我正在开发一个应用程序,我想使用gstreamer。 我构建了一个gstreamer管道以将更高版本的视频嵌入到我的应用中。但是我不能用这个管道打开流。在Ubuntu 客户端管道

gst-launch -v gstrtpbin name=rtpbin latency=200 \ 
udpsrc caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264" port=5000 ! rtpbin.recv_rtp_sink_0 \ 
rtpbin. ! rtph264depay ! decodebin ! xvimagesink \ 
udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \ 
rtpbin.send_rtcp_src_0 ! udpsink port=5005 host=192.168.231.14 sync=false async=false \ 
udpsrc caps="application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)PCMA" port=5002 ! rtpbin.recv_rtp_sink_1 \ 
rtpbin. ! rtppcmadepay ! decodebin ! audioconvert ! audioresample ! alsasink \ 
udpsrc port=5003 ! rtpbin.recv_rtcp_sink_1 \ 
rtpbin.send_rtcp_src_1 ! udpsink port=5007 host=192.168.231.14 sync=false async=false 

发件人是DM365的管道如下:

SENDER

gst-launch-0.10  gstrtpbin name=rtpbin 

v4l2src always-copy=FALSE input-src=composite ! queue ! 
TIVidResize contiguousInputFrame=FALSE ! 'video/x-raw-yuv,width=608,height=384,format=(fourcc)NV12,bitRate=48100' ! 
TIVidenc1 codecName=h264enc engineName=encode contiguousInputFrame=TRUE ! rtph264pay ! queue ! 
rtpbin.send_rtp_sink_0 rtpbin.send_rtp_src_0 ! udpsink port=5000 host=192.168.231.255 ts-offset=0 name=vrtpsink rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=192.168.231.255 sync=false async=false name=vrtcpsink udpsrc port=5005 

name=vrtpsrc ! 
rtpbin.recv_rtcp_sink_0 alsasrc ! queue ! 
alawenc ! rtppcmapay ! queue ! 

rtpbin.send_rtp_sink_1 rtpbin.send_rtp_src_1 ! udpsink port=5002 host=192.168.231.255 ts-offset=0 name=artpsink rtpbin.send_rtcp_src_1 ! udpsink port=5003 host=192.168.231.255 sync=false async=false name=artcpsink udpsrc port=5007 name=artpsrc ! rtpbin.recv_rtcp_sink_1"; 

回答

0

我解决了它 一个必要告诉从UDP上限的信息,发送方到客户端的updsrc。 当您生成管道发送视频时,您将在终端上从您的sender udp元素获取大写信息。 只需将此添加到您的udpsrc帽=“....”,它的工作原理。