我正在尝试从DM365 Board获取rtp流。
使用VLC没有问题。可以使用sdp文件打开流。 它是使用TI特定的h264编码器(TIVidenc1 codecName = h264enc)和声音编码的摄像机视图。 我正在开发一个应用程序,我想使用gstreamer。 我构建了一个gstreamer管道,以便在我的应用程序中嵌入更高版本的视频。但我不能用这个管道打开流。 on 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
Sender是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 :(得分:0)
我解决了 需要告诉udp上限信息从发送方到客户端的updsrc。 当您生成发送视频的管道时,您将从终端上的发件人udp元素获取大写信息。 只需将其添加到您的udpsrc caps =“....”即可。