Log in

View Full Version : DumpHD - a HD-DVD / Blu-Ray Decrypter


Pages : 1 2 3 [4] 5 6 7 8 9

Durando
4th August 2008, 01:30
Trying to rip Blueray discs using DumpHD but get alot of these errors, I have UDF 2.5 patched into my kernal and the disc appears to be mounting correctly what am I doing wrong:

DumpHD 0.4 by KenD00

Opening Key Data File... OK
Initializing AACS... OK
Loading aacskeys library... OK
aacskeys 0.3.0 by arnezami, library port 0.3 by KenD00

Initializing source...
Source is a directory: using disc mode
Disc type found: BluRay BDMV
Searching /cdrom/BDMV for files...
/cdrom/BDMV/index.bdmv
/cdrom/BDMV/MovieObject.bdmv
Searching /cdrom/BDMV/PLAYLIST for files...
/cdrom/BDMV/PLAYLIST/00000.mpls
/cdrom/BDMV/PLAYLIST/00002.mpls
/cdrom/BDMV/PLAYLIST/00004.mpls
/cdrom/BDMV/PLAYLIST/00014.mpls
/cdrom/BDMV/PLAYLIST/00046.mpls
/cdrom/BDMV/PLAYLIST/00047.mpls
/cdrom/BDMV/PLAYLIST/00048.mpls
/cdrom/BDMV/PLAYLIST/00050.mpls
/cdrom/BDMV/PLAYLIST/00051.mpls
/cdrom/BDMV/PLAYLIST/00052.mpls
/cdrom/BDMV/PLAYLIST/00053.mpls
/cdrom/BDMV/PLAYLIST/00054.mpls
/cdrom/BDMV/PLAYLIST/00056.mpls
/cdrom/BDMV/PLAYLIST/00057.mpls
/cdrom/BDMV/PLAYLIST/00058.mpls
/cdrom/BDMV/PLAYLIST/00049.mpls
/cdrom/BDMV/PLAYLIST/00055.mpls
Searching /cdrom/BDMV/CLIPINF for files...
/cdrom/BDMV/CLIPINF/00000.clpi
/cdrom/BDMV/CLIPINF/00001.clpi
/cdrom/BDMV/CLIPINF/00003.clpi
/cdrom/BDMV/CLIPINF/00005.clpi
/cdrom/BDMV/CLIPINF/00016.clpi
/cdrom/BDMV/CLIPINF/00041.clpi
/cdrom/BDMV/CLIPINF/00049.clpi
/cdrom/BDMV/CLIPINF/00042.clpi
/cdrom/BDMV/CLIPINF/00043.clpi
/cdrom/BDMV/CLIPINF/00044.clpi
/cdrom/BDMV/CLIPINF/00045.clpi
/cdrom/BDMV/CLIPINF/00046.clpi
/cdrom/BDMV/CLIPINF/00047.clpi
/cdrom/BDMV/CLIPINF/00048.clpi
/cdrom/BDMV/CLIPINF/00050.clpi
/cdrom/BDMV/CLIPINF/00051.clpi
/cdrom/BDMV/CLIPINF/00052.clpi
Searching /cdrom/BDMV/STREAM for files...
/cdrom/BDMV/STREAM/00000.m2ts
/cdrom/BDMV/STREAM/00001.m2ts
/cdrom/BDMV/STREAM/00003.m2ts
/cdrom/BDMV/STREAM/00005.m2ts
/cdrom/BDMV/STREAM/00016.m2ts
/cdrom/BDMV/STREAM/00041.m2ts
/cdrom/BDMV/STREAM/00049.m2ts
/cdrom/BDMV/STREAM/00042.m2ts
/cdrom/BDMV/STREAM/00043.m2ts
/cdrom/BDMV/STREAM/00044.m2ts
/cdrom/BDMV/STREAM/00045.m2ts
/cdrom/BDMV/STREAM/00046.m2ts
/cdrom/BDMV/STREAM/00047.m2ts
/cdrom/BDMV/STREAM/00048.m2ts
/cdrom/BDMV/STREAM/00050.m2ts
/cdrom/BDMV/STREAM/00051.m2ts
/cdrom/BDMV/STREAM/00052.m2ts
Searching /cdrom/BDMV/AUXDATA for files...
/cdrom/BDMV/AUXDATA/sound.bdmv
Searching /cdrom/BDMV/META for files...
Searching /cdrom/BDMV/BDJO for files...
Searching /cdrom/BDMV/JAR for files...
Searching /cdrom/BDMV/BACKUP for files...
/cdrom/BDMV/BACKUP/index.bdmv
/cdrom/BDMV/BACKUP/MovieObject.bdmv
Searching /cdrom/BDMV/META/DL for files...
Searching /cdrom/BDMV/META/ES for files...
Searching /cdrom/BDMV/META/TN for files...
Searching /cdrom/BDMV/BACKUP/PLAYLIST for files...
/cdrom/BDMV/BACKUP/PLAYLIST/00000.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00002.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00004.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00014.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00046.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00047.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00048.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00050.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00051.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00052.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00053.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00054.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00056.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00057.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00058.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00049.mpls
/cdrom/BDMV/BACKUP/PLAYLIST/00055.mpls
Searching /cdrom/BDMV/BACKUP/CLIPINF for files...
/cdrom/BDMV/BACKUP/CLIPINF/00000.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00001.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00003.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00005.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00016.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00041.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00049.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00042.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00043.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00044.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00045.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00046.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00047.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00048.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00050.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00051.clpi
/cdrom/BDMV/BACKUP/CLIPINF/00052.clpi
Searching /cdrom/BDMV/BACKUP/BDJO for files...
Searching /cdrom/CERTIFICATE for files...
Searching /cdrom/CERTIFICATE/BACKUP for files...
Source initialized
Identifying disc... OK
DiscID : 16B4BDAEC71F421212C5DD7515790BB27F5999C5
Searching disc in key database...
Disc not found in key database
Retrieving keys from source...
aacskeys 0.3.0

