Handbrake GUI vs CLI

Discussion of the HandBrake command line interface (CLI)
Forum rules
An Activity Log is required for support requests. Please read How-to get an activity log? for details on how and why this should be provided.
Post Reply
JaSy
Posts: 9
Joined: Mon May 05, 2014 2:29 pm

Handbrake GUI vs CLI

Post by JaSy »

I've been using Handbrake GUI quite a while to convert .ts files generated
by TS Doctor into .mp4. This works quite well. However, trying to automate
the process a bit I wrote a bash script using HandbrakeCLI. Doing this I
tried to use the same parameters via CommandLine I used with the GUI
version before.

Unfortunately almost 50% of my newly created .mp4 files don't work after
Handbrake CLI has finished. I don't see any special pattern which files are
working / which not. In order to make sure there is no problem with the
input file I sent one (of the non working 50% after CLI) file through
through the Handbrake GUI and ... it worked.

Here is the activity log of the failed transcoding:

Code: Select all

[20:47:09] hb_init: starting libhb thread
HandBrake 0.9.9 (2013051800) - Darwin x86_64 - http://handbrake.fr
8 CPUs detected
Opening /Volumes/video/nicht funktioniert/Killer Elite 1080i TV/Killer Elite.ts...
[20:47:09] hb_scan: path=/Volumes/video/nicht funktioniert/Killer Elite 1080i TV/Killer Elite.ts, title_index=1
libbluray/bdnav/index_parse.c:162: indx_parse(): error opening /Volumes/video/nicht funktioniert/Killer Elite 1080i TV/Killer Elite.ts/BDMV/index.bdmv
libbluray/bdnav/index_parse.c:162: indx_parse(): error opening /Volumes/video/nicht funktioniert/Killer Elite 1080i TV/Killer Elite.ts/BDMV/BACKUP/index.bdmv
libbluray/bluray.c:1725: nav_get_title_list(/Volumes/video/nicht funktioniert/Killer Elite 1080i TV/Killer Elite.ts) failed (0x104003000)
[20:47:09] bd: not a bd - trying as a stream/file instead
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
[20:47:09] dvd: not a dvd - trying as a stream/file instead
[20:47:09] file is MPEG Transport Stream with 188 byte packets offset 0 bytes
[20:47:09] build_program_map - Continuity Counter 0 out of sequence - expected 16
[20:47:09] build_program_map - Continuity Counter 1 out of sequence - expected 16
[20:47:09] Found the following PIDS
[20:47:09]     Video PIDS : 
[20:47:09]       0xff type H.264 (0x1b) (PCR)
[20:47:09]     Audio PIDS : 
[20:47:09]       0x103 type AC3 (0x81)
[20:47:09]     Subtitle PIDS : 
[20:47:09]     Other PIDS : 
[20:47:09]       0x20 type DVB Teletext (0x0)
[20:47:09]       0x30 type DVB Subtitling (0x0)
[20:47:09] stream id 0x103 (type 0x81 substream 0x0) audio 0x103
[20:47:16] stream doesn't seem to have video IDR frames
[20:47:16] scan: decoding previews for title 1
[20:47:16] scan: audio 0x103: AC-3, rate=48000Hz, bitrate=384000 Deutsch (AC3) (5.1 ch)
[h264 @ 0x102806800] non-existing PPS referenced

