[mythtv-users] Playback of encrypted dvd iso images from storage group

Lawrence Rust lvr at softsystem.co.uk
Sun Nov 27 12:52:17 UTC 2011


I use my Myth box to, amongst other things, play and archive DVDs.  For
this reason, back in May I presented a patch to reinstate the ripping of
DVD ISO images and the myth transcode daemon:

This had limited appeal, partly because the ripped images are encrypted
and thus can't be played back from a storage group using the myth wire

I had a flash of inspiration a few weeks ago and realised that it would
be possible to read the raw iso image blocks on the BE using
libdvdreader which would then use libdvdcss, if available, and send them
to the FE in decrypted form.

For iso images I replaced the current FileRingBuffer with a class that
uses libdvdread to decrypt the raw blocks.  The real heart of the change
is in creating a list of blocks that need decrypting and then in
safe_read() lookup the blocks requested in that list and decrypt them if
necessary.  The lookup is necessary since, if a block is unencrypted
like ifo files, the decryption operation corrupts the data.

I've been using the patch for a couple of weeks now on fixes/0.24.1.  So
if anyone else would like to try the patch for current git fixes/0.24.1:
or for current git master:

I'm well aware that several devs have publicly criticised my
contributions (NIH is a wonderful virtue), and that anything to do with
media copying, ripping and decryption is taboo, so it's pointless
submitting these patches to Trac.

If you're using my mythbuild.sh script to build or cross compile MythTV
from sources on Linux or Windows (www.softsystem.co.uk/mythtv/index.htm)
then these patches, together with the patch to add DVD ripping, are
included in the latest patch set which is downloaded automatically by
mythbuild.sh.  NB if you have an existing mythpatches-0.24 folder then
delete that first to get an update.

Comments and suggestions welcome.


More information about the mythtv-users mailing list