[FFmpeg-devel] PATCH: fourcc for VP6 Flash / FLV4 in .mkv
Christian P. Schmidt
schmidt
Mon Apr 19 15:14:27 CEST 2010
M?ns Rullg?rd wrote:
> "Christian P. Schmidt" <schmidt at digadd.de> writes:
>
>> Hi,
>>
>> I just encountered a file in the wild that contains FLV4 in .mkv. The
>> output of ffprobe
>>
>> FFprobe version SVN-r22905, Copyright (c) 2007-2010 the FFmpeg developers
>> built on Apr 19 2010 11:31:42 with gcc 4.4.3
>> configuration: --enable-nonfree --enable-gpl --enable-version3
>> --prefix=/usr
>> libavutil 50.14. 0 / 50.14. 0
>> libavcodec 52.66. 0 / 52.66. 0
>> libavformat 52.61. 0 / 52.61. 0
>> libavdevice 52. 2. 0 / 52. 2. 0
>> libswscale 0.10. 0 / 0.10. 0
>> [matroska @ 0x169a820]Unknown/unsupported CodecID V_MS/VFW/FOURCC.
>> [matroska @ 0x169a820]max_analyze_duration reached
>> [matroska @ 0x169a820]Estimating duration from bitrate, this may be
>> inaccurate
>> Input #0, matroska, from 'file.mkv':
>> Duration: 00:26:22.18, start: 0.000000, bitrate: 128 kb/s
>> Stream #0.0(jpn): Video: FLV4 / 0x34564C46, 640x368, PAR 1:1 DAR
>> 40:23, 23.98 tbr, 1k tbn, 1k tbc
>> Stream #0.1(jpn): Audio: mp3, 44100 Hz, 2 channels, s16, 128 kb/s
>> Stream #0.2(eng): Subtitle: 0x0000
>> Stream #0.3: Attachment: 0x0000
>>
>> Video was not completely identified and ffplay could not play it.
>> Associating the FLV4 fourcc with the VP6F video codec solved this:
>>
>> FFprobe version SVN-r22905, Copyright (c) 2007-2010 the FFmpeg developers
>> built on Apr 19 2010 11:31:42 with gcc 4.4.3
>> configuration: --enable-nonfree --enable-gpl --enable-version3
>> --prefix=/usr
>> libavutil 50.14. 0 / 50.14. 0
>> libavcodec 52.66. 0 / 52.66. 0
>> libavformat 52.61. 0 / 52.61. 0
>> libavdevice 52. 2. 0 / 52. 2. 0
>> libswscale 0.10. 0 / 0.10. 0
>> [matroska @ 0x21d30b0]max_analyze_duration reached
>> [matroska @ 0x21d30b0]Estimating duration from bitrate, this may be
>> inaccurate
>> Input #0, matroska, from 'file.mkv':
>> Duration: 00:26:22.18, start: 0.000000, bitrate: 128 kb/s
>> Stream #0.0(jpn): Video: vp6f, yuv420p, 640x368, PAR 1:1 DAR 40:23,
>> 23.98 tbr, 1k tbn, 1k tbc
>> Stream #0.1(jpn): Audio: mp3, 44100 Hz, 2 channels, s16, 128 kb/s
>> Stream #0.2(eng): Subtitle: 0x0000
>> Stream #0.3: Attachment: 0x0000
>>
>> Patch attached.
>> Regards,
>> Christian
>> --- libavformat/riff.c (revision 22905)
>> +++ libavformat/riff.c (working copy)
>> @@ -180,6 +180,7 @@
>> { CODEC_ID_VP6, MKTAG('V', 'P', '6', '0') },
>> { CODEC_ID_VP6, MKTAG('V', 'P', '6', '1') },
>> { CODEC_ID_VP6, MKTAG('V', 'P', '6', '2') },
>> + { CODEC_ID_VP6F, MKTAG('F', 'L', 'V', '4') },
>> { CODEC_ID_ASV1, MKTAG('A', 'S', 'V', '1') },
>> { CODEC_ID_ASV2, MKTAG('A', 'S', 'V', '2') },
>> { CODEC_ID_VCR1, MKTAG('V', 'C', 'R', '1') },
>
> Matroska is _not_ a RIFF format. What is it doing with that list?
> Does that file use the VFW compat option in Matroska? The association
> from FLV4 to VP6 strikes me a bit loose, so I'd be hesitant to add
> this unless it is common.
Yes, indeed this particular file uses the fallback. Apparently Flash
Video Version 4 uses the VP6 for Flash Codec. I've heard on IRC that
this can apparently result from using mencoder with -ovc copy, where
this particular fourcc is used. I have no idea how common this is.
The question rather boils down to "do we want to support rare files". On
the other hand, I haven't found an "official" 4CC for VP6F, probably
because it's normally only found in the flv container.
Regards,
Christian
More information about the ffmpeg-devel
mailing list