Current path: /home/durando/dumphd_0.4

Processing key: 09F911029D74E35BD84156C5635688C0
Encrypted C-value: D25C30FCF61CE1AB508935DAE0FF00FD
Corresponding uv: 00000001

Decrypted C-value: 044371CEE534E25A9656F2D6424DF3E9
Media key: 044371CEE534E25A9656F2D6424DF3E8

Encrypted verification data: 518DE5508207E78D62E79EB5D9718B72
Decr verif data should be: 0123456789ABCDEF
Decrypted verification data: 0123456789ABCDEF48AB2BE054D12D57

Could not open drive, invalid drive type or mount device could not be found, aborting.


ERROR: DRIVETYPEMOUNT, errnr: -2


aacskeys ERROR: DRIVETYPEMOUNT, errnr: -2
Failed retrieving keys from source

KenD00
4th August 2008, 06:10
Hmm, strange, the device of the mount point cannot be found. Can you post the contents of your /proc/mounts file (with a disc beeing mounted)? What linux distro are you using?

:rolleyes:

Durando
9th August 2008, 21:56
I am running Ubuntu 8.04 Hardy, The contents of my /proc/mounts file while a blue ray disc is in drive are:

rootfs / rootfs rw 0 0
none /sys sysfs rw,nosuid,nodev,noexec 0 0
none /proc proc rw,nosuid,nodev,noexec 0 0
udev /dev tmpfs rw,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
/dev/disk/by-uuid/7aaefd3c-dbb5-4e65-b0d6-853801766d65 / ext3 rw,relatime,errors=remount-ro,data=ordered 0 0
/dev/disk/by-uuid/7aaefd3c-dbb5-4e65-b0d6-853801766d65 /dev/.static/dev ext3 rw,relatime,errors=remount-ro,data=ordered 0 0
tmpfs /var/run tmpfs rw,nosuid,nodev,noexec 0 0
tmpfs /var/lock tmpfs rw,nosuid,nodev,noexec 0 0
tmpfs /lib/modules/2.6.24-19-generic/volatile tmpfs rw,relatime 0 0
tmpfs /dev/shm tmpfs rw,relatime 0 0
devpts /dev/pts devpts rw,relatime 0 0
tmpfs /var/run tmpfs rw,nosuid,nodev,noexec 0 0
tmpfs /var/lock tmpfs rw,nosuid,nodev,noexec 0 0
securityfs /sys/kernel/security securityfs rw,relatime 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec 0 0
gvfs-fuse-daemon /home/durando/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=1000,group_id=1000 0 0
/dev/scd0 /media/cdrom0 udf ro,nosuid,nodev,relatime 0 0

