UDP Stream from file with shmsrc throws error for everything but BGRA at certain resolution

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

UDP Stream from file with shmsrc throws error for everything but BGRA at certain resolution

fearlessszk
This post was updated on .
I have a small Big Buck Bunny sample encoded as h264 - MPEG-4 AVC at 1280x720 25fps in YUV format.

I am streaming this through shmsink and reading out using shmsrc and my pipelines are as follows for semi-successful playback in VLC:

Source:
sudo gst-launch-1.0 -v filesrc location=/home/me/files/Snowmix-0.5.1/test/big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 ! decodebin ! shmsink socket-path=/tmp/feed1-control-pipe shm-size=10000000 wait-for-connection=0

Output:
sudo gst-launch-1.0 shmsrc socket-path=/tmp/feed1-control-pipe do-timestamp=true is-live=true ! 'video/x-raw, format=BGRA, width=640, height=480, framerate=24/1' ! videoconvert ! x264enc ! mpegtsmux ! udpsink host=192.168.78.10 port=4012 sync=true

When I say 'semi-successful playback' I mean that playback occurs but happens in greyscale with multiple different squares of playback on screen which tells me there's a format issue.

Changing the width and height on the output pipeline to the 1280 x 720 resolution of the video spits out this error continuously:
Additional debug info:
gstvideofilter.c(292): gst_video_filter_transform (): /GstPipeline:pipeline0/GstVideoConvert:videoconvert0:
invalid video buffer received
WARNING: from element /GstPipeline:pipeline0/GstVideoConvert:videoconvert0: Internal GStreamer error: code not implemented.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.
Additional debug info:
gstvideofilter.c(292): gst_video_filter_transform (): /GstPipeline:pipeline0/GstVideoConvert:videoconvert0:
invalid video buffer received
WARNING: from element /GstPipeline:pipeline0/GstVideoConvert:videoconvert0: Internal GStreamer error: code not implemented.  Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer.

and changing the format from BGRA to I420 causes a solid green playback screen. Everything else simply fails with:
WARNING: erroneous pipeline: could not link shmsrc0 to videoconvert0

With my video file, how do I correctly stream to shmsink, then receive from shmsrc to stream to UDP?