h.264 - I get rtp stream via VLC but not with gstreamer pipeline
2021腾讯云限时秒杀,爆款1核2G云服务器298元/3年!(领取2860元代金券),
地址:https://cloud.tencent.com/act/cps/redirect?redirect=1062
2021阿里云最低价产品入口+领取代金券(老用户3折起),
入口地址:https://www.aliyun.com/minisite/goods
I'm trying to get the rtp stream from a DM365 Board.
With VLC there is no problem. Stream can be opened with sdp file. It is a camera view encoded with TI specific h264 encoder (TIVidenc1 codecName=h264enc) and sound. I'm developing an application and i want to use gstreamer. I build a gstreamer pipeline to embedd later video in my app. but I can't open the stream with this pipeline. on ubuntu client pipeline
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 is DM365 the pipeline is as follow :
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";
h.264
gstreamer
rtp
|
this question edited Nov 4 '13 at 19:52 Dejan 918 2 13 34 asked Jul 25 '12 at 12:44 user1551536 1 1
|
1 Answers
1
I solved it One need to tell udp caps information from sender side to the updsrc on client side. When you generate a pipeline to send video you get caps information from your sender udp element on the terminal. Just add this to your udpsrc caps="...." and it works.
|
this answer answered Jul 27 '12 at 6:44 user1551536 1 1
|
相关阅读排行
- 1最简单的基于FFMPEG的视频编码器(YUV编码为H.264)
- 2vlc 详细使用方法
- 3视频无损剪切分割截取合并工具
- 4历经万难,终于搞定Android下的使用FFMPEG成功对H.264视频流解码
- 5揭开三星手机CPU的神秘面纱