KenD00
10th August 2008, 03:43
Ah, i see the problem. You are accessing the disc with /cdrom, that seems to be a symlink to the actual mountpoint and isn't in /proc/mounts, thats why aacskeys can't find the device. To make it work, access the disc directly with the mountpoint, in your case /media/cdrom0, then it will work. I will try to fix aacskeys to work in your situation.

:rolleyes:

Durando
10th August 2008, 08:40
Well I guess this is a moot point now anyways now I get a new error "The given Host Certificate / Private Key has been revoked by your drive.

So if I haven't misunderstood the current events in Blueray Ripping that means I am SOL unless I go into windows and run something that is commercial.

SvT
10th August 2008, 13:18
Well I guess this is a moot point now anyways now I get a new error "The given Host Certificate / Private Key has been revoked by your drive.

So if I haven't misunderstood the current events in Blueray Ripping that means I am SOL unless I go into windows and run something that is commercial.

Depending on your drive, Yes you are SOL.
See this post: http://forum.doom9.org/showthread.php?t=133988&highlight=Host+Certificate

Here you find DumpVID: http://forum.doom9.org/showthread.php?p=993782#post993782

Not sure this works for your drive :scared:

Succes. :)

KenD00
10th August 2008, 17:29
As SvT said, it depends on your drive. If this (http://forum.doom9.org/showthread.php?t=139522) doesn't work for you, then indeed you need windows and either a software player to grab the Volume ID with DumpVID or Anydvd HD. But if your disc contains BD+ you have to use Anydvd HD anyway because its the only program that can remove this protection.

:rolleyes:

Durando
13th August 2008, 05:37
Now that I have this movie ripped to my HDD what do I do to convert the m2ts files into a playable format

KenD00
13th August 2008, 16:14
Well, the m2ts files are playable except the disc is BD+ protected, in that case you can't use DumpHD to decrypt them and have to use AnyDVD HD, don't know if that protection can be removed if they are already ripped.

If you want to convert the files into another format please look in another section of this forum, this isn't a decrypting topic and i don't know much about that.

:rolleyes:

SamuriHL
14th August 2008, 04:15
Well, the m2ts files are playable except the disc is BD+ protected, in that case you can't use DumpHD to decrypt them and have to use AnyDVD HD, don't know if that protection can be removed if they are already ripped.


No, it can't. It has to be done on a disc with AACS. Once the AACS is removed, AnyDVD can't remove the BD+ stuff.

chavonbravo
16th August 2008, 20:36
I get an error opening an individual EVO file from gui on planet earth hddvd:

Error opening Media Key File ...HVDVD_TS/AACS/MKBROM.AACS

ERROR: LOADMKB, errnr: -1
aacskeys ERROR: LOADMKB, errnr: -1
Failed retrieving keys from source

Why is it looking for MKBROM in HVDVD_TS/AACS instead of AACS?

Edit: Happens when I selected a single file as source, instead of the root of the hddvd or bluray. When selecting root, all works fine. :) But this presents a problem if you only want to stream one file via command line. Can anything be done differently, am I missing something?

