Error playing VAAPI-encoded video

Víctor M. Jáquez L. vjaquez at igalia.com
Tue Sep 6 11:53:50 UTC 2016


On 09/06/16 at 02:04pm, Vivia Nikolaidou wrote:
> Hi,
> 
> It looks like the file works with latest GStreamer release 1.9.4, but
> I could reproduce the bug with 1.8.3 . Please update your GStreamer
> version and confirm.
> 
> Best regards,

As Vivia said, it works with current master.

In the case of 1.8, what fails is the h264parse, which doesn't like a demuxed
stream without codec_data:

$ gst-play-1.0 out.mp4 --gst-debug=h264parse:4	
Press 'k' to see a list of keyboard shortcuts.
Now playing /home/vjaquez/gst/1.8/out.mp4
0:00:00.038004789 22418 0x7f7570006320 WARN               h264parse gsth264parse.c:2606:gst_h264_parse_set_caps:<h264parse0> H.264 AVC caps, but no codec_data
0:00:00.038029128 22418 0x7f7570006320 WARN               h264parse gsth264parse.c:2632:gst_h264_parse_set_caps:<h264parse0> refused caps video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1
0:00:00.038063786 22418 0x7f7570006320 WARN               h264parse gsth264parse.c:2606:gst_h264_parse_set_caps:<h264parse0> H.264 AVC caps, but no codec_data
0:00:00.038069293 22418 0x7f7570006320 WARN               h264parse gsth264parse.c:2632:gst_h264_parse_set_caps:<h264parse0> refused caps video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1
0:00:00.038087092 22418 0x7f7570006320 WARN               h264parse gsth264parse.c:2606:gst_h264_parse_set_caps:<h264parse0> H.264 AVC caps, but no codec_data
0:00:00.038092659 22418 0x7f7570006320 WARN               h264parse gsth264parse.c:2632:gst_h264_parse_set_caps:<h264parse0> refused caps video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1
0:00:00.038108479 22418 0x7f7570006320 WARN               h264parse gsth264parse.c:2606:gst_h264_parse_set_caps:<h264parse0> H.264 AVC caps, but no codec_data
0:00:00.038111779 22418 0x7f7570006320 WARN               h264parse gsth264parse.c:2632:gst_h264_parse_set_caps:<h264parse0> refused caps video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1
0:00:00.038121334 22418 0x7f7570006320 WARN               h264parse gsth264parse.c:2606:gst_h264_parse_set_caps:<h264parse0> H.264 AVC caps, but no codec_data
0:00:00.038124622 22418 0x7f7570006320 WARN               h264parse gsth264parse.c:2632:gst_h264_parse_set_caps:<h264parse0> refused caps video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)1280, height=(int)720, framerate=(fraction)30000/1001, pixel-aspect-ratio=(fraction)1/1
ERROR GStreamer encountered a general stream error. for file:///home/vjaquez/gst/1.8/out.mp4
ERROR debug information: qtdemux.c(5520): gst_qtdemux_loop (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
streaming stopped, reason not-negotiated
Reached end of play list.

You can force it with gstreamer-vaapi to play by halting the parser:

$ gst-launch-1.0 filesrc location=./out.mp4 ! qtdemux ! vaapidecode ! vaapisink

So, it looks to me that your output file is not correct, though latest
decodebin is more robust than in release 1.8

vmjl

> 
> Vivia
> 
> On 6 September 2016 at 13:54, Giovanni 'ItachiSan' Santini
> <itachi.sama.amaterasu at gmail.com> wrote:
> > Nobody here?
> > If I should open a bug I will do.
> > But I would be glad to know if it is a local issue (that affects only
> > me) or not.
> >
> > Il 31/08/2016 17:02, Giovanni 'ItachiSan' Santini ha scritto:
> >> Good afternoon,
> >> I found a pretty strange issue trying to use Totem, so GStreamer.
> >>
> >> I tried to convert a video using ffmpeg with VA-API with these parameters:
> >> ffmpeg -vaapi_device /dev/dri/renderD128 -hwaccel vaapi
> >> -hwaccel_output_format vaapi -i in.mp4 -vf 'format=nv12|vaapi,hwupload'
> >> -c:v h264_vaapi out.mp4
> >>
> >> The video is converted without issues and plays perfectly with ffplay
> >> and vlc.
> >>
> >> However, Totem and GStreamer complains about the new video, saying that:
> >>
> >> qtdemux.c(5520): gst_qtdemux_loop ():
> >> /GstPlayBin:play/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
> >> streaming stopped, reason not-negotiated
> >>
> >> Also, I attached a log with the output of:
> >> GST_DEBUG_NO_COLOR=1 GST_DEBUG=*:2 totem out.mp4 2> totem-error.log
> >>
> >> I also tried the command:
> >> LANG=C gst-launch-1.0 playbin uri=file:///home/itachisan/Video/out.mp4
> >> video-sink=cluttersink audio-filter=scaletempo 2> gst-launch_error.log
> >>
> >> which gives me this output:
> >>
> >> Setting pipeline to PAUSED ...
> >> Pipeline is PREROLLING ...
> >> Setting pipeline to NULL ...
> >> Freeing pipeline ...
> >>
> >> and the error messages in the "gst-launch_error.log" file that I've
> >> attached.
> >>
> >> The videos I used are these ones:
> >> https://dl.dropboxusercontent.com/u/4152736/GStreamerBug/in.mp4
> >> https://dl.dropboxusercontent.com/u/4152736/GStreamerBug/out.mp4
> >>
> >> I can open an issue on Bugzilla if you think it is necessary. Thanks in
> >> advance. :)
> >>
> >
> > --
> > Giovanni Santini
> > My blog: http://giovannisantini.tk
> > My code: https://github.com/ItachiSan
> > My code, again: https://gitlab.com/u/ItachiSan
> > My Twitter: https://twitter.com/santini__gio
> > My Facebook: https://www.facebook.com/giovanni.santini
> > My Google+: https://plus.google.com/+GiovanniSantini/
> > My GPG: 2FADEBF5
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list