HDcookbook - a place for Blu-ray Disc Java and GEM



Browse Source


BD-J Wiki



Welcome to the HD Cookbook source repository! This repository contains a set of tools that can be used for BD-J, OCAP, MHP and other GEM devices like GEM-IPTV. It includes tools for animation, for creating user experiences using a scene graph, and for creating Blu-ray disc images. The tools in this repository have been used for a number of commercial Blu-ray Disc titles from several studios, and as part of the production workflow from major names in the Blu-ray production industry. We welcome contributions, so if you have something you'd like to contribute, please do! All we ask is a little bit of coordination on package names, and a few simple formatting conventions.

If you are visiting out site for the first time, this FAQ page about the project might help you.

Here's what we have so far in our repository:

Under "AuthoringTools" directory, we have: Under "xlets" directory, we have various sample code, including: Under "DiscCreationTools" directory, we have various tools to assemble a Blu-ray Disc image, including:

This code is being used in production Blu-ray titles, including major studio releases.

Blu-ray Java resources

Many Blu-ray resources are listed at http://hdcookbook.jovial.com under "Blu-ray Disc Java Resources." This includes a BD-J discussion forum, the linked mailing list, and the BD-J Authoring Notes and Guidelines Wiki.

Playing a Blu-ray Disc Image at Home

By assembling the parts available here, you can build your own Blu-ray Disc image, and burn it to a rewritable BD-RE disc. This disc can be played almost all consumer players, including the PS3. You can also modify the BD-J code provided, or write your own. Soon, we hope to assmeble enough tools so you can build a disc image from scratch: We'd like it to be possible for folks who are interested to shoot their own HD footage, edit it with something like Final Cut, build the disc data structures, write code for the interactivity, and emerge with a BD-RE disc that will work on a normal Blu-ray player.

For everything but the disc image, you'll need to hook up to the SVN repository and do a bringover. That process is described in the java.net pages. When I wrote this, there was a link for "Subversion" under "Project tools" that explained how to do this.

For the disc image, look under "Documents & Files" on the menu bar on the right, then grab the file 2007_10_hdcookbook_disc_image_no_jar_bdjo.zip. The link to it is here. In 2022, this was archived at https://github.com/zathras/java.net/releases/download/1.0.1/hdcookbook_disc_image_without_java.zip. An earlier version from August is also available, but that version has an AACS directory and has content protection flags set in the transport streams. This was fixed in the October disc image, which is known to play correctly on a PS3 (once the xlets are compiled and added to the image).

A discussion forum for BD-J is available here, with a linked mailing list. Join the discussion here!


The contents of hdcookbook.dev.java.net are covered by this license.


Thanks to Tim Dunn for designing slick blu-colored icons for this page.

Thanks to all visitors to our bd-j forum, especially to our friends and partners who are providing answers and sharing valuable knowledge.

-- Bill