chavonbravo
16th August 2008, 22:28
Another question, as I already answered myself above, has anyone gotten streaming to work with this in linux? Mplayer and xine both don't work for me. Mplayer gives an error about not being able to seek backwards, and xine can't find a demux plugin. Playing from file works fine, but I'd really rather get this working by streaming.

Edit: okay, keep on answering myself. Mplayer needs a cache, so add a -cache 8192 to command line and it works. Xine is still a no go, which is what I'd prefer.

KenD00
17th August 2008, 16:06
Why is it looking for MKBROM in HVDVD_TS/AACS instead of AACS?


Because the author of DumpHD forgot to adjust the path passed to aacskeys to work as intended :D. As a workaround, just make sure that the disc is already in the key database (e.g. opening the disc from the GUI is enough) when using file streaming, then aacskeys isn't used and it should work fine.

:rolleyes:

Oopho2ei
19th August 2008, 07:58
Is the source code of DumpHD available?

KenD00
20th August 2008, 05:16
No, its not. Well, not yet. I wanted to release it someday, but not in its current stage. But i haven't touched it for almost a year now, there was no real reason to do so, the community was far behind the MKB revision and DumpHD was getting obsolete. However, the recent events changed that situation and i have the feeling i could invest some work again to make it "releasable". Now all i need is some time (and a working computer) :(.

:rolleyes:

chavonbravo
20th August 2008, 06:27
Well, after some manual java bytecode editing, modifying a constant, and adding a method to the class, got this working. Here is same 0.4 package with a different dumphd.jar that works with selecting a single file as well as the root directory of the disc.
(much better for streaming)


p.s. The value used in AACSDecrypter.class that is passed to GetKeys should be aacsdir.getParent() instead of srcDir.getPath(). This will work better, KenD00. Hope you do release the source some day. It's much easier to modify that than what I had to do. This works GREAT, thanks, I finally have bluray/hddvd working as I'd like. :)

KenD00
22nd August 2008, 02:26
The value used in AACSDecrypter.class that is passed to GetKeys should be aacsdir.getParent() instead of srcDir.getPath()

Yeah, for now that is a good solution, but this won't work with BDAV discs ;). Shame on me that you had to edit the bytecode but great work, thanks.

:rolleyes:

KenD00
20th September 2008, 19:29
I don't believe it myself, but after one year here comes a new version of DumpHD :D. The main new features are Blu-Ray Recordable support and a changed file mode. From the changelog:


2008-09-20: 0.45
- Experimental Blu-Ray Recordable support (with multiple CPS Units, BDMV, BDAV with Aux Directories and Thumbnails)
- Updated Key Database to version 1.3, new entry types: M (Media Key), B (Binding Nonce), P (Protected Area Key)
- DumpHD can now calculate the VUK / PAK if only the Media Key and Volume ID / Binding Nonce is given
- Replaced single file mode with multiple files mode (works only in CLI mode)
- ACAPacker now works with direct key retrieval too


The Blu-Ray recordable stuff is experimental because i couldn't test it, i don't have any AACS protected recording, so please test this feature and report back if it's not working. Because the current available accskeys version cannot process recordables fully automatic DumpHD can't either. You need to have at least the Media Key and the Binding Nonce of the disc in the key database to decrypt it.

The single file mode has been replaced by the multiple files mode, now you always have to select the root directory from the disc. To not process the whole disc, specify the files to process on the command line, they will be processed in the listed order. This feature does not work from the GUI yet, it's main purpose is to use it for streaming output.

I have updated the download links in the first post, download the new version from there.

:rolleyes:

CiNcH
20th September 2008, 20:24
Hey guys, just tried DumpHD. But I get the following error:


.....

The given Host Certficate / Private Key has been revoked by your drive.


ERROR: SENDHOSTCHAL: SK: 0x5, ASC: 0x6F, ASCQ: 0x00, errnr: -2


