CELF Project Proposal/Create Bluray decoding library
- Create an OpenSource Bluray decoding library
- Benjamin Zores
With recent video decoding acceleration features (VDPAU, VAAPI and multi-threaded/core decoders), Linux now can compete efficiently on HomeTheater PC (HTPC) and embedded multimedia SetTopBox market.
One remaining drawback is the complete lack of Bluray movies decoding support. While nearly all video player (FFMpeg, MPlayer, Xine, Gstreamer, VLC) now are able to demux and decode H.264 & VC-1 MPEG-TS streams found on Bluray discs, none of them is able to directly read and decrypt content from an original disc.
This idea is to create a Bluray access and decrypt library that could be commonly used by all players. Several steps are required to do so:
- be OS portable and written in C, with embedded constraints in mind.
- support AES, SHA1 and ECC decoding, preferably by native implementation or through GnuTLS.
- decode MPLS playlist file format
- support AACS protection
- support BD+ protection
- support BD-J protection (hard, due to JVM)
Such a library has been initiated but development seems discontinued.
- libbluray: http://my-trac.assembla.com/libbluray/
- Sponsor Bluray drives to developers
- Buy Bluray association specifications (including protection mechanisms).
- Write a new lib based on existing work
- Polish its API for extensive media player projects usage
- Extend the on-the-fly decryption algorithms.
This should probably take up to a year of development and tests.
- Various people from GeeXboX project team already interested
- Probably random developers from MPlayer/Xine/VLC/Gstreamer projects.
If libbluray already exists, multimedia projects have already picked it up, and has a supported community, why should a new one be started? That project seems to still be updated considering patches are going into its git tree.