Playing DVD in JavaScript for the sake of interoperability
For more details on this project, have a look at the video of the talk I gave at JS Conf 2014.
The slide deck is also available.
This deprecated branch contains the original attempt to play DVD in the browser on-the-fly. It turns out it's not quite possible right now.
For the DVD converter that is currently being worked on, look into the
converter branch.
I ported libdvdread and libdvdnav to JavaScript. This project uses a server / client architecture. Communication is achieved via binary WebSockets.
- Client:
- parses IFO files
- runs the VM
- requests portions of the video (assembled using Media Source Extension)
- decodes the subpictures (not implemented yet)
- Server:
- sends IFO files
- sends bits of preencoded video to Webm
- extracts and sends the NAV packets from VOB files
- Chrome desktop
- Firefox desktop (requires the
media.mediasource.enabledflag to be activated) - IE11 on Windows 8 (untested + webm plugin required)
- Opera desktop > 15 (probably)
Yes, please, use it, open issues and send pull requests.
There are several reasons:
- I am frustrated with the current VOD offer and I don't want to watch movies or TV series on my mobile if I already own the DVD.
- I noticed I'm listening to my CD more often now that I'm using Google Play Music and am looking for a similar solution for my DVD.
There's more in DVD than the video. You can select audio track, subtitles, navigate through the menu, play interactive game or browse a gallery of still images.
I wanted to understand the logic in the JavaScript.
Also I don't do C and wasn't even able to compile the programs coming with libdvdread and libdvdnav on my PC... ^^;