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 751298 - flvmux: produced files does not work well with common flash players
flvmux: produced files does not work well with common flash players
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal major
: 1.5.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2015-06-21 21:42 UTC by Nicola
Modified: 2015-06-22 12:39 UTC
See Also:
GNOME target: ---
GNOME version: ---

file generated with the given pipeline (154.44 KB, video/x-flv)
2015-06-21 21:42 UTC, Nicola
file remuxed with ffmpeg (152.08 KB, video/x-flv)
2015-06-21 21:42 UTC, Nicola
example html page with flowplayer (804 bytes, text/html)
2015-06-21 21:43 UTC, Nicola
flvmux: Fix DTS validity check (927 bytes, patch)
2015-06-21 23:23 UTC, Nicolas Dufresne (ndufresne)
none Details | Review

Description Nicola 2015-06-21 21:42:03 UTC
Created attachment 305785 [details]
file generated with the given pipeline

Please try this pipeline:

gst-launch-1.0 videotestsrc pattern=18 num-buffers=1000 ! openh264enc ! h264parse ! flvmux ! filesink location=/tmp/test.flv

now try to play the generated file with a flash player, for example flowplayer:

- the file does not start, you have to seek forward some seconds to start to play
- at random interval the player freeze (same as at the start) and you have to seek to restart play, in the example file you'll see the freeze at about 25 seconds

now use ffmpeg to reconvert the flv generated by gstreamer with something like this:

ffmpeg -i /tmp/test.flv -vcodec copy  -f flv /tmp/test_ffmpeg.flv

the file generated by ffmpeg start and play perfectly in flowplayer.

I observed random freeze while playing gst generated flv since several time (even with 0.10). Recent gst version added the initial freeze that I don't remember in previous versions.
Comment 1 Nicola 2015-06-21 21:42:35 UTC
Created attachment 305786 [details]
file remuxed with ffmpeg
Comment 2 Nicola 2015-06-21 21:43:53 UTC
Created attachment 305787 [details]
example html page with flowplayer

Example html page to see the reported issue. Please test with the gst and the ffmpeg generated file to see the difference
Comment 3 Nicolas Dufresne (ndufresne) 2015-06-21 23:11:45 UTC
There appear to be something wrong with the inital DTS, it's supposed to be 0.

gst_flv_demux_parse_tag_video:<flvdemux0> dts bytes 2F A5 0A 84 (-2077252342)
Comment 4 Nicolas Dufresne (ndufresne) 2015-06-21 23:12:50 UTC
Ah, this is the timestamp on the tag that preceed the first frame.
Comment 5 Nicolas Dufresne (ndufresne) 2015-06-21 23:23:24 UTC
Created attachment 305792 [details] [review]
flvmux: Fix DTS validity check

This check was up-side-down, causing a bad timestamp at start
and then all timestamp being delayed.
Comment 6 Nicolas Dufresne (ndufresne) 2015-06-21 23:23:45 UTC
Attachment 305792 [details] pushed as 212f39e - flvmux: Fix DTS validity check
Comment 7 Nicolas Dufresne (ndufresne) 2015-06-21 23:25:26 UTC
Thanks for reporting this bug. If you have other issues with GStreamer generated FLV files, and a nice way to reproduce like you just did, please file new bug. It is really appreciated to get feedback.
Comment 8 Nicola 2015-06-22 07:01:16 UTC
thanks for the superfast respose and fix! Now the new initial freeze bug is solved, thanks! 

However the random freezes in the middle of the stream are still here, for example the provided test.flv will freeze at second 25
Comment 9 Nicola 2015-06-22 07:19:36 UTC
obviously the freeze at second 25 happen if I regenerate the file using the updated flvmux
Comment 10 Nicolas Dufresne (ndufresne) 2015-06-22 12:32:02 UTC
And by random you mean systematic, and by in middle you mean near the end. Would it be possible to file a seperate bug as it's most likely a separate issue.
Comment 11 Nicola 2015-06-22 12:39:20 UTC
here is the new bug report