[Libav-user] FLV muxer and AVC decoder configuration record
Michael Chisholm
chisholm at mitre.org
Thu Sep 15 19:58:33 CEST 2011
I am using ffmpeg 0.6.3; I can upgrade if necessary.
My problem is that the FLV muxer, as far as I can tell, is putting an
empty decoder config record into the stream. I tried just transcoding a
file using the ffmpeg commandline tool:
ffmpeg -i ../../test/somefile.mpg -vcodec libx264 -f flv -fpre
../share/ffmpeg/libx264-default.ffpreset ../../somefile_h264.flv
and I have my own little file analyzer I wrote that dumps info about flv
files. It shows the following for the first few tags:
Tag type: script
dataSize for this tag = 159
timestamp = 0
Tag type: video
dataSize for this tag = 5
timestamp = 0
Frame type: keyframe
CodecID: AVC
AVC packet details:
Packet type: AVC sequence header
Sequence header hex dump (0 bytes):
Tag type: video
dataSize for this tag = 1839
timestamp = 0
Frame type: keyframe
CodecID: AVC
AVC packet details:
Packet type: AVC NAL unit
Composition time offset: 33
Tag type: video
dataSize for this tag = 2625
timestamp = 33
Frame type: inter frame
CodecID: AVC
AVC packet details:
Packet type: AVC NAL unit
Composition time offset: 33
etc...
Notice that the "AVC sequence header" packet in the second tag has no
data. This also happens with the actual tool I'm building, which uses
libav* programmatically to transcode video to flash that can be played
in a flash plugin in a web browser. I've never seen anything play in
the plugin, and I've read that the plugin requires this decoder
configuration record in order to work.
So my question is: does libav* support complete creation of this decoder
config record? Or is it written to always output an empty one?
Andy
More information about the Libav-user
mailing list