aacskeys ERROR: SENDHOSTCHAL: SK: 0x5, ASC: 0x6F, ASCQ: 0x00, errnr: -2
Failed retrieving keys from source


Does anybody know what that means?

Oopho2ei
20th September 2008, 21:03
I don't believe it myself, but after one year here comes a new version of DumpHD :D.
Thanks a lot! :)

Hey guys, just tried DumpHD. But I get the following error:
"The given Host Certficate / Private Key has been revoked by your drive."

It means your drive refuses to send you the volume id of the disc because the certificate which is used by dumphd/aacskeys has been revoked.

Now you can:
1. get a valid certificate(pub key)/private key pair
2. patch your firmware to bypass authentication
3. obtain the volume id by logging the communication between a licensed software player and your drive (sniffing)
4. use utilities like DumpVID
5. ask somebody who has the same disc, google, ...

I recommend to patch your drive but this option is only a few drives (LG, Plextor,...)

CiNcH
20th September 2008, 21:09
3. obtain the volume id by logging the communication between a licensed software player and your drive (sniffing)
4. use utilities like DumpVID

This is actually the same right? So DumpVID logs the communication between the drive (Lite-On DH-4O1S in my case) and a software player (PowerDVD). DumpVID did not grab any VID in my case. How long should this take? Guess a specific player is required?

Oopho2ei
20th September 2008, 22:17
This is actually the same right? So DumpVID logs the communication between the drive (Lite-On DH-4O1S in my case) and a software player (PowerDVD). DumpVID did not grab any VID in my case. How long should this take? Guess a specific player is required?
By logging i mean installing kernel hooks to basically place your logger in the chain of api calls which is executed for every packet which goes from and to the drive.

DumpVID is i think hammering the drive with requests for the volume id. After the authentication process is complete the drive may be asked for the volume id and DumpVID tries to be the first to ask that question. The drive will only answer that question once. This is not player dependent but keep in mind that these software players hack your kernel so your system won't behave the way it should be. You can try anti-rootkit tools to remove some of these hacks. These hacks are usually only active when the player runs. Also switching to an amd64 operating system might help.

CiNcH
20th September 2008, 22:24
OK, thanks for your explanation. Finally got the VID of my sample disc. How can I stuff this VID now into DumpHD?

KenD00
20th September 2008, 23:41
The drive will only answer that question once.
Uhm, no. The drive gives you the VID and anything else as many times as you ask it but only if your AGID is valid. And thats the problem, the software player invalidates it after it got its stuff, so the time frame is very small and if the hammer interval is too long you miss it.

How can I stuff this VID now into DumpHD?
You better stuff it directly into aacskeys so that it gives you the Volume Unique Key. Then you enter that one into the KEYDB.cfg (see that file for the format of the entries).

:rolleyes:

CiNcH
21st September 2008, 00:28
You better stuff it directly into aacskeys so that it gives you the Volume Unique Key. Then you enter that one into the KEYDB.cfg (see that file for the format of the entries).

Wow, quite a procedure. But got it working finally. Is there also the other way of stuffing the VID into DumpHD which then gets the VUK from aacskeys lib by itself? What is the advantage of your solution?

KenD00
21st September 2008, 19:43
There is no advantage, there is just no other way. If aacskeys does not work automatically you always have to make a database entry yourself. Of course, i could implement a way that if only the VID is present DumpHD passes this to the library, but this process is still not fully automatic because someone has to enter the VID into the database before. Beeing a lazy guy i burdened this step onto the users shoulders, if the user is able to acquire the VID manually he should also be able to acquire the VUK manually :D.

:rolleyes:

kkloster21
29th September 2008, 13:37
@KenD00:

i've tried running the new version of dumpHD (v 0.45) and the shell script doesn't work to run the program. i get the following error:

$ ./dumphd.sh
bash: ./dumphd.sh: /bin/bash^M: bad interpreter: No such file or directory

