如何使用gst-launch通过rtp播放mp4音频和视频并播放它?

时间:2017-02-28 02:17:15

标签: gstreamer rtp gst-launch

我使用这些命令发送和接收rtp数据:

将rtp数据发送到UDP端口5000

从udp端口5000接收rtp数据并播放。

gst-launch-1.0 -v filesrc location = haizeiwang.mp4 ! decodebin ! x264enc ! rtph264pay ! udpsink host=192.168.1.101 port=5000

但我只能得到视频(不太清楚),而且没有声音。我可以同时获得视频和音频吗?我应该使用哪些元素?命令应该是什么?

谢谢。

1 个答案:

答案 0 :(得分:3)

发件人(音频+视频):

gst-launch-1.0 -v uridecodebin name=uridec uri=file:///C:\\video.mp4 ! videoconvert ! x264enc noise-reduction=10000 tune=zerolatency byte-stream=true threads=4 key-int-max=15 intra-refresh=true ! mpegtsmux alignment=7 name=mux ! rtpmp2tpay ! queue ! udpsink host=127.0.0.1 port=5000 sync=true uridec. ! audioconvert ! voaacenc ! audio/mpeg ! queue ! mux.  

接收器(音频+视频,简短版):

gst-launch-1.0 -v playbin uri=udp://127.0.0.1:5000

接收器(音频+视频,长版):

gst-launch-1.0 -v udpsrc port=5000 ! tsparse ! decodebin name=dec ! videoconvert ! autovideosink sync=true dec. ! queue ! audioconvert ! audioresample ! autoaudiosink sync=true

如果您可以通过cmd-line访问 VLC ,则可以使用以下命令播放该流:

vlc rtp://@:5000

或者只是转到VLC图形界面 Open Network Stream (CTRL + N)并使用我在上面分享的地址。