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
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to