Failing to create Preset to encode *to* Blu-Ray

Discuss encoding for devices and presets.
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
Stefan
Posts: 3
Joined: Wed Jul 30, 2008 12:04 am

Failing to create Preset to encode *to* Blu-Ray

Post by Stefan »

Hi,

I would like to create a preset for encoding *to* Blu-ray. I do know that HandBrake cannot output a BluRay ISO or even a MPEG2 transport stream, but for that I could use tsMuxer (would be great if Handbrake had the option to call an external tool after encoding is finished). What I want is creating a MKV file that contains Blu-ray compatible H.264 and audio.
I personally have no problem using x264/ffmpeg etc. using pipes and command-line, but I would like to create this preset for someone else (I honestly haven't used Handbrake in decades, it's the tool I recommend other people for transcoding video, who don't like using command-line).

I would like to create a preset "720p50 Blu-ray PAL", with this options:
  • Forced resolution of 1280x720. If source is not 16:9 aspect ratio, add black bars to fit. Crop only if otherwise black bars would have to be added.
  • Upscaling if necessary would be great with nnedi3
  • Forced frame-rate of 50 fps. Duplicate or drop frames as needed.
  • Deinterlace with bwdif if source is marked interlaced. Double framerate by deinterlacing (50i->50p)
  • Custom x264 options: --bluray-compat --vbv-maxrate 40000 --vbv-bufsize 30000 --level 4.1 --keyint 50 --open-gop --slices 4 --colorprim "bt709" --transfer "bt709" --colormatrix "bt709" --sar 1:1
  • Color-space conversion to bt709 if something else is indicated in the source, if source is SD (720x576 max) without any marker, assume bt601
  • Two-pass encoding, target bitrate should depend on length of the movie: Maximum average of 20000 kBit/s, minimum average of 10000 kBit/s, should be depending on audio bitrate and video length to ensure to fit on a 25GB Blu-ray disc.
  • Pass-through AC-3/DTS if possible, if not choose the highest bitrate audio track and decode to PCM (I know FLAC is lossless, but that doesn't help me for Blu-ray), resample to 48 kHz if necessary
Description of problem or question:
Fail to create a preset to encode to Blu-Ray: As soon as I safe the preset height goes down to 480ps. Is this a bug or am I doing something wrong?
What of my ideas above are possible with HandBrake?


Steps to reproduce the problem (If Applicable):




HandBrake version (e.g., 1.0.0):
1.6.1


Operating system and version (e.g., Ubuntu 16.04 LTS, macOS 10.13 High Sierra, Windows 10 Creators Update):
Ubuntu 22.04 LTS



HandBrake Activity Log ***required*** (see How-to get an activity log)
This is pretty useless, because it has not registered anything I chnaged in the settings, only the the random source file I opened (the preset should work with *any* source file)

Code: Select all

[13:22:20] gtkgui: HandBrake 1.6.1 (2023012300) - Linux x86_64 - https://handbrake.fr
[13:22:20] Compile-time hardening features are enabled
[13:22:20] qsv: not available on this system
Cannot load libnvidia-encode.so.1
[13:22:20] hb_init: starting libhb thread
[13:22:20] hb_init: starting libhb thread
[13:22:20] hb_init: starting libhb thread
[13:22:20] gtkgui: Failed to read presets file, initializing new presets...
** Message: 13:22:20.346: udev: Failed to lookup device /dev/nvme0n1
** Message: 13:22:20.346: udev: Failed to lookup device /dev/sda
** Message: 13:22:20.346: udev: Failed to lookup device /dev/sdc
** Message: 13:22:20.346: udev: Failed to lookup device /dev/sdd
** Message: 13:22:20.346: udev: Failed to lookup device /dev/sde
** Message: 13:22:20.346: udev: Failed to lookup device /dev/sr0
** Message: 13:22:20.346: udev: Failed to lookup device /dev/sdf
** Message: 13:22:20.346: udev: Failed to lookup device /dev/sdg
** Message: 13:22:20.346: udev: Failed to lookup device /dev/sdh
** Message: 13:22:20.346: udev: Failed to lookup device /dev/sdi
** Message: 13:22:20.346: udev: Failed to lookup device /dev/sdj
** Message: 13:23:24.540: udev: Failed to lookup device /dev/nvme0n1
** Message: 13:23:24.541: udev: Failed to lookup device /dev/sda
** Message: 13:23:24.541: udev: Failed to lookup device /dev/sdc
** Message: 13:23:24.541: udev: Failed to lookup device /dev/sdd
** Message: 13:23:24.541: udev: Failed to lookup device /dev/sde
** Message: 13:23:24.541: udev: Failed to lookup device /dev/sr0
** Message: 13:23:24.541: udev: Failed to lookup device /dev/sdf
** Message: 13:23:24.541: udev: Failed to lookup device /dev/sdg
** Message: 13:23:24.541: udev: Failed to lookup device /dev/sdh
** Message: 13:23:24.541: udev: Failed to lookup device /dev/sdi
** Message: 13:23:24.541: udev: Failed to lookup device /dev/sdj
[13:25:09] CPU: AMD Ryzen 9 5900X 12-Core Processor            
[13:25:09]  - logical processor count: 24
[13:25:09] Intel Quick Sync Video support: no
[13:25:09] hb_scan: path=/home/stefan/album/Album2022.ts, title_index=0
udfread ERROR: ECMA 167 Volume Recognition failed
disc.c:333: failed opening UDF image /home/stefan/album/Album2022.ts
disc.c:437: error opening file BDMV/index.bdmv
disc.c:437: error opening file BDMV/BACKUP/index.bdmv
[13:25:09] bd: not a bd - trying as a stream/file instead
libdvdread: DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav: vm: vm: failed to read VIDEO_TS.IFO
[13:25:09] dvd: not a dvd - trying as a stream/file instead
[13:25:09] file is MPEG Transport Stream with 188 byte packets offset 0 bytes
[13:25:09] Probing 1 unknown stream
[13:25:12] hb_ts_stream_decode - eof
[13:25:12] hb_ts_stream_decode - eof
[13:25:12] Found the following PIDS
[13:25:12]     Video PIDS : 
[13:25:12]       0x17de type H.264 (0x1b) (PCR)
[13:25:12]     Audio PIDS : 
[13:25:12]       0x17e8 type MPEG1 (0x3)
[13:25:12]       0x17e9 type MPEG1 (0x3)
[13:25:12]       0x17ea type AC3 (0x81)
[13:25:12]       0x17eb type MPEG1 (0x3)
[13:25:12]     Subtitle PIDS : 
[13:25:12]       0x17f3 type DVB Subtitling (0x0)
[13:25:12]     Other PIDS : 
[13:25:12]       0x17f2 type DVB Teletext (0x0)
[13:25:12]       0x17f4 type ISO 13818-1 PES private data (0x6)
[13:25:12]       0x181a type ISO 13818-1 private section (0x5)
[13:25:12] stream id 0x17e8 (type 0x3 substream 0x0) audio 0x17e8
[13:25:12] stream id 0x17e9 (type 0x3 substream 0x0) audio 0x17e9
[13:25:12] stream id 0x17ea (type 0x81 substream 0x0) audio 0x17ea
[13:25:12] stream id 0x17eb (type 0x3 substream 0x0) audio 0x17eb
[13:25:12] stream id 0x17f3 (type 0x0 substream 0x0) subtitle 0x17f3
[13:25:12] scan: decoding previews for title 1
[13:25:12] file is MPEG Transport Stream with 188 byte packets offset 0 bytes
[13:25:12] Probing 1 unknown stream
[13:25:14] hb_ts_stream_decode - eof
[13:25:14] hb_ts_stream_decode - eof
[13:25:14] scan: audio 0x17e8: mp2, rate=48000Hz, bitrate=128000 Deutsch (MPEG) (2.0 ch) (128 kbps)
[13:25:14] scan: audio 0x17e9: mp2, rate=48000Hz, bitrate=128000 Unknown (MPEG) (2.0 ch) (128 kbps)
[13:25:14] scan: audio 0x17eb: mp2, rate=48000Hz, bitrate=128000 Unknown (MPEG) (2.0 ch) (128 kbps)
[13:25:14] scan: audio 0x17ea: ac3, rate=48000Hz, bitrate=448000 Deutsch (AC3) (2.0 ch) (448 kbps)
[13:25:14] stream: 12 good frames, 0 errors (0%)
[13:25:14] scan: 10 previews, 1280x720, 50,000 fps, autocrop = 0/2/0/0, aspect 16:9, PAR 1:1, color profile: 1-1-1, chroma location: left
[13:25:14] libhb: scan thread found 1 valid title(s)
mduell
Veteran User
Posts: 8187
Joined: Sat Apr 21, 2007 8:54 pm

Re: Failing to create Preset to encode *to* Blu-Ray

Post by mduell »

Post the encoding log from trying to use your preset so we can see how many of your desired settings you're missing/failing.
Deleted User 11865

Re: Failing to create Preset to encode *to* Blu-Ray

Post by Deleted User 11865 »

Upscaling with nnedi3 specifically is not possible with HandBrake (it always use lanczos via either swscale or zscale).

Automatic crop/pad to fit a specific aspect ratio is not possible with HandBrake (but can be done manually).

Decoding to PCM is not possible with HandBrake.

Authoring fully Blu-ray compliant bitstreams is not possible with HandBrake (although some software will accept HandBrake's output despite it not being technically 100% compliant).

Deinterlacing with bwdif is not possible with HandBrake (it mostly uses yadif with a few exceptions I cannot recall from memory).

For one thing, it looks like you're expecting HandBrake to be an ffmpeg front-end, which it isn't.
I personally have no problem using x264/ffmpeg etc. using pipes and command-line, but I would like to create this preset for someone else (I honestly haven't used Handbrake in decades, it's the tool I recommend other people for transcoding video, who don't like using command-line).

[…]
Those requirements are possibly too complex to be automated in a way that is accessible to a "regular Joe"; if I really had to do something like this, I'm not even sure shell scripting would cut it, I'd probably look into writing a dedicated piece of software for it (that leverages other tools, x264, ffmpeg, mediainfo, possibly sox and several others), or maybe just decide that it's not worth it in the first place.
Post Reply