Why aren't BluRay ISOs supported?

HandBrake for Windows support
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
WhosAsking
Posts: 45
Joined: Fri Jul 03, 2009 1:40 pm

Why aren't BluRay ISOs supported?

Post by WhosAsking »

Basically, what I wrote in the subject. DVD ISOs are supported but not BluRay ones, even though the guide recommends copying contents if possible to the hard drive before continuing (assuming you're not trying to copy a protected disc).

I wanted to learn more about this issue before making this a feature request.

I strongly suspect this is down to the code used to handle the ISOs is written, but I just want to know for sure if this is why BluRay ISOs are not supported yet.
User avatar
s55
HandBrake Team
Posts: 10347
Joined: Sun Dec 24, 2006 1:05 pm

Re: Why aren't BluRay ISOs supported?

Post by s55 »

They are supported, but only in nightly builds. libbluray only recently got support for it.
User avatar
JohnAStebbins
HandBrake Team
Posts: 5709
Joined: Sat Feb 09, 2008 7:21 pm

Re: Why aren't BluRay ISOs supported?

Post by JohnAStebbins »

Bluray ISOs are supported in the HandBrake nightly builds.

DVD ISO reading is built in to libdvdread. libbluray did not have a built-in ISO reader. But recently, a new stand-alone ISO reader has been developed (libudfread) by the folks supporting libbluray and this has been included in the HandBrake nightly builds. Eventually, this new library will also replace the ISO reading code in libdvdread.
WhosAsking
Posts: 45
Joined: Fri Jul 03, 2009 1:40 pm

Re: Why aren't BluRay ISOs supported?

Post by WhosAsking »

Thanks for the update and details. It helps a lot to know just why something's the way it is, and I look forward to BluRay ISO support eventually reaching the mainstream release. In the meantime, I can get by with using Daemon Tools to mount the ISOs as a virtual drive.
Deleted User 11865

Re: Why aren't BluRay ISOs supported?

Post by Deleted User 11865 »

For such simple things as mounting ISO images, there are freeware alternatives (e.g. Virtual CloneDrive).
WhosAsking
Posts: 45
Joined: Fri Jul 03, 2009 1:40 pm

Re: Why aren't BluRay ISOs supported?

Post by WhosAsking »

Daemon Tools Lite IS freeware. And as long as you don't use their front end (use the shell extensions instead), you don't get nagged.
WhosAsking
Posts: 45
Joined: Fri Jul 03, 2009 1:40 pm

Re: Why aren't BluRay ISOs supported?

Post by WhosAsking »

I am trying svn7261 right now, but it won't read BluRay ISOs I have (they're made by DVDFab but Daemon Tools Lite can read them). It simply reports no titles found. Are there differing standards concerning them, and if so, which program(s) make ISOs compatible with the nightly? Or has the support been pulled for the time being?

I'm asking because I seem to be having issues causing my computer to seize during encoding, usually during the second pass (it's persisting at this time). I'm not making a specific request concerning this yet because I'm still trying to isolate the cause, and switching from the virtual drive to ISO might help to eliminate candidates. For now, I'll try with extracted contents, which this seems to support.
Deleted User 11865

Re: Why aren't BluRay ISOs supported?

Post by Deleted User 11865 »

Scan log please.
WhosAsking
Posts: 45
Joined: Fri Jul 03, 2009 1:40 pm

Re: Why aren't BluRay ISOs supported?

Post by WhosAsking »

OK, I found it. Like I said, this ISO comes from DVDFab. The ISO by itself doesn't work, but when I mount the image (Daemon Tools Lite can read it) and copy the contents, that can be read.
---

Code: Select all

[09:49:46] hb_init: starting libhb thread
# Starting Scan ...
[09:49:47] CPU: Intel(R) Core(TM)2 Quad  CPU   Q9450  @ 2.66GHz
[09:49:47]  - logical processor count: 4
[09:49:47] OpenCL device #1: Advanced Micro Devices, Inc. Barts
[09:49:47]  - OpenCL version: 1.2 AMD-APP (1411.4)
[09:49:47]  - driver version: 1411.4 (VM)
[09:49:47]  - device type:    GPU
[09:49:47]  - supported:      YES
[09:49:47] Intel Quick Sync Video support: no
[09:49:47] hb_scan: path=M:\VOLUME_ID.iso, title_index=0
udfread ERROR: read metadata file 0: unexpected tag -1
udfread ERROR: read metadata file 1: unexpected tag -1
udfread ERROR: unknown partition 1
udfread ERROR: unhandled tag -1 in File Set Descriptor area
udfread ERROR: didn't find File Set Descriptor
src/libbluray/disc/disc.c:251: failed opening UDF image M:\VOLUME_ID.iso
src/libbluray/disc/disc.c:332: error opening file BDMV\index.bdmv
src/libbluray/disc/disc.c:332: error opening file BDMV\BACKUP\index.bdmv
[09:49:47] bd: not a bd - trying as a stream/file instead
libdvdnav: Using dvdnav version 5.0.1
libdvdread: Encrypted DVD support unavailable.
libdvdread:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdread:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdnav: vm: failed to read VIDEO_TS.IFO
[09:49:47] dvd: not a dvd - trying as a stream/file instead
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
[mp3 @ 00000000008c62c0] Header missing
Input #0, mp3, from 'M:\VOLUME_ID.iso':
  Duration: 380:16:05.12, start: 0.000000, bitrate: 160 kb/s
    Stream #0.0: Audio: mp1, 44100 Hz, stereo, s16p, 160 kb/s
[09:49:48] hb_stream_open: open M:\VOLUME_ID.iso failed
[09:49:48] scan: unrecognized file type
[09:49:48] libhb: scan thread found 0 valid title(s)
# Scan Finished ...
As for my other issue (seizing up during encoding), using contents still caused a seize, I'm trying without GPU acceleration (DXVA/OpenCL) to see if it's the video card that's crashing (making it likely a local issue for me--poor thing's a bit old and has seized up before).

UPDATE: The seizing can be disregarded. It seems to have been a combination of an old video card and a bad extraction. I tried it again fresh using a directory extract rather than an ISO (without OpenCL the program simply hung in place, but I could still force it closed and retry), and it worked out. It may help to note that content extraction rather than ISO extraction is probably the better way to encode from a BluRay source.
Post Reply