[SOLVED] USB DVD Playback on a Raspberry Pi

  • I want to play commercial DVD movies with a Raspberry Pi and a connected USB DVD drive.

    I want to play DVD's with region code 1 and 2 (US and Europe).

    I haven't bought the USB DVD drive yet, because I need to know some facts before.
    To buy the right USB DVD drive, I need to know how LibreELEC plays region encoded DVD's.

    a) Does LibreELEC use the region code of the USB DVD drive?

    (I need an unlimited change of regions, region encoded DVD drives allow only a limited count of region changes)

    b) Or does LibreELEC breaks the DVD-CSS copyright protection (using libdvdcss) to avoid region codes?

    (that ignores any region codes from DVD and USB DVD drive, and decodes DVD files without using it)

    On case a) I should buy a region free USB DVD drive.

    On case b) I have a wider range of region encoded USB DVD drives available on the market.


    Thanx for answering!

    Da Flex

  • You will probably need a drive with an RPC1 firmware.

    Also, Kodi is not a great solution for DVD playback, especially on RPi (issues with menus, etc). Any standalone player will do a much better job.

  • You will probably need a drive with an RPC1 firmware.

    Also, Kodi is not a great solution for DVD playback, especially on RPi (issues with menus, etc). Any standalone player will do a much better job.

    Just to translate it for other readers: RPC1 means region free playback (all DVD region codes playable).

    Using libdvdcss could be the reason for DVD menu issues. I have seen those issues with VLC on PC too, which uses libdvdcss.

    So, understanding what LibreELEC does with DVD's is really important here.

  • After some more research, it looks like Kodi / LibreELEC has to use libdvdcss to play DVD's:

    XBMC/Kodi uses a video-player 'core' for video-playback called "DVDPlayer". This in-house developed cross-platform media player was originally designed to play back DVD-Video movies, and this includes support native for DVD-menus, (based on the free open source libraries code libdvdcss and libdvdnav).


    I guess stand-alone DVD players are using licensed software (maybe hard-coded in a chip). That would mean, libdvdcss (and libdvdnav) is a re-implementation of licensed and non-public software. That may be the reason for some issues, especially on DVD menus. Using libdvdcss is legal in many countries, but not everywhere.

    With libdvdcss region codes can be ignored for most (maybe not all) external DVD players. The region code has to be initialized for some players by selecting one region first - see here. The region code of the player can be set to "not forced" at "Settings" -> "Player" -> "Discs" -> "Forced DVD player region". I'm not sure what this option does. Does it ignore the players region code, or is it still in use when "off"?

  • Today I was able to test a USB DVD drive on my Ubuntu Linux PC (VLC player), using region code 1 and 2 DVD's. Some DVD's work, some don't. On Windows 10 (64 bit), using the built in "Windows DVD-Player", some DVD's don't work, too.

    Funny thing: My internal PC DVD player works with some DVD's, who are unable to start in the external DVD player. I think the DVD copyright protection produces different results on different DVD drives.

    So, there is no more need to try the USB DVD drive on Raspberry Pi - the drive failed. It's a game of luck (different DVD copyright protection), if some DVD works or not.

    I have to use a stand-alone region-free DVD player. It's a libdvdcss and hardware issue, not a LibreELEC issue. Problem solved.

  • It depends on the specific hardware. In some cases you can flash the firmware to be region free accepting any disc forevermore without extra input. In other cases the drive will still behave as if region locked; it will prompt for a region change and counts down the number of allowed region changes until zero is reached and it self-resets back to 5-6 attempts remaining (or whatever the magic number is). It's still rare to find region free drives, but these days there are numerous websites where you can acquire modified firmware and the flashing utilities needed.

  • chewitt:

    Yes, I know about the limited region change abilities of DVD drives. The external DVD drive that I had for testing (I gave it back later), only had to initialize a region code at first usage: It didn't worked on Ubuntu /VLC, but after initializing it with "Windows DVD-Player", it worked on Ubuntu / VLC, too, and never gave a prompt when switching between RC1 / RC2 DVD's.

    The reason why I gave the external DVD drive back (and never tried it on Raspberry Pi) was, that some DVD's of the same region worked, but others did not. So, I came to the testing result, that it's not the region code, but the CSS encryption, which is the real troublemaker. Different DVD drives show different results for the same DVD.