After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 796938 - All mkv files generated by matroskamux are broken with audio and video present
All mkv files generated by matroskamux are broken with audio and video present
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.14.2
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-08-08 22:56 UTC by Markus Ebner
Modified: 2018-11-03 15:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Output of mkvalidate for 2.mkv (7.73 KB, text/x-log)
2018-08-13 09:00 UTC, Markus Ebner
Details

Description Markus Ebner 2018-08-08 22:56:50 UTC
No matter what pipeline generates a matroska file, the generated file is always broken when audio and video are present.

# Generated from remuxing an existing mp4 file
wget https://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_10mb.mp4
gst-launch-1.0 filesrc location="big_buck_bunny_720p_10mb.mp4" ! parsebin name="demux" ! h264parse ! queue ! matroskamux name="mux" ! filesink location="1.mkv" demux. ! aacparse ! queue ! mux.


# Generated from test sources:
gst-launch-1.0 videotestsrc num-buffers=150 ! x265enc ! h265parse ! matroskamux name=mux ! filesink location="2.mkv"   audiotestsrc num-buffers=150 ! lamemp3enc ! mux.


# Generated from test-source only using video:
gst-launch-1.0 videotestsrc num-buffers=150 ! videoconvert ! x264enc ! matroskamux name=mux ! filesink location="3.mkv"


mkvalidate as well as mpv both complain about the files 1.mkv and 2.mkv, whereas file 3.mkv does not seem to contain format errors.
The error does have something to do with keyframes, so this bug might have something to do with that one: https://bugzilla.gnome.org/show_bug.cgi?id=794105
Comment 1 Sebastian Dröge (slomo) 2018-08-13 07:45:40 UTC
In what way is the file broken? Does it fail to play in any software (which, which versions?) or does mkvalidate only complain? What does mkvalidate exactly complain about?
Comment 2 Markus Ebner 2018-08-13 08:58:41 UTC
mpv reports that the file is corrupt, but correctly plays it:
> [mkv] This is a broken file! Packets with incorrect keyframe flag found. Enabling workaround.

gst-play-1.0 correctly plays the first couple of frames, and then everything turns into a green mess:
> Now playing /tmp/mkvalidator-0.5.2/2.mkv
> Redistribute latency...
> Redistribute latency...
> Redistribute latency...     
> WARNING A lot of buffers are being dropped.
> WARNING debug information: gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPlayBin:playbin/GstPlaySink:playsink/GstBin:vbin/GstVaapiSink:vaapisink0:
> There may be a timestamping problem, or this computer is too slow.
Comment 3 Markus Ebner 2018-08-13 09:00:57 UTC
Created attachment 373304 [details]
Output of mkvalidate for 2.mkv
Comment 4 GStreamer system administrator 2018-11-03 15:32:18 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/496.