movingtarget wrote:You know perfectly well you meant to be rude.
Reread what I said. I didn't say I wasn't trying to be rude, I said I don't care if you think my question is rude, because the fact is, you need to tell me what you don't understand about constant quality rate encoding so I can try to explain this to you. I am trying to give you technical support in my spare time during a busy day. Whether or not you can appreciate a terse answer is not something that weighs heavily on me.
Now I see why you're so sore - you were the author of the preset. Don't worry, your preset is just fine.
More because you are making sweeping generalizations without backing them up with hard evidence, while making comments that indicate a lack of knowledge about rate control.
We all know it's hard to predict the size of one constant quality transcode, but when you try the settings a few times you can get the idea of whether the file sizes tend to be larger or smaller than another given setting (noise, complexity etc.). It's not random, it's determined by the source and the settings. For this preset, for a given source DVD, the output file is generally bigger than before
You are stepping back your claims here.
"Under previous versions of Handbrake the iPod Touch/iPhone (notwithstanding the new preset using quality settings rather than fixed bit rate), it was typically half that size or less"
"the new preset that doubles the output file size"
So which is it? Is the output file merely generally bigger than before, or is it, as you claimed earlier, "typically" twice as large as before?
Unlike you, I've decided to do some actual testing and provide evidence of my claims.
Because your initial post claims you are getting larger files than you did with 0.9.3, I decided to use 0.93's iPhone preset for testing. This leads to a bit of a puzzle for me. You claim you've been using the preset for multiple versions and that it used a fixed bit rate ("Under previous versions of Handbrake the iPod Touch/iPhone (notwithstanding the new preset using quality settings rather than fixed bit rate), it was typically half that size or less") only the iPhone preset changed drastically in 0.9.3 and used CRF even then. In any case, here are my results comparing 0.9.3's preset vs. 0.9.4's:
Code: Select all
jonathon-rubins-macbook-pro:build jonr$ ./HandBrakeCLI -i ~/Movies/Samples/lost.vob -o ~/Desktop/oldiphone.m4v -e x264 -q 0.589 -a 1 -E faac -B 128 -R 48 -6 dpl2 -f mp4 -X 480 -m -x level=30:cabac=0:ref=2:mixed-refs:analyse=all:me=umh:no-fast-pskip=1:bframes=0:8x8dct=0 ; ./HandBrakeCLI -i ~/Movies/Samples/lost.vob -o ~/Desktop/newiphone.m4v -e x264 -q 20.0 -a 1 -E faac -B 128 -6 dpl2 -R 48 -D 0.0 -f mp4 -X 480 -m -x cabac=0:ref=2:me=umh:bframes=0:subme=6:8x8dct=0:trellis=0
[13:58:18] hb_init: checking cpu count
[13:58:18] hb_init: starting libhb thread
HandBrake svn2991 (2009120201) - Darwin x86_64 - http://handbrake.fr
2 CPUs detected
Opening /Users/jonr/Movies/Samples/lost.vob...
[13:58:18] hb_scan: path=/Users/jonr/Movies/Samples/lost.vob, title_index=1
[13:58:18] scan: trying to open with libdvdread
libdvdnav: Using dvdnav version 4.1.3
libdvdread: Encrypted DVD support unavailable.
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdnav: vm: failed to read VIDEO_TS.IFO
[13:58:18] dvd: not a dvd - trying as a stream/file instead
[13:58:18] file is MPEG DVD Program Stream
[13:58:27] add_audio_to_title: added AC3 audio stream 0x80bd
[13:58:27] add_audio_to_title: added AC3 audio stream 0x81bd
[13:58:28] scan: decoding previews for title 1
Scanning title 1...
Scanning title 1...
[13:58:28] scan: audio 0x81bd: AC-3, rate=48000Hz, bitrate=192000 Unknown (AC3) (2.0 ch)
[13:58:28] scan: audio 0x80bd: AC-3, rate=48000Hz, bitrate=448000 Unknown (AC3) (5.1 ch)
Scanning title 1...
Scanning title 1...
Scanning title 1...
Scanning title 1...
Scanning title 1...
Scanning title 1...
[13:58:30] scan: 10 previews, 720x480, 23.976 fps, autocrop = 0/2/0/0, aspect 16:9, PAR 32:27
[13:58:30] scan: title (0) job->width:720, job->height:400
[13:58:30] libhb: scan thread found 1 valid title(s)
+ title 1:
+ stream: /Users/jonr/Movies/Samples/lost.vob
+ angle(s) 0
+ duration: 00:07:29
+ size: 720x480, pixel aspect: 32/27, display aspect: 1.78, 23.976 fps
+ autocrop: 0/2/0/0
+ chapters:
+ 1: cells 0->0, 0 blocks, duration 00:07:29
+ audio tracks:
+ 1, Unknown (AC3) (5.1 ch) (iso639-2: und), 48000Hz, 448000bps
+ 2, Unknown (AC3) (2.0 ch) (iso639-2: und), 48000Hz, 192000bps
+ subtitle tracks:
+ 1, Closed Captions (iso639-2: und) (Text)
[13:58:30] 1 job(s) to process
[13:58:30] starting job
[13:58:30] Width out of bounds, scaling down to 480
[13:58:30] New dimensions 480 * 272
[13:58:30] job configuration:
[13:58:30] * source
[13:58:30] + /Users/jonr/Movies/Samples/lost.vob
[13:58:30] + title 1, chapter(s) 1 to 1
[13:58:30] * destination
[13:58:30] + /Users/jonr/Desktop/oldiphone.m4v
[13:58:30] + container: MPEG-4 (.mp4 and .m4v)
[13:58:30] + chapter markers
[13:58:30] * video track
[13:58:30] + decoder: mpeg2
[13:58:30] + bitrate 9800 kbps
[13:58:30] + frame rate: same as source (around 23.976 fps)
[13:58:30] + dimensions: 720 * 480 -> 480 * 272, crop 0/2/0/0
[13:58:30] + filter
[13:58:30] + Rotates video 180 degrees (for mduell) (default settings)
[13:58:30] + encoder: x264
[13:58:30] + options: level=30:cabac=0:ref=2:mixed-refs:analyse=all:me=umh:no-fast-pskip=1:bframes=0:8x8dct=0
[13:58:30] + quality: 0.59
[13:58:30] * audio track 0
[13:58:30] + decoder: Unknown (AC3) (5.1 ch) (track 1, id 80bd)
[13:58:30] + bitrate: 448 kbps, samplerate: 48000 Hz
[13:58:30] + mixdown: Dolby Pro Logic II
[13:58:30] + encoder: faac
[13:58:30] + bitrate: 128 kbps, samplerate: 48000 Hz
[13:58:30] reader: first SCR 146 id 224 DTS 22254
[13:58:30] mpeg2: "Chapter 1" (1) at frame 0 time 3003
[13:58:30] Rotate thread started for segment 0
[13:58:30] Rotate thread started for segment 1
[13:58:30] encx264: keyint-min: 24, keyint-max: 240
[13:58:30] encx264: Encoding at constant RF 20.961000
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
x264 [info]: profile Baseline, level 3.0
No accelerated IMDCT transform found
Encoding: task 1 of 1, 0.00 %[13:58:31] sync: expecting 10789 video frames
[13:58:31] sync: first pts is 3003
[13:58:31] sync: adding 433 ms of silence to audio 0 start 39039, next 0
Encoding: task 1 of 1, 100.00 % (44.76 fps, avg 46.73 fps, ETA 00h00m00s)[14:02:23] reader: done. 0 scr changes
Encoding: task 1 of 1, 100.00 %[14:02:23] sync: got 10838 frames, 10789 expected
[14:02:23] work: average encoding speed for job is 46.713455 fps
Encoding: task 1 of 1, 100.00 %[14:02:25] mux: track 0, 10838 frames, 39000549 bytes, 690.22 kbps, fifo 64
[14:02:25] mux: track 1, 21185 frames, 7229228 bytes, 127.94 kbps, fifo 512
[14:02:25] mpeg2 done: 10839 frames
[14:02:25] render: lost time: 0 (0 frames)
[14:02:25] render: gained time: 0 (0 frames) (0 not accounted for)
x264 [info]: frame I:212 Avg QP:19.76 size: 10599 PSNR Mean Y:45.85 U:49.52 V:50.20 Avg:46.76 Global:45.92
x264 [info]: frame P:10626 Avg QP:23.42 size: 3459 PSNR Mean Y:42.31 U:48.09 V:48.57 Avg:43.41 Global:42.47
x264 [info]: mb I I16..4: 30.3% 0.0% 69.7%
x264 [info]: mb P I16..4: 3.1% 0.0% 6.7% P16..4: 49.5% 20.5% 7.9% 0.7% 0.4% skip:11.2%
x264 [info]: coded y,uvDC,uvAC intra: 59.9% 69.5% 28.9% inter: 25.0% 23.5% 1.2%
x264 [info]: i16 v,h,dc,p: 33% 21% 6% 40%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 18% 17% 7% 9% 9% 8% 7% 5%
x264 [info]: ref P L0: 81.4% 18.6%
x264 [info]: SSIM Mean Y:0.9748109
x264 [info]: PSNR Mean Y:42.381 U:48.117 V:48.606 Avg:43.479 Global:42.519 kb/s:690.34
[14:02:25] libhb: work result = 0
Rip done!
HandBrake has exited.
[14:02:25] hb_init: checking cpu count
[14:02:25] hb_init: starting libhb thread
HandBrake svn2991 (2009120201) - Darwin x86_64 - http://handbrake.fr
2 CPUs detected
Opening /Users/jonr/Movies/Samples/lost.vob...
[14:02:25] hb_scan: path=/Users/jonr/Movies/Samples/lost.vob, title_index=1
[14:02:25] scan: trying to open with libdvdread
libdvdnav: Using dvdnav version 4.1.3
libdvdread: Encrypted DVD support unavailable.
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdnav: vm: failed to read VIDEO_TS.IFO
[14:02:25] dvd: not a dvd - trying as a stream/file instead
[14:02:25] file is MPEG DVD Program Stream
[14:02:35] add_audio_to_title: added AC3 audio stream 0x80bd
[14:02:35] add_audio_to_title: added AC3 audio stream 0x81bd
[14:02:35] scan: decoding previews for title 1
[14:02:35] scan: audio 0x81bd: AC-3, rate=48000Hz, bitrate=192000 Unknown (AC3) (2.0 ch)
[14:02:35] scan: audio 0x80bd: AC-3, rate=48000Hz, bitrate=448000 Unknown (AC3) (5.1 ch)
Scanning title 1...
[14:02:35] scan: 10 previews, 720x480, 23.976 fps, autocrop = 0/2/0/0, aspect 16:9, PAR 32:27
[14:02:35] scan: title (0) job->width:720, job->height:400
[14:02:35] libhb: scan thread found 1 valid title(s)
+ title 1:
+ stream: /Users/jonr/Movies/Samples/lost.vob
+ angle(s) 0
+ duration: 00:07:29
+ size: 720x480, pixel aspect: 32/27, display aspect: 1.78, 23.976 fps
+ autocrop: 0/2/0/0
+ chapters:
+ 1: cells 0->0, 0 blocks, duration 00:07:29
+ audio tracks:
+ 1, Unknown (AC3) (5.1 ch) (iso639-2: und), 48000Hz, 448000bps
+ 2, Unknown (AC3) (2.0 ch) (iso639-2: und), 48000Hz, 192000bps
+ subtitle tracks:
+ 1, Closed Captions (iso639-2: und) (Text)
[14:02:35] 1 job(s) to process
[14:02:35] starting job
[14:02:35] Width out of bounds, scaling down to 480
[14:02:35] New dimensions 480 * 272
[14:02:35] job configuration:
[14:02:35] * source
[14:02:35] + /Users/jonr/Movies/Samples/lost.vob
[14:02:35] + title 1, chapter(s) 1 to 1
[14:02:35] * destination
[14:02:35] + /Users/jonr/Desktop/newiphone.m4v
[14:02:35] + container: MPEG-4 (.mp4 and .m4v)
[14:02:35] + chapter markers
[14:02:35] * video track
[14:02:35] + decoder: mpeg2
[14:02:35] + bitrate 9800 kbps
[14:02:35] + frame rate: same as source (around 23.976 fps)
[14:02:35] + dimensions: 720 * 480 -> 480 * 272, crop 0/2/0/0
[14:02:35] + filter
[14:02:35] + Rotates video 180 degrees (for mduell) (default settings)
[14:02:35] + encoder: x264
[14:02:35] + options: cabac=0:ref=2:me=umh:bframes=0:subme=6:8x8dct=0:trellis=0
[14:02:35] + quality: 20.00 (RF)
[14:02:35] * audio track 0
[14:02:35] + decoder: Unknown (AC3) (5.1 ch) (track 1, id 80bd)
[14:02:35] + bitrate: 448 kbps, samplerate: 48000 Hz
[14:02:35] + mixdown: Dolby Pro Logic II
[14:02:35] + encoder: faac
[14:02:35] + bitrate: 128 kbps, samplerate: 48000 Hz
[14:02:35] reader: first SCR 146 id 224 DTS 22254
[14:02:35] Rotate thread started for segment 1
[14:02:35] encx264: keyint-min: 24, keyint-max: 240
[14:02:35] encx264: Encoding at constant RF 20.000000
[14:02:35] Rotate thread started for segment 0
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
[14:02:35] mpeg2: "Chapter 1" (1) at frame 0 time 3003
x264 [info]: profile Baseline, level 2.1
No accelerated IMDCT transform found
[14:02:35] sync: expecting 10789 video frames
[14:02:35] sync: first pts is 3003
[14:02:35] sync: adding 433 ms of silence to audio 0 start 39039, next 0
Encoding: task 1 of 1, 100.00 % (50.80 fps, avg 51.74 fps, ETA 00h00m00s)[14:06:04] reader: done. 0 scr changes
Encoding: task 1 of 1, 100.00 %[14:06:05] sync: got 10838 frames, 10789 expected
[14:06:05] work: average encoding speed for job is 51.717625 fps
Encoding: task 1 of 1, 100.00 %[14:06:06] mux: track 0, 10838 frames, 44547135 bytes, 788.38 kbps, fifo 64
[14:06:06] mux: track 1, 21185 frames, 7229228 bytes, 127.94 kbps, fifo 256
[14:06:06] mpeg2 done: 10839 frames
[14:06:06] render: lost time: 0 (0 frames)
[14:06:06] render: gained time: 0 (0 frames) (0 not accounted for)
x264 [info]: frame I:212 Avg QP:18.77 size: 11858 PSNR Mean Y:46.36 U:49.87 V:50.55 Avg:47.25 Global:46.48
x264 [info]: frame P:10626 Avg QP:22.44 size: 3956 PSNR Mean Y:42.83 U:48.37 V:48.87 Avg:43.90 Global:43.00
x264 [info]: mb I I16..4: 26.9% 0.0% 73.1%
x264 [info]: mb P I16..4: 2.8% 0.0% 7.3% P16..4: 45.4% 23.1% 8.4% 0.0% 0.0% skip:13.0%
x264 [info]: coded y,uvDC,uvAC intra: 64.8% 74.5% 34.9% inter: 29.0% 27.5% 1.7%
x264 [info]: i16 v,h,dc,p: 32% 20% 6% 42%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 18% 16% 7% 9% 9% 8% 7% 5%
x264 [info]: ref P L0: 83.4% 16.6%
x264 [info]: SSIM Mean Y:0.9770606
x264 [info]: PSNR Mean Y:42.902 U:48.404 V:48.903 Avg:43.969 Global:43.048 kb/s:788.50
[14:06:06] libhb: work result = 0
Rip done!
HandBrake has exited.
As you can clearly see, the new preset is *not* producing output that is twice the size. It is producing output that is merely 14% larger. Ah but wait...if you look closely, you will see I did not use the 0.9.3 preset as it would have been used in 0.9.3. I left mbtree enabled even though it was not present in 0.9.3's copy of x264. What happens if I turn it off?
Code: Select all
vob -o ~/Desktop/oldnombtreeiphone.m4v -e x264 -q 0.589 -a 1 -E faac -B 128 -R 48 -6 dpl2 -f mp4 -X 480 -m -x level=30:cabac=0:ref=2:mixed-refs:analyse=all:me=umh:no-fast-pskip=1:bframes=0:8x8dct=0:mbtree=0
[14:17:09] hb_init: checking cpu count
[14:17:09] hb_init: starting libhb thread
HandBrake svn2991 (2009120201) - Darwin x86_64 - http://handbrake.fr
2 CPUs detected
Opening /Users/jonr/Movies/Samples/lost.vob...
[14:17:09] hb_scan: path=/Users/jonr/Movies/Samples/lost.vob, title_index=1
[14:17:09] scan: trying to open with libdvdread
libdvdnav: Using dvdnav version 4.1.3
libdvdread: Encrypted DVD support unavailable.
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdnav: vm: failed to read VIDEO_TS.IFO
[14:17:09] dvd: not a dvd - trying as a stream/file instead
[14:17:09] file is MPEG DVD Program Stream
[14:17:12] add_audio_to_title: added AC3 audio stream 0x80bd
[14:17:12] add_audio_to_title: added AC3 audio stream 0x81bd
[14:17:12] scan: decoding previews for title 1
[14:17:12] scan: audio 0x81bd: AC-3, rate=48000Hz, bitrate=192000 Unknown (AC3) (2.0 ch)
[14:17:12] scan: audio 0x80bd: AC-3, rate=48000Hz, bitrate=448000 Unknown (AC3) (5.1 ch)
Scanning title 1...
[14:17:12] scan: 10 previews, 720x480, 23.976 fps, autocrop = 0/2/0/0, aspect 16:9, PAR 32:27
[14:17:12] scan: title (0) job->width:720, job->height:400
[14:17:12] libhb: scan thread found 1 valid title(s)
+ title 1:
+ stream: /Users/jonr/Movies/Samples/lost.vob
+ angle(s) 0
+ duration: 00:07:29
+ size: 720x480, pixel aspect: 32/27, display aspect: 1.78, 23.976 fps
+ autocrop: 0/2/0/0
+ chapters:
+ 1: cells 0->0, 0 blocks, duration 00:07:29
+ audio tracks:
+ 1, Unknown (AC3) (5.1 ch) (iso639-2: und), 48000Hz, 448000bps
+ 2, Unknown (AC3) (2.0 ch) (iso639-2: und), 48000Hz, 192000bps
+ subtitle tracks:
+ 1, Closed Captions (iso639-2: und) (Text)
[14:17:12] 1 job(s) to process
[14:17:12] starting job
[14:17:12] Width out of bounds, scaling down to 480
[14:17:12] New dimensions 480 * 272
[14:17:12] job configuration:
[14:17:12] * source
[14:17:12] + /Users/jonr/Movies/Samples/lost.vob
[14:17:12] + title 1, chapter(s) 1 to 1
[14:17:12] * destination
[14:17:12] + /Users/jonr/Desktop/oldnombtreeiphone.m4v
[14:17:12] + container: MPEG-4 (.mp4 and .m4v)
[14:17:12] + chapter markers
[14:17:12] * video track
[14:17:12] + decoder: mpeg2
[14:17:12] + bitrate 9800 kbps
[14:17:12] + frame rate: same as source (around 23.976 fps)
[14:17:12] + dimensions: 720 * 480 -> 480 * 272, crop 0/2/0/0
[14:17:12] + filter
[14:17:12] + Rotates video 180 degrees (for mduell) (default settings)
[14:17:12] + encoder: x264
[14:17:12] + options: level=30:cabac=0:ref=2:mixed-refs:analyse=all:me=umh:no-fast-pskip=1:bframes=0:8x8dct=0:mbtree=0
[14:17:12] + quality: 0.59
[14:17:12] * audio track 0
[14:17:12] + decoder: Unknown (AC3) (5.1 ch) (track 1, id 80bd)
[14:17:12] + bitrate: 448 kbps, samplerate: 48000 Hz
[14:17:12] + mixdown: Dolby Pro Logic II
[14:17:12] + encoder: faac
[14:17:12] + bitrate: 128 kbps, samplerate: 48000 Hz
[14:17:12] reader: first SCR 146 id 224 DTS 22254
[14:17:12] mpeg2: "Chapter 1" (1) at frame 0 time 3003
[14:17:12] encx264: keyint-min: 24, keyint-max: 240
[14:17:12] encx264: Encoding at constant RF 20.961000
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64
[14:17:12] Rotate thread started for segment 0
[14:17:12] Rotate thread started for segment 1
x264 [info]: profile Baseline, level 3.0
No accelerated IMDCT transform found
[14:17:12] sync: expecting 10789 video frames
[14:17:12] sync: first pts is 3003
[14:17:12] sync: adding 433 ms of silence to audio 0 start 39039, next 0
Encoding: task 1 of 1, 100.00 % (47.45 fps, avg 46.12 fps, ETA 00h00m00s)[14:21:07] reader: done. 0 scr changes
Encoding: task 1 of 1, 100.00 %[14:21:07] sync: got 10838 frames, 10789 expected
[14:21:07] work: average encoding speed for job is 46.090405 fps
Encoding: task 1 of 1, 100.00 %[14:21:08] mux: track 0, 10838 frames, 42303155 bytes, 748.67 kbps, fifo 32
[14:21:08] mux: track 1, 21185 frames, 7229228 bytes, 127.94 kbps, fifo 256
[14:21:08] mpeg2 done: 10839 frames
[14:21:08] render: lost time: 0 (0 frames)
[14:21:08] render: gained time: 0 (0 frames) (0 not accounted for)
x264 [info]: frame I:212 Avg QP:18.61 size: 11485 PSNR Mean Y:46.06 U:49.72 V:50.40 Avg:46.97 Global:45.82
x264 [info]: frame P:10626 Avg QP:22.29 size: 3753 PSNR Mean Y:42.58 U:48.13 V:48.65 Avg:43.66 Global:42.32
x264 [info]: mb I I16..4: 21.5% 0.0% 78.5%
x264 [info]: mb P I16..4: 2.4% 0.0% 7.6% P16..4: 48.3% 22.7% 8.7% 0.7% 0.4% skip: 9.1%
x264 [info]: coded y,uvDC,uvAC intra: 69.3% 77.1% 37.5% inter: 27.8% 26.0% 1.2%
x264 [info]: i16 v,h,dc,p: 29% 19% 5% 47%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 18% 16% 7% 9% 9% 8% 7% 5%
x264 [info]: ref P L0: 82.2% 17.8%
x264 [info]: SSIM Mean Y:0.9751107
x264 [info]: PSNR Mean Y:42.645 U:48.160 V:48.689 Avg:43.724 Global:42.366 kb/s:748.79
Muxing: this may take awhile...[14:21:08] libhb: work result = 0
Rip done!
HandBrake has exited.
That means on this source, 0.9.4's preset is creating output that is only 5% larger. Where you get 100% from 5% I frankly do not know.
Now, maybe you weren't using 0.9.3's iPhone preset. Maybe you were using the entirely unsupported legacy iPhone preset. Only....that one set an average bitrate of 960kb/s, higher than the encoded bitrate of *any* variation I just tested.
If you don't want me to be rude, provide a more convincing argument.