#2136: libvpx -crf option is broken -------------------------------------+------------------------------------- Reporter: evilsoup | Type: defect Status: new | Priority: normal Component: FFmpeg | Version: git- Keywords: | master libvpx,vp8,webm,crf | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- If I use a -crf of 1-3, libvpx outputs a broken file. If I use a -crf of 0, or of 4+ the files work, but they are terrible quality with irritating artefacts (I haven't tested the entire range, but 0, 4, 5, 23 and 56 all produce working, albeit horrible files).
Using `-crf 0`: {{{ evilsoup@enchantment:~/Videos$ ffmpeg -i wonderlove.mov -map 0:v -c:v libvpx -t 30 -crf 0 test0.webm ffmpeg version git-2012-12-18-b7e085a Copyright (c) 2000-2012 the FFmpeg developers built on Dec 20 2012 11:44:19 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5) configuration: --enable-gpl --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3 --enable-libass libavutil 52. 12.100 / 52. 12.100 libavcodec 54. 80.100 / 54. 80.100 libavformat 54. 49.102 / 54. 49.102 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 28.100 / 3. 28.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Guessed Channel Layout for Input Stream #0.1 : stereo Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'wonderlove.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt creation_time : 2012-03-06 21:55:06 Duration: 00:04:00.08, start: 0.000000, bitrate: 30340 kb/s Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, SAR 59:54 DAR 295:216, 25 fps, 25 tbr, 25 tbn, 25 tbc Metadata: creation_time : 2012-03-06 21:55:06 handler_name : Apple Alias Data Handler timecode : 01:00:00:00 Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s Metadata: creation_time : 2012-03-06 21:55:06 handler_name : Apple Alias Data Handler Stream #0:2(eng): Data: none (tmcd / 0x64636D74) Metadata: creation_time : 2012-03-06 21:55:36 handler_name : Apple Alias Data Handler timecode : 01:00:00:00 File 'test0.webm' already exists. Overwrite ? [y/N] y v1.1.0 Output #0, webm, to 'test0.webm': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt encoder : Lavf54.49.102 Stream #0:0(eng): Video: vp8, yuv420p, 720x576 [SAR 59:54 DAR 295:216], q=-1--1, 200 kb/s, 1k tbn, 25 tbc Metadata: creation_time : 2012-03-06 21:55:06 handler_name : Apple Alias Data Handler timecode : 01:00:00:00 Stream mapping: Stream #0:0 -> #0:0 (dvvideo -> libvpx) Press [q] to stop, [?] for help frame= 750 fps=4.7 q=0.0 Lsize= 965kB time=00:00:30.00 bitrate= 263.4kbits/s video:959kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.631034% }}} Using `-crf 1` (2 and 3 give almost identical output): {{{ evilsoup@enchantment:~/Videos$ ffmpeg -i wonderlove.mov -map 0:v -c:v libvpx -t 30 -crf 1 test1.webm ffmpeg version git-2012-12-18-b7e085a Copyright (c) 2000-2012 the FFmpeg developers built on Dec 20 2012 11:44:19 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5) configuration: --enable-gpl --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-x11grab --enable-libx264 --enable-nonfree --enable-version3 --enable-libass libavutil 52. 12.100 / 52. 12.100 libavcodec 54. 80.100 / 54. 80.100 libavformat 54. 49.102 / 54. 49.102 libavdevice 54. 3.102 / 54. 3.102 libavfilter 3. 28.100 / 3. 28.100 libswscale 2. 1.103 / 2. 1.103 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 Guessed Channel Layout for Input Stream #0.1 : stereo Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'wonderlove.mov': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt creation_time : 2012-03-06 21:55:06 Duration: 00:04:00.08, start: 0.000000, bitrate: 30340 kb/s Stream #0:0(eng): Video: dvvideo (dvcp / 0x70637664), yuv420p, 720x576 [SAR 16:15 DAR 4:3], 28800 kb/s, SAR 59:54 DAR 295:216, 25 fps, 25 tbr, 25 tbn, 25 tbc Metadata: creation_time : 2012-03-06 21:55:06 handler_name : Apple Alias Data Handler timecode : 01:00:00:00 Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s Metadata: creation_time : 2012-03-06 21:55:06 handler_name : Apple Alias Data Handler Stream #0:2(eng): Data: none (tmcd / 0x64636D74) Metadata: creation_time : 2012-03-06 21:55:36 handler_name : Apple Alias Data Handler timecode : 01:00:00:00 [libvpx @ 0xa03f2e0] v1.1.0 Output #0, webm, to 'test1.webm': Metadata: major_brand : qt minor_version : 537199360 compatible_brands: qt encoder : Lavf54.49.102 Stream #0:0(eng): Video: vp8, yuv420p, 720x576 [SAR 59:54 DAR 295:216], q=-1--1, 200 kb/s, 1k tbn, 25 tbc Metadata: creation_time : 2012-03-06 21:55:06 handler_name : Apple Alias Data Handler timecode : 01:00:00:00 Stream mapping: Stream #0:0 -> #0:0 (dvvideo -> libvpx) Press [q] to stop, [?] for help [libvpx @ 0xa03f2e0] Error encoding frame: Invalid parameter [libvpx @ 0xa03f2e0] Additional information: cq_level out of range [cfg->rc_min_quantizer..cfg->rc_max_quantizer] Video encoding failed }}} I apologise if I've simply misunderstood how to use libvpx, but documentation is pretty sparse. -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2136> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org http://avcodec.org/mailman/listinfo/ffmpeg-trac