我试图用h264传输视频。 Source是一个Axis相机。我设法使用多播传输jpeg,但不是h264。如何使用udp传输h264 gstreamer
使用JPEG我用下面的命令:
gst-launch-1.0 udpsrc uri=udp://239.194.0.177:1026 ! application/x-rtp,encoding-name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec ! autovideosink
我试图流H264,但是失败了,使用下面的命令:
gst-launch-1.0 -v udpsrc host=239.194.0.177 port=1026 ! rtph264depay ! ffdec_h264 ! xvimagesink
我收到以下错误:
ERROR: pipeline could not be constructed: no element "udpsrc".
使用此行:
gst-launch-1.0 udpsrc uri=udp://239.194.0.177:1026 ! application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 ! rtph264depay ! h264parse
我没有得到任何错误,但没有视频流,这是印在终端:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
我想从以下页面的命令:
但无法让它工作。
当以verbos模式运行时,我得到更多信息。
命令:
gst-launch-1.0 -v udpsrc uri=udp://239.194.0.177:1026 ! application/x-rtp, media=video, payload=96, encoding-name=H264 ! rtph264depay ! avdec_h264 ! videoconvert ! fakesink
输出:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = "application/x-rtp\,\ media\=\(string\)video\,\ payload\=\(int\)96\,\ encoding-name\=\(string\)H264\,\ clock-rate\=\(int\)90000"
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps = "application/x-rtp\,\ media\=\(string\)video\,\ payload\=\(int\)96\,\ encoding-name\=\(string\)H264\,\ clock-rate\=\(int\)90000"
如何通过多播流H264在GStreamer?
2016-09-16
S4M1R
+0
尝试与-v GST推出详细模式做-1.0 udpsrc uri = udp://239.194.0.177:1026! application/x-rtp,media = video,clock-rate = 90000,encoding-name = H264! rtph264depay! h264parse! fakesink - 尝试在管道中的每个元素之后添加fakesink,以确定哪个元素导致问题。 –