Playing raw uncompressed interlaced RFC 4175 RTP streams

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Playing raw uncompressed interlaced RFC 4175 RTP streams

villastar@yahoo.com.au
 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

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
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Playing raw uncompressed interlaced RFC 4175 RTP streams

Nicolas Dufresne-5


Le lun. 1 oct. 2018 09 h 26, [hidden email] <[hidden email]> 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
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel