This pipeline is not working anymore using gst 1.20.3 with ffmpeg 5.0

Tim-Philipp Müller t.i.m at zen.co.uk
Mon Jul 4 18:41:23 UTC 2022


On Sun, 2022-07-03 at 09:30 +0400, Abu Abdullah via gstreamer-devel
wrote:

Hi,

> This pipeline was working fine with me on Pi (ffmpeg 4.3.1 / gst
> 1.18.3)
> 
> gst-launch-1.0 filesrc location=/home/pi/t.ts ! decodebin !
> video/x-raw,format=I420 ! videorate ! video/x-raw,framerate=10/20 !
> videoconvert ! video/x-raw,format=BGR ! appsink sync=false
> 
> now the same pipeline is not working with 1.20.3 and ffmpeg 5.0
> 
> /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTSDemux:tsdemux0:
> streaming stopped, reason not-negotiated (-4)

"not-negotiated" means some element didn't like/accept some caps.

I'm not sure what's going on here, but the most likely culprit seems to
be the video/x-raw,format=I420 capsfilter after decodebin which doesn't
really make sense here and isn't required. A decoder will usually
output whatever format it wants to output (depending on the subsampling
of the input data). The videoconvert should be sufficient here, and
videorate doesn't care about the format.

If you want to debug this further, run it with

  GST_DEBUG=*:6 gst-launch-1.0 ... 2>&1 | grep -B20 --max-count=1 not-
negotiated

and see which pad/element produces that and why.

Cheers
 Tim


More information about the gstreamer-devel mailing list