I am in the correct directory and have the proper permissions set on the file. the shell script for version 0.4 did work on my machine. I am running linux, 64-bit.

I am able to get the program (with GUI) running by executing the DumpHD.jar file but it is unable to load the aacskeys library, which the previous version is able to do. I get this error message:

DumpHD 0.45 by KenD00

Opening Key Data File... OK
Initializing AACS... OK
Loading aacskeys library... FAILED
no aacskeys in java.library.path
Direct key retrieval disabled, only keys from the database will be used


I don't know the java library path but version 0.4 of dumpHD never had any problem with this that i had to deal with.

Thanks to KenD00, arnezami and Oopho2ei for all the software and support.

TomZ
29th September 2008, 13:48
2 things :

1 - It's not ./dumphd.sh but sh ./dumphd.sh.

2 - You need a copy of libaacskeys.so and (not sure) aacskeys files taken from aacskeys source directory (another project).

'Z

kkloster21
29th September 2008, 15:52
thanks! it worked with sh ./dumphd.sh

i feel like an idiot.

funny though, it worked without the sh on the old version...

thanks again TomZ.

TomZ
29th September 2008, 16:11
You're welcome ;)

KenD00
29th September 2008, 23:29
1 - It's not ./dumphd.sh but sh ./dumphd.sh.

Um, no, this is not necessary. The script contains the proper header line so that you can start it directly. However, is uses bash instead of sh.

@kkloster21:
Don't you have bash on your system anymore? Although the error message doesn't seem to support this theory i otherwise can't explain why it runs with sh. What happens if you enter /bin/bash into a console?


2 - You need a copy of libaacskeys.so and (not sure) aacskeys files taken from aacskeys source directory (another project).

You need to have the files libaacskeys.so, ProcessingDeviceKeysSimple.txt and HostKeyCertificate.txt in the root directory of DumpHD.

:rolleyes:

