[FFmpeg-devel] PATCH: fourcc for VP6 Flash / FLV4 in .mkv

Måns Rullgård mans
Mon Apr 19 13:36:35 CEST 2010


"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.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list