Playing raw uncompressed interlaced RFC 4175 RTP streams

Nicolas Dufresne nicolas at ndufresne.ca
Mon Oct 1 13:47:11 UTC 2018


Le lun. 1 oct. 2018 09 h 26, villastar at yahoo.com.au <villastar at yahoo.com.au>
a écrit :

>  Hi,
>
> I am trying to play a raw, uncompressed, interlaced RTP (RFC 4175)
> video stream from a camera. I have been using the following to play
> it with gstreamer:
>
> $ gst-launch-1.0 udpsrc address=239.192.1.40 port=5004 buffer-size=100000
> ! "application/x-rtp, media=(string)video, clock-rate=(int)90000,
> encoding-name=(string)RAW, sampling=(string)YCbCr-4:2:2, depth=(string)8,
> width=(string)720, height=(string)576, colorimetry=(string)BT601-5,
> payload=(int)97, interlace=(boolean)true" ! rtpvrawdepay !  videoconvert !
> autovideosink
>
> This resulting image showed two almost identical images laid out
> vertically. I recorded a short video showing what I am actually seeing
> that is available from my Dropbox:
>
>   https://www.dropbox.com/s/656z30dwtgzt6qz/gstreamer_playback.mp4


Clearly this is not well supported by the depayloader. I haven't read the
spec, but it looks like if you have 1 image with the top filled, and the
second with the bottom filled. This looks like alternate type of
interlacing, which we are working on. Though, I believe the depayloader is
trying to create interleaved buffers, which clearly is broken. Best is to
file a bug, code in gst-plugins-good/gst/rtp will need to be fixed.


>
> The output from running the command:
>
>   Setting pipeline to PAUSED ...
>   Pipeline is live and does not need PREROLL ...
>   Setting pipeline to PLAYING ...
>   New clock: GstSystemClock
>
>   ERROR: from element
> /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstD3DVideoSink:autovideosink0-actual-sink-d3dvideo:
> Output window was closed
>
>   Additional debug info:
>   d3dhelpers.c(1862): d3d_render_buffer ():
> /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstD3DVideoSink:autovideosink0-actual-sink-d3dvideo
>   Execution ended after 0:00:59.558180331
>   Setting pipeline to PAUSED ...
>   Setting pipeline to READY ...
>   Setting pipeline to NULL ...
>   Freeing pipeline ...
>
> The SDP for the stream:
>
>   v=0
>   o=- 340496 340496 IN IP4 192.168.204.40
>   s=Camera 2
>   c=IN IP4 239.192.1.40/15
>   t=0 0
>   m=video 5004 RTP/AVP 97
>   a=rtpmap:97 raw/90000
>   a=fmtp:97 sampling=YCbCr-4:2:2; width=720; height=576; depth=8;
> colorimetry=BT601-5; interlace
>   a=framerate:25
>
> I have also captured the RTP network traffic using Wireshark:
>   https://www.dropbox.com/s/l65o879qf2er3qi/camera_5.pcapng?dl=0
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20181001/c61c4ff0/attachment.html>


More information about the gstreamer-devel mailing list