GNOME Bugzilla – Bug 789821
vaapih264enc: Non-monotonous DTS in output stream
Last modified: 2017-12-06 06:55:36 UTC
Using vaapih264enc gives erroneous DTS values, making the final mp4 file being played improperly in some non-linear video editors (like Final Cut Pro), with video-sound desync and/or black frames showing up. A way to reproduce this is to run the following command: gst-launch-1.0 videotestsrc num-buffers=250 ! vaapih264enc ! h264parse ! qtmux ! filesink location=test.mp4 Then try re-encoding the resulting file with ffmpeg: ffmpeg -i ./test.mp4 -acodec copy -vcodec copy test-copy.mp4 Warnings of this kind will show up during the process (they do not show up using x264enc): [mp4 @ 0xe557c0] Non-monotonous DTS in output stream 0:0; previous: 400, current: 400; changing to 401. This may result in incorrect timestamps in the output file. [mp4 @ 0xe557c0] Non-monotonous DTS in output stream 0:0; previous: 12400, current: 12400; changing to 12401. This may result in incorrect timestamps in the output file. [mp4 @ 0xe557c0] Non-monotonous DTS in output stream 0:0; previous: 24400, current: 24400; changing to 24401. This may result in incorrect timestamps in the output file. [mp4 @ 0xe557c0] Non-monotonous DTS in output stream 0:0; previous: 36400, current: 36400; changing to 36401. This may result in incorrect timestamps in the output file. [...] Removing h264parse or using mp4mux instead of qtmux does not affect the output.
Hi. I can replicate the error using gstreamer-vaapi 1.12, but not current master. Can you try with current master of gstreamer? There is a good amount of work done for encoders in gstremaer-vaapi which cannot be easily backported to 1.12.
Hi. Sorry for the delay, as you suggested I tried to use current master for gstreamer and it worked with no issue! Thanks :)
Is it possible to use gstreamer-vaapi on master, while still using 1.12 for everything else?