Scanning title 1 of 1, preview 3, 30.00 %[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced

Scanning title 1 of 1, preview 6, 60.00 %[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced
[h264 @ 0x102806800] non-existing PPS referenced

Scanning title 1 of 1, preview 10, 100.00 %[h264 @ 0x102806800] non-existing PPS referenced
[20:47:17] scan: 10 previews, 1920x1080, 25.000 fps, autocrop = 142/142/0/0, aspect 16:9, PAR 1:1
[20:47:17] stream: 13 good frames, 0 errors (0%)
[20:47:17] libhb: scan thread found 1 valid title(s)
+ title 1:
  + stream: /Volumes/video/nicht funktioniert/Killer Elite 1080i TV/Killer Elite.ts
  + duration: 01:50:19
  + size: 1920x1080, pixel aspect: 1/1, display aspect: 1.78, 25.000 fps
  + autocrop: 142/142/0/0
  + chapters:
    + 1: cells 0->0, 0 blocks, duration 01:50:19
  + audio tracks:
    + 1, Deutsch (AC3) (5.1 ch) (iso639-2: deu), 48000Hz, 384000bps
  + subtitle tracks:
[20:47:17] 1 job(s) to process
[20:47:17] starting job
[20:47:17] sync: expecting 165481 video frames
[20:47:17] work: only 1 chapter, disabling chapter markers
[20:47:17] job configuration:
[20:47:17]  * source
[20:47:17]    + /Volumes/video/nicht funktioniert/Killer Elite 1080i TV/Killer Elite.ts
[20:47:17]    + title 1, chapter(s) 1 to 1
[20:47:17]  * destination
[20:47:17]    + /Volumes/video/nicht funktioniert/Killer Elite 1080i TV.Elite.mp4
[20:47:17]    + container: MPEG-4 (.mp4 and .m4v)
[20:47:17]  * video track
[20:47:17]    + decoder: h264
[20:47:17]      + bitrate 200 kbps
[20:47:17]    + frame rate: same as source (around 25.000 fps)
[20:47:17]    + filters
[20:47:17]      + Framerate Shaper (0:27000000:1080000)
[20:47:17]        + frame rate: same as source (around 25.000 fps)
[20:47:17]      + Crop and Scale (1920:796:142:142:0:0)
[20:47:17]        + source: 1920 * 1080, crop (142/142/0/0): 1920 * 796, scale: 1920 * 796
[20:47:17]    + dimensions: 1920 * 796, mod 2
[20:47:17]    + encoder: H.264 (x264)
[20:47:17]      + x264 preset: faster
[20:47:17]      + h264 profile: main
[20:47:17]      + h264 level: 4.0
[20:47:17]      + quality: 19.00 (RF)
[20:47:17]  * audio track 1
[20:47:17]    + decoder: Deutsch (AC3) (5.1 ch) (track 1, id 0x103)
[20:47:17]      + bitrate: 384 kbps, samplerate: 48000 Hz
[20:47:17]    + AC3 Passthru
[20:47:17] file is MPEG Transport Stream with 188 byte packets offset 0 bytes
[20:47:17] build_program_map - Continuity Counter 0 out of sequence - expected 16
[20:47:17] build_program_map - Continuity Counter 1 out of sequence - expected 16
[20:47:17] reader: first SCR 1169511720 id 0xff DTS 1169611681
[20:47:17] encx264: Encoding at constant RF 19.000000
x264 [warning]: --psnr used with psy on: results will be invalid!
x264 [warning]: --tune psnr should be used if attempting to benchmark psnr!
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI1 BMI2
x264 [info]: profile Main, level 4.0
[20:47:17] h264: "Chapter 1" (1) at frame 0 time 7200
[20:47:17] sync: adding 108 ms of silence to audio 0x103  start 9777, next 0
[20:47:17] sync: audio 0x103 time went backwards 19 ms, dropped 1 frames (start 12657, next 14400)
[20:47:17] sync: first pts is 7200
[21:16:26] sync: video time didn't advance - dropped 1 frames (delta 8 ms, current 323431197, next 323434076, dur 2879)
[21:39:28] hb_ts_stream_decode - eof
[21:39:28] reader: done. 3 scr changes
[21:39:28] reader: 2 drops because DTS out of range
[21:39:29] work: average encoding speed for job is 53.491093 fps
[21:39:29] sync: got 167596 frames, 165481 expected
[21:39:29] render: lost time: 0 (0 frames)
[21:39:29] render: gained time: 0 (0 frames) (0 not accounted for)
[21:39:29] h264-decoder done: 167597 frames, 0 decoder errors, 0 drops
x264 [info]: frame I:3293  Avg QP:15.93  size:118649  PSNR Mean Y:48.62 U:50.47 V:51.08 Avg:49.14 Global:48.65
x264 [info]: frame P:91197 Avg QP:18.87  size: 35715  PSNR Mean Y:47.01 U:49.30 V:49.84 Avg:47.59 Global:47.02
x264 [info]: frame B:73106 Avg QP:20.22  size: 11707  PSNR Mean Y:46.21 U:49.02 V:49.60 Avg:46.88 Global:46.24
x264 [info]: consecutive B-frames: 29.6% 32.1% 13.7% 24.6%
x264 [info]: mb I  I16..4: 41.0%  0.0% 59.0%
x264 [info]: mb P  I16..4: 28.0%  0.0%  8.2%  P16..4: 36.0% 13.3%  4.0%  0.0%  0.0%    skip:10.5%
x264 [info]: mb B  I16..4:  2.6%  0.0%  0.5%  B16..8: 30.8%  6.1%  0.3%  direct:19.3%  skip:40.4%  L0:37.3% L1:53.2% BI: 9.4%
x264 [info]: coded y,uvDC,uvAC intra: 39.4% 73.4% 25.9% inter: 20.4% 35.9% 2.8%
x264 [info]: i16 v,h,dc,p: 40% 23% 21% 15%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 23% 19%  6%  7%  6%  6%  5%  4%
x264 [info]: i8c dc,h,v,p: 50% 21% 23%  6%
x264 [info]: Weighted P-Frames: Y:1.0% UV:0.6%
x264 [info]: ref P L0: 76.4% 23.6%
x264 [info]: ref B L0: 84.0% 16.0%
x264 [info]: ref B L1: 94.9%  5.1%
x264 [info]: SSIM Mean Y:0.9863792 (18.658db)
x264 [info]: PSNR Mean Y:46.692 U:49.202 V:49.764 Avg:47.307 Global:46.685 kb/s:5374.28
MP4ERROR: File size exceeded 4 GB; output unplayable. Enable "Large file size" to fix it.
MP4ERROR: (m_size <= (uint64_t)0xFFFFFFFF): assert failure
[21:39:29] mux: track 0, 167596 frames, 4503561734 bytes, 5374.21 kbps, fifo 2048
[21:39:29] mux: track 1, 209499 frames, 321790464 bytes, 384.00 kbps, fifo 2048
[21:39:29] stream: 167600 good frames, 0 errors (0%)
[21:39:29] libhb: work result = 0

Encode done!
HandBrake has exited.
Do you have any idea what's wrong here? I'm quite happy with my automated
process but if the output is worthless...

fyi the Handbrake order which activates the program (Handbrake itself is
located in /usr/local/bin:

HandBrakeCLI -i $Datei -o $Ordner/$filename1.mp4 -e x264 -q 19.0 -a 1
-E copy:ac3 -B 160 -6 dpl2 -R Auto -D 0.0 --audio-copy-mask
aac,ac3,dtshd,dts,mp3 --audio-fallback ffac3 -f mp4 —-large-file —-decomb
—-detelecine —-crop —-loose-anamorphic --modulus 2 -m --x264-preset
veryfast --h264-profile main --h264-level 4.0


Hope somebody can help.
Last edited by s55 on Mon May 05, 2014 8:02 pm, edited 1 time in total.
Reason: Change to using Code blocks
Smithcraft
Veteran User
Posts: 2697
Joined: Thu Jan 22, 2009 8:04 pm

Re: Handbrake GUI vs CLI

Post by Smithcraft »

Please just put the encode logs in a code blocks rather than using a reduced size font and off color.

SC
vid.user
Posts: 28
Joined: Tue Dec 18, 2012 9:36 am

Re: Handbrake GUI vs CLI

Post by vid.user »

Code: Select all

MP4ERROR: File size exceeded 4 GB; output unplayable. Enable "Large file size" to fix it.
MP4ERROR: (m_size <= (uint64_t)0xFFFFFFFF): assert failure
Did you not see this in the log?
JaSy
Posts: 9
Joined: Mon May 05, 2014 2:29 pm

Re: Handbrake GUI vs CLI

Post by JaSy »

I thought I enabled "large file size" (see posted Commandline in my first post). Did I do something wrong in the line?

What does the second error mean? It's referring to the size as well - same message re/large file needed?
mduell
Veteran User
Posts: 8196
Joined: Sat Apr 21, 2007 8:54 pm

Re: Handbrake GUI vs CLI

Post by mduell »

The command you pasted is a mix of em-dash and en-dash, so several of your options are being ignored. Note both detelecine and decomb are not present in the log regarding filters since they have the same dash issue that large file size has.
JaSy
Posts: 9
Joined: Mon May 05, 2014 2:29 pm

Re: Handbrake GUI vs CLI

Post by JaSy »

Got it. Meaning the options

- large file
- decomb
- detelecine
- crop and
- loose-anamorphic

are not considered? Seems to be a paste-copy problem which changed the dashs. Will try it this evening with "--" instead of "---". The "--" dash shall be used with alle Handbrake options?

Another question re/ large files: If files > 4GB cause problems why is the "large file" option not activated as default. Within the GUI version I always ticked the "large file" box and never had problems even when the files were <4GB. Is there a disadvantage for files <4GB if the option "large files" is activated?

Last but not least a great thanks for the quick help. Hope this will solve the issue...
mduell
Veteran User
Posts: 8196
Joined: Sat Apr 21, 2007 8:54 pm

Re: Handbrake GUI vs CLI

Post by mduell »

JaSy wrote:The "--" dash shall be used with alle Handbrake options?
Dashes should be used as they appear in --help.
JaSy wrote:Another question re/ large files: If files > 4GB cause problems why is the "large file" option not activated as default. Within the GUI version I always ticked the "large file" box and never had problems even when the files were <4GB. Is there a disadvantage for files <4GB if the option "large files" is activated?
Compatibility; not all playback environments, particularly some reasonably popular devices, support "large file" (64-bit formatting).
JaSy
Posts: 9
Joined: Mon May 05, 2014 2:29 pm

Re: Handbrake GUI vs CLI

Post by JaSy »

Ok. That I understand it correctly - is there any disadvantage to use the "large file" option as default for all files irrespective of size or shall I split the script in (a) larger files with option and (b) smaller files without?
mduell
Veteran User
Posts: 8196
Joined: Sat Apr 21, 2007 8:54 pm

Re: Handbrake GUI vs CLI

Post by mduell »

No. A future release (and the current nightly) switches to a new MP4 muxer that does large file automatically if/when the output exceeds 4GB.
Post Reply