gstreamer h264 udp stream from haivision not being displayed

Damian Dixon damian.dixon at gmail.com
Thu Feb 7 10:54:44 UTC 2019


Hi,

I've not used gstreamer before and I am thus struggling with displaying a
video stream from a 'Makito X Encoder'.

The endpoint is on my local network and has the form:

    udp://@239.256.0.1:2000

The video is H264. The transport stream is set to MPEG2 transport stream
over UDP (no RTP header).

I can display the video stream reliably using VLC and QtAV.

I have tried the following command:

    gst-launch-1.0 uridecodebin uri=udp://@239.255.0.1:2000 ! tsdemux !
h264parse ! video/x-h264 ! avdec_h264 ! autovideosink sync=false

However the command exits and I get the following output on the console
(GST_DEBUG=2).

    Setting pipeline to PAUSED ...
    Pipeline is live and does not need PREROLL ...
    Got context from element 'autovideosink0-actual-sink-vaapi':
gst.vaapi.Display=context,
gst.vaapi.Display=(GstVaapiDisplay)"\(GstVaapiDisplayGLX\)\
vaapidisplayglx1";
    Setting pipeline to PLAYING ...
    New clock: GstSystemClock
    0:00:00.660459332 25954 0x7f0ef407d720 WARN               h264parse
gsth264parse.c:1237:gst_h264_parse_handle_frame:<h264parse1> broken/invalid
nal Type: 1 Slice, Size: 3890 will be dropped
    0:00:00.709177326 25954 0x7f0ef407d720 WARN               h264parse
gsth264parse.c:1237:gst_h264_parse_handle_frame:<h264parse1> broken/invalid
nal Type: 1 Slice, Size: 2722 will be dropped
    0:00:00.740623161 25954 0x7f0ef407d720 WARN               h264parse
gsth264parse.c:1237:gst_h264_parse_handle_frame:<h264parse1> broken/invalid
nal Type: 1 Slice, Size: 3441 will be dropped
    0:00:00.741811344 25954 0x7f0ef407d720 WARN           basetransform
gstbasetransform.c:1355:gst_base_transform_setcaps:<capsfilter1> transform
could not transform video/x-h264, stream-format=(string)byte-stream,
alignment=(string)nal, pixel-aspect-ratio=(fraction)16/15, width=(int)720,
height=(int)576, framerate=(fraction)25/1,
interlace-mode=(string)progressive, chroma-format=(string)4:2:0,
bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true,
profile=(string)baseline, level=(string)3 in anything we support
    0:00:00.742489891 25954 0x7f0ef407d720 WARN           basetransform
gstbasetransform.c:1355:gst_base_transform_setcaps:<capsfilter1> transform
could not transform video/x-h264, stream-format=(string)byte-stream,
alignment=(string)nal, pixel-aspect-ratio=(fraction)16/15, width=(int)720,
height=(int)576, framerate=(fraction)25/1,
interlace-mode=(string)progressive, chroma-format=(string)4:2:0,
bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true,
profile=(string)baseline, level=(string)3 in anything we support
    0:00:00.788831498 25954 0x55eda7982b70 WARN                 basesrc
gstbasesrc.c:3055:gst_base_src_loop:<source> error: Internal data stream
error.
    0:00:00.788900888 25954 0x55eda7982b70 WARN                 basesrc
gstbasesrc.c:3055:gst_base_src_loop:<source> error: streaming stopped,
reason not-negotiated (-4)
    ERROR: from element
/GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstUDPSrc:source:
Internal data stream error.
    Additional debug info:
    gstbasesrc.c(3055): gst_base_src_loop ():
/GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstUDPSrc:source:
    streaming stopped, reason not-negotiated (-4)
    Execution ended after 0:00:00.302233500
    Setting pipeline to PAUSED ...
    Setting pipeline to READY ...
    Setting pipeline to NULL ...
    Freeing pipeline ...

I can display a local video file so I am fairly sure I've built gstreamer
correctly.

How can I display the video stream reliably?

I'm using gstreamer version 1.14.2.

Thanks
Damian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190207/c23ec462/attachment.html>


More information about the gstreamer-devel mailing list