[gstreamer-bugs] [Bug 601236] New: [flvmux] script tag with index gets written at end of file, contains all tags
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Nov 9 02:00:53 PST 2009
https://bugzilla.gnome.org/show_bug.cgi?id=601236
GStreamer | gst-plugins-good | git
Summary: [flvmux] script tag with index gets written at end of
file, contains all tags
Classification: Desktop
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: wulczer at wulczer.org
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME target: ---
GNOME version: ---
This pipeline in gst git:
gst-launch-0.10 videotestsrc num-buffers=10 ! ffenc_flv ! flvmux name=mux !
filesink location=/tmp/test.flv audiotestsrc num-buffers=10 ! lame ! mux.
produces a file that has two script tags, one at the beginning:
#00001 <ScriptTag onMetaData at offset 0x0000000D, time 0, size 99>
{'metadatacreator': 'GStreamer FLV muxer',
'creationdate': 'Mon Nov 9 9:52:19 2009'}
and one at the end:
#00021 <ScriptTag onMetaData at offset 0x0001123A, time 0, size 392>
{'times': [0.0,
0.0,
33.333333,
( ...snip... )
300.0],
'filepositions': [12679.0,
13091.0,
20870.0,
( ...snip... )
70202.0]}
The last tag gets written by gst_flv_mux_write_index, which gets called on EOS.
The index contains timestamps of all FLV tags in the muxed file and their byte
offsets.
There are two things wrong here: the index should not be written at the end of
the file, since this is not useful. Many tools and video players written in
ActionScript assume that the script tag with the index will be the first tag in
a FLV file and use the information from that index as a seek table. Putting
that index at the end of the file is useless.
Second, the index should not contain all tags times and positions, only key
unit's. Since players use that info as a seek table, putting all tags' there
will only confuse them.
Usually, that index in FLV files is added by external tools, like Flvtool2 or
flvlib. If GStreamer writes an index to the file, it should produce output
similar to what you'd get using these tools.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list