Opened 7 years ago
Closed 7 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 , 7 years ago
Keywords: | mov added; mp4 removed |
---|
by , 7 years ago
comment:2 by , 7 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 , 7 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 , 7 years ago
Reproduced by developer: | set |
---|---|
Status: | new → open |
VP8 is implicitely mentioned on https://www.webmproject.org/vp9/mp4/
comment:5 by , 7 years ago
Priority: | normal → wish |
---|---|
Type: | defect → enhancement |
comment:6 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Implemented in f7aacf4ab7654a57408d5c0f871fd3b39930c6d7
Please provide a sample file.
How exactly was the file created?