2012-07-25 36 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帽=「....」,它的工作原理。