kkloster21
30th September 2008, 13:32
the problem is solved for me - there was a strange character in the dumphd 0.45 sh script (a carriage return or a null character or something that doesn't show up). i deleted it and it works fine now.

sorry to have caused a big stink about it.

if anyone else has had this problem try this:

open the dumphd.sh file in a text editor and put the cursor just in front of the "java -server..." line and press backspace until there are no spaces between the "j" in java and the "s" in the bash on the first line. Then press enter (or return) twice to put the "java -server..." line on its own line in the script file with a line space in between the lines of code.

sorry if this is a stupid mini-howto but there may be people out there as green as me!

kkloster21
30th September 2008, 18:27
i have not been able to stream to mplayer (or vlc) from dumphd 0.45. i am still able to stream content to mplayer (but only audio to vlc, not video) using dumphd 0.4 but it doesn't work with v0.45. i think it is a problem with trying to stream multiple files to mplayer (since v0.45 now streams the entire disc instead of just one file at a time).

has anybody else been able to stream content to mplayer (instead of dumping it) using dumphd v0.45?

KenD00
1st October 2008, 07:09
About that problem with the shell script, its all my fault :D. I've build the zip under windows so all the files had windows line terminators, obviously bash doesn't like that.

DumpHD 0.4 could also stream the whole disc but in contrast to 0.45 as second option only one file. DumpHD 0.45 can stream multiple files in a specified order, but for this to work you have to specify them on the command line with the new switch --infile and use the disc root directory as input instead the file directly. And this does work with 0.45, only complete disc streaming of Blu-Rays is broken, and that is broken in 0.4 too :D.

I have uploaded a new version that should fix all these issues.

:rolleyes:

kkloster21
1st October 2008, 15:38
happy to report that dumphd v0.46 works for streaming blu-rays to mplayer! it worked when i input only the root disc location (for complete disc streaming) and also when i specified the main movie file with the --infile switch.

thanks KenD00!

kkloster21
7th October 2008, 04:53
KenD00:

there seems to be a problem streaming multiple files: dumphd doesn't work if you attempt to specify (with --infile:...) more than 8 files to stream consecutively. this can be a problem with movies such Ratatouille, which have 31 or so .m2ts files that need to be played (not in sequential order). is it possible (and not too difficult) for you to enable streaming of more than 8 user specified files with dumphd?

thanks again KenD00 for all your great work!

CiNcH
7th October 2008, 07:45
happy to report that dumphd v0.46 works for streaming blu-rays to mplayer!
Can somebody explain that one? So does this work on-the-fly without copying the content to HDD? Does mplayer read from stdout? How is this environment set up?

chavonbravo
7th October 2008, 07:53
Yes, you can stream to and read from stdout w/ dumphd and mplayer/xine, though xine doesn't like streams for some reason, only files on hdd.

kkloster21
7th October 2008, 13:44
@CiNcH

an example command line input for linux would be:

./dumphd.sh /media/cdrom1/ | mplayer -cache 8192 -demuxer lavf -aid 1 -channels 6 -

for windows i imagine it would look something like:

>Dumphd.cmd d:\ | mplayer -cache 8192 -demuxer lavf -aid 1 -channels 6 -

where all the -flag inputs are arguments to mplayer and the final "-" indicates to mplayer that it should read from stdout. (i'm not sure if it works exactly the same way in windows). i hope this helps.

Note that you will also need some other files in the directory that you run that from (besides the dumpHD program).

KenD00
8th October 2008, 19:39
there seems to be a problem streaming multiple files: dumphd doesn't work if you attempt to specify (with --infile:...) more than 8 files to stream consecutively.


And again, it's not DumpHD but the rather simple shell scripts :D. I'm not an expert in writing these so i used what i knew, because of that only at most 9 parameters get passed to DumpHD. Replace dumphd.sh with this:

#!/bin/bash

java -server -Djava.library.path=. -jar DumpHD.jar "$@"

For the windows side, replace DumpHD.cmd with this:

@java -server -jar DumpHD.jar %*

This way all the parameters get passed to DumpHD and you can specify as many files as you like. I won't make a new release for this small fix, it will be included later.


Has anyone tested DumpHD with BD recordables yet, i'd like to know if it handles them correctly because i can't test this myself.

:rolleyes:

XAvAX
8th October 2008, 22:00
Yes, you can stream to and read from stdout w/ dumphd and mplayer/xine, though xine doesn't like streams for some reason, only files on hdd.

It's jut that Xine doesn't accept '-' to mean stdin. Try 'stdin://' instead.

chavonbravo
9th October 2008, 02:02
It's jut that Xine doesn't accept '-' to mean stdin. Try 'stdin://' instead.

Yes, that's what I'd used. It can't find a demuxer when it's stdin:// for me. Only works in file mode.

XAvAX
9th October 2008, 05:48
Yes, that's what I'd used. It can't find a demuxer when it's stdin:// for me. Only works in file mode.

Hm. Try this:
xine --verbose <file> | grep 'xine: found demuxer plugin:'

on one of the files from a decryption. The line should be in the format
xine: found demuxer plugin: <word> demux plugin

Take the first word of "<word> demux plugin", and when you next go to play it via streaming, try to pipe it into
xine stdin:// demux:<word>

chavonbravo
9th October 2008, 17:52
Even then it's pointless, as it can't decode vc1. For some reason, xineplug_decode_ff doesn't use the ffvc1 codec.

KenD00
8th November 2008, 22:57
Today i'm proud to present you DumpHD 0.5.

This new version adds experimental BD+ support to DumpHD :). This feature isn't fully automatic and only works in CLI mode currently. It requires that you already have the BD+ Conversion Table from the movie. To get this file, you can use the BDVM Debugger 0.1.1 (http://forum.doom9.org/showthread.php?p=1208974#post1208974). Then simply specify this file on the command line with the new switch --convtable:<file> and BD+ gets removed too.

I have also updated ConvTableView (links in the first post) to do some structural sanity checks when reading a Conversion Table. If your movie doesn't decrypt succesfully open the Conversion Table with this tool and check if the log displays any messages.

The current implementation of the BD+ stuff isn't very clean, DumpHD is quite AACS centric and changing this will need some time. Also using the BDVM Debugger to get the Conversion Table automatically isn't that easy, so don't expect this to happen soon (and the BDVM itself needs work too).

Because i plan to make bigger changes to the source and don't know when this will happen and because i have promised that earlier this release includes something more than all the previous ones: the full source code of DumpHD under the GPLv3.
Now for every aspect of decrypting a commercial HD-DVD / Blu-Ray the source code is available, maybe this will help to get smoother playback on platforms not intended by the big movie studios ;).

