#3257 closed defect (fixed)
Undesired "bitrate tolerance too small for bitrate" error for simple case
| Reported by: | Clément Bœsch | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | mjpeg |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
Working command:
☭ ./ffmpeg -f lavfi -i testsrc=s=hd1080 -vf scale=80:40,tile=5x1 -frames:v 1 -y out.jpg
ffmpeg version N-59434-gd890db5 Copyright (c) 2000-2013 the FFmpeg developers
built on Dec 30 2013 11:31:28 with gcc 4.8.2 (GCC) 20131219 (prerelease)
configuration: --enable-nonfree --enable-gpl --enable-libx264 --enable-libmp3lame --enable-x11grab --enable-libvorbis --samples=/home/ux/fate-samples --enable-libvpx --cpu=native --enable-libfaac --cc='ccache cc' --assert-level=2
libavutil 52. 59.100 / 52. 59.100
libavcodec 55. 47.100 / 55. 47.100
libavformat 55. 22.101 / 55. 22.101
libavdevice 55. 5.102 / 55. 5.102
libavfilter 4. 0.103 / 4. 0.103
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
Input #0, lavfi, from 'testsrc=s=hd1080':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
[swscaler @ 0x298b140] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'out.jpg':
Metadata:
encoder : Lavf55.22.101
Stream #0:0: Video: mjpeg, yuvj444p, 400x40 [SAR 8:9 DAR 80:9], q=2-31, 200 kb/s, 90k tbn, 5 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo -> mjpeg)
Press [q] to stop, [?] for help
frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.20 bitrate=N/A
video:12kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.184502%
Non-working one:
☭ ./ffmpeg -f lavfi -i testsrc=s=hd1080 -vf fps=0.10,scale=80:40,tile=5x1 -frames:v 1 -y out.jpg
ffmpeg version N-59434-gd890db5 Copyright (c) 2000-2013 the FFmpeg developers
built on Dec 30 2013 11:31:28 with gcc 4.8.2 (GCC) 20131219 (prerelease)
configuration: --enable-nonfree --enable-gpl --enable-libx264 --enable-libmp3lame --enable-x11grab --enable-libvorbis --samples=/home/ux/fate-samples --enable-libvpx --cpu=native --enable-libfaac --cc='ccache cc' --assert-level=2
libavutil 52. 59.100 / 52. 59.100
libavcodec 55. 47.100 / 55. 47.100
libavformat 55. 22.101 / 55. 22.101
libavdevice 55. 5.102 / 55. 5.102
libavfilter 4. 0.103 / 4. 0.103
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
Input #0, lavfi, from 'testsrc=s=hd1080':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 1920x1080 [SAR 1:1 DAR 16:9], 25 tbr, 25 tbn, 25 tbc
[swscaler @ 0x1b11140] deprecated pixel format used, make sure you did set range correctly
[mjpeg @ 0x1b3f2c0] bitrate tolerance too small for bitrate
[mjpeg @ 0x1b1c8e0] ff_frame_thread_encoder_init failed
Output #0, image2, to 'out.jpg':
Stream #0:0: Video: mjpeg, yuvj444p, 400x40 [SAR 8:9 DAR 80:9], q=2-31, 200 kb/s, 90k tbn, 0.02 tbc
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo -> mjpeg)
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
The bitrate out of the filtergraph should be extremely low (see the scale), but it seems based on the input one anyway. I have no idea why the fps filter makes a difference here.
As a workaround, we can add -q:v 0 to avoid the bitrate tolerance check.
Change History (2)
comment:1 by , 12 years ago
| Reproduced by developer: | set |
|---|---|
| Resolution: | → fixed |
| Status: | new → closed |
comment:2 by , 12 years ago
| Keywords: | mjpegenc removed |
|---|
Note:
See TracTickets
for help on using tickets.



Fixed in 66e959682c49e0686667cd3cbde87d725bb3c7e3