Opened 6 years ago
Closed 6 years ago
#7000 closed enhancement (fixed)
VP8 codec is not correctly detected but it is playable if vcodec is forced
| Reported by: | Sergio Garcia | Owned by: | |
|---|---|---|---|
| Priority: | wish | Component: | avformat |
| Version: | git-master | Keywords: | mov vp8 |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
Summary of the bug:
I am creating an mp4 with vp8 and opus from an webrtc recording. The resulting video is playable with vlc nightly properly but fails to be played with ffplay
The problem seems that the vp8 codec is not correctly detected for mp4 format:
C:\usr\ffmpeg-20180201-b1af0e2-win64-static\bin>ffmpeg.exe -i c:\Users\Sergio\Downloads\x.mp4
ffmpeg version N-89940-gb1af0e23a3 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth
libavutil 56. 7.100 / 56. 7.100
libavcodec 58. 9.100 / 58. 9.100
libavformat 58. 7.100 / 58. 7.100
libavdevice 58. 0.101 / 58. 0.101
libavfilter 7. 11.101 / 7. 11.101
libswscale 5. 0.101 / 5. 0.101
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002950091b540] Unsupported VP Codec Configuration box version 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002950091b540] Could not find codec parameters for stream 0 (Video: none (vp08 / 0x38307076), none, 640x480, 1016 kb/s): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'c:\Users\Sergio\Downloads\x.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
creation_time : 2018-02-01T07:52:58.000000Z
Duration: 00:00:46.27, start: 0.000000, bitrate: 1089 kb/s
Stream #0:0(und): Video: none (vp08 / 0x38307076), none, 640x480, 1016 kb/s, 14.27 fps, 90k tbr, 90k tbn, 90k tbc (default)
Metadata:
creation_time : 2018-02-01T07:52:59.000000Z
encoder : VPC Coding
Stream #0:1(und): Data: none (rtp / 0x20707472), 41 kb/s
Metadata:
creation_time : 2018-02-01T07:52:59.000000Z
Stream #0:2(und): Audio: opus (Opus / 0x7375704F), 48000 Hz, stereo, fltp, 31 kb/s (default)
Metadata:
creation_time : 2018-02-01T07:52:59.000000Z
Stream #0:3(und): Data: none (rtp / 0x20707472), 12 kb/s
Metadata:
creation_time : 2018-02-01T07:52:59.000000Z
But it does work if you manually override it:
C:\usr\ffmpeg-20180201-b1af0e2-win64-static\bin>ffplay.exe c:\Users\Sergio\Downloads\x.mp4 -vcodec vp8
ffplay version N-89940-gb1af0e23a3 Copyright (c) 2003-2018 the FFmpeg developers
built with gcc 7.2.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libmfx --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth
libavutil 56. 7.100 / 56. 7.100
libavcodec 58. 9.100 / 58. 9.100
libavformat 58. 7.100 / 58. 7.100
libavdevice 58. 0.101 / 58. 0.101
libavfilter 7. 11.101 / 7. 11.101
libswscale 5. 0.101 / 5. 0.101
libswresample 3. 0.101 / 3. 0.101
libpostproc 55. 0.100 / 55. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000245a237cd40] Unsupported VP Codec Configuration box version 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000245a237cd40] Could not find codec parameters for stream 0 (Video: none (vp08 / 0x38307076), none, 640x480, 1016 kb/s): unknown codec
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'c:\Users\Sergio\Downloads\x.mp4':
Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: mp42isom
creation_time : 2018-02-01T07:52:58.000000Z
Duration: 00:00:46.27, start: 0.000000, bitrate: 1089 kb/s
Stream #0:0(und): Video: none (vp08 / 0x38307076), none, 640x480, 1016 kb/s, 14.27 fps, 90k tbr, 90k tbn, 90k tbc (default)
Metadata:
creation_time : 2018-02-01T07:52:59.000000Z
encoder : VPC Coding
Stream #0:1(und): Data: none (rtp / 0x20707472), 41 kb/s
Metadata:
creation_time : 2018-02-01T07:52:59.000000Z
Stream #0:2(und): Audio: opus (Opus / 0x7375704F), 48000 Hz, stereo, fltp, 31 kb/s (default)
Metadata:
creation_time : 2018-02-01T07:52:59.000000Z
Stream #0:3(und): Data: none (rtp / 0x20707472), 12 kb/s
Metadata:
creation_time : 2018-02-01T07:52:59.000000Z
Switch subtitle stream from #-1 to #-1 vq= 197KB sq= 0B f=0/0
1.96 A-V: -0.041 fd= 0 aq= 24KB vq= 219KB sq= 0B f=0/0
Attachments (1)
Change History (7)
comment:1 by , 6 years ago
| Keywords: | mov added; mp4 removed |
|---|
by , 6 years ago
comment:2 by , 6 years ago
Added a sample recorded using:
https://github.com/medooze/media-server-node
which has the custom mp4v2 which vp8 support
https://github.com/medooze/mp4v2
Note that it plays correctly with VLC 3.0 and by forcing the vcodec on ffplay, so most probably only the fourcc detection is missing.
comment:3 by , 6 years ago
Indeed VP8 fourcc is missing, only VP9 is defined:
https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/isom.c#L189
comment:4 by , 6 years ago
| Reproduced by developer: | set |
|---|---|
| Status: | new → open |
VP8 is implicitely mentioned on https://www.webmproject.org/vp9/mp4/
comment:5 by , 6 years ago
| Priority: | normal → wish |
|---|---|
| Type: | defect → enhancement |
comment:6 by , 6 years ago
| Resolution: | → fixed |
|---|---|
| Status: | open → closed |
Implemented in f7aacf4ab7654a57408d5c0f871fd3b39930c6d7



Please provide a sample file.
How exactly was the file created?