:rolleyes:

kkloster21
9th November 2008, 20:59
KenD00 -

thanks for implementing this into dumpHD!

i've tried using dumphd-0.5 with the convtable flag and i haven't been able to get it to work. i checked the tables in your convtableview and the log says they loaded successfully. could it be a problem with the location of the files? i know that the infile flag looks for the file relative to the source directory (i.e. /media/cdrom1 or whatever). could it be looking in the wrong place for the conv_tab.bin?

/dumphd-0.5/dumphd.sh --infile:BDMV/STREAM/00000.m2ts --convtable:live_free_or_die_hard_tab.bin /media/cdrom1/ | mplayer -cache 8192 -lavdopts threads=4 -aid 4352 -channels 6 -
MPlayer dev-SVN-r27902-4.3.2 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Core(TM)2 Quad CPU Q9450 @ 2.66GHz (Family: 6, Model: 23, Stepping: 7)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Playing -.
Reading from stdin...
Cache fill: 0.00% (0 bytes)


Exiting... (End of file)


this is all i get from the console - not very helpful. if there is any other info i can give you please let me know.

thanks again for all your hard work!

KenD00
9th November 2008, 22:21
I tried to reproduce your result and indeed it happens if the conversion table file isn't found. The --convtable switch takes the file as given, that means if the path is not absolute it is resolved against the current directory. You have given only the filename so it looks for the file in the current directory, regarding your given console output this is /dumphd-0.5, check if your conversion table is there too.

Looks like you made the console dump by appending the > operator behind the whole command, this won't work because it grabs only the output from the program at the end of the pipe (in your case mplayer), maybe its also a problem because DumpHD writes it output to stderr and not stdout, i'm not sure. Anyway, its possible to grab the output from DumpHD but i remember it is difficult and so i forgot how :D.

:rolleyes:

kkloster21
9th November 2008, 23:41
the convtable file is in the current directory, i double checked. i tried giving an absolute address also - same result.

i'm not sure what you mean about the > operator, i haven't used it in the command. i'm just piping to mplayer, which has always worked with previous versions of dumpHD. is there something else i'm doing wrong?

KenD00
10th November 2008, 01:43
Usually, if you want to get the console output from a program, you do something like that
ls > output.txt
this saves you from copy pasting the stuff from the console window. But well, thats not the problem here.

Your console dump shows that the problem lies in DumpHD, it doesn't stream anything to mplayer. If its not the conversion table, then its something else. Just start DumpHD as you would but don't pipe the output to mplayer and give a destination (if you don't your console gets crazy :eek:) then you should be able to see the messages from DumpHD. If you can't solve the problem post the output here and i take a look.

:rolleyes:

kkloster21
10th November 2008, 02:32
KenD00 -

here is the output i get when i don't pipe to mplayer:

/dumphd-0.5/dumphd.sh --infile:BDMV/STREAM/00000.m2ts --convtable:live_free_or_die_hard_tab.bin /media/cdrom1/
Unknown long option: "convtable:live_free_or_die_hard_tab.bin"


(its the same as if i type "> output.txt" and copy and paste that.) i've never seen "unknown long option" before. do you know what it means? i tried looking around to find out but i didn't find anything useful.