using -qscale in ffmpeg doesn't have any effect on coding
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
FFmpeg |
Fix Released
|
Undecided
|
Unassigned | ||
ffmpeg (Ubuntu) |
Fix Released
|
Medium
|
Reinhard Tartler |
Bug Description
Binary package hint: ffmpeg
using ffmpeg comming with ubuntu jaunty (which is FFmpeg version
0.5=-svn17737+
doesn't change the end result file size. In fact; coding a flv video five times
with qscale going from 1 to 5 has no effect; using 25 doesn't quite make the
video any smaller or less nice to watch.
Originally found this with trying to transcode vob mpeg to a theora; trying
-qmin, -qmax -sameq seems to have the same effect.
I guess the default of 200kb/s for the bitrate setting is taking precedence over
what's set for the quantizer
Here's some command line session which shows the problem. This isn't limited to vob -> flv; qscale doesn't work for theora->theora as well, (and probably a lot more, if not everything).
0 nido@toad:~/ for x in 1 2 3 4 5; do ffmpeg -y -i HARRY_POTTER_
FFmpeg version 0.5-svn17737+
configuration: --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --extra-
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 0 / 52.20. 0
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 23 2009 07:13:25, gcc: 4.3.3
Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 25.00 (25/1)
Input #0, mpeg, from 'HARRY_
Duration: 01:15:42.86, start: 0.052000, bitrate: 12699 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 7500 kb/s, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.2[0x81]: Audio: ac3, 0 channels, s16
Output #0, flv, to 'video1.flv':
Stream #0.0: Video: flv, yuv420p, 720x416 [PAR 227:221 DAR 10215:5746], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1501 fps=103 q=0.0 Lsize= 12920kB time=60.04 bitrate=
video:12896kB audio:0kB global headers:0kB muxing overhead 0.183273%
FFmpeg version 0.5-svn17737+
configuration: --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --extra-
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 0 / 52.20. 0
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 23 2009 07:13:25, gcc: 4.3.3
Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 25.00 (25/1)
Input #0, mpeg, from 'HARRY_
Duration: 01:15:42.86, start: 0.052000, bitrate: 12699 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 7500 kb/s, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.2[0x81]: Audio: ac3, 0 channels, s16
Output #0, flv, to 'video2.flv':
Stream #0.0: Video: flv, yuv420p, 720x416 [PAR 227:221 DAR 10215:5746], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1501 fps= 98 q=0.0 Lsize= 12920kB time=60.04 bitrate=
video:12896kB audio:0kB global headers:0kB muxing overhead 0.183273%
FFmpeg version 0.5-svn17737+
configuration: --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --extra-
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 0 / 52.20. 0
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 23 2009 07:13:25, gcc: 4.3.3
Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 25.00 (25/1)
Input #0, mpeg, from 'HARRY_
Duration: 01:15:42.86, start: 0.052000, bitrate: 12699 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 7500 kb/s, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.2[0x81]: Audio: ac3, 0 channels, s16
Output #0, flv, to 'video3.flv':
Stream #0.0: Video: flv, yuv420p, 720x416 [PAR 227:221 DAR 10215:5746], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1501 fps= 99 q=0.0 Lsize= 12920kB time=60.04 bitrate=
video:12896kB audio:0kB global headers:0kB muxing overhead 0.183273%
FFmpeg version 0.5-svn17737+
configuration: --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --extra-
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 0 / 52.20. 0
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 23 2009 07:13:25, gcc: 4.3.3
Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 25.00 (25/1)
Input #0, mpeg, from 'HARRY_
Duration: 01:15:42.86, start: 0.052000, bitrate: 12699 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 7500 kb/s, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.2[0x81]: Audio: ac3, 0 channels, s16
Output #0, flv, to 'video4.flv':
Stream #0.0: Video: flv, yuv420p, 720x416 [PAR 227:221 DAR 10215:5746], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1501 fps=103 q=0.0 Lsize= 12920kB time=60.04 bitrate=
video:12896kB audio:0kB global headers:0kB muxing overhead 0.183273%
FFmpeg version 0.5-svn17737+
configuration: --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --extra-
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 0 / 52.20. 0
libavformat 52.31. 0 / 52.31. 0
libavdevice 52. 1. 0 / 52. 1. 0
libavfilter 0. 4. 0 / 0. 4. 0
libswscale 0. 7. 1 / 0. 7. 1
libpostproc 51. 2. 0 / 51. 2. 0
built on Mar 23 2009 07:13:25, gcc: 4.3.3
Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 25.00 (25/1)
Input #0, mpeg, from 'HARRY_
Duration: 01:15:42.86, start: 0.052000, bitrate: 12699 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9], 7500 kb/s, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.2[0x81]: Audio: ac3, 0 channels, s16
Output #0, flv, to 'video5.flv':
Stream #0.0: Video: flv, yuv420p, 720x416 [PAR 227:221 DAR 10215:5746], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Stream mapping:
Stream #0.0 -> #0.0
Press [q] to stop encoding
frame= 1501 fps=104 q=0.0 Lsize= 12920kB time=60.04 bitrate=
video:12896kB audio:0kB global headers:0kB muxing overhead 0.183273%
0 nido@toad:~/ ls -la video[12345].flv
-rw-r--r-- 1 nido nido 13230180 2009-04-02 14:00 video1.flv
-rw-r--r-- 1 nido nido 13230180 2009-04-02 14:00 video2.flv
-rw-r--r-- 1 nido nido 13230180 2009-04-02 14:00 video3.flv
-rw-r--r-- 1 nido nido 13230180 2009-04-02 14:00 video4.flv
-rw-r--r-- 1 nido nido 13230180 2009-04-02 14:01 video5.flv
Changed in ffmpeg: | |
status: | Unknown → Confirmed |
Changed in ffmpeg: | |
status: | Confirmed → Incomplete |
Changed in ffmpeg (Ubuntu): | |
assignee: | nobody → Reinhard Tartler (siretart) |
status: | Triaged → In Progress |
Nido Media <email address hidden> writes:
> using ffmpeg comming with ubuntu jaunty (which is FFmpeg version 3:0.svn20090303 -1ubuntu4) ; usage of the -qscale rather then -b
> 0.5=-svn17737+
> doesn't change the end result file size. In fact; coding a flv video five times
> with qscale going from 1 to 5 has no effect; using 25 doesn't quite make the
> video any smaller or less nice to watch.
could you please check if that also happens with the latest version from
trunk?
--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4