Skip to content
Use a Raspberry Pi as a DVD player
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
etc/systemd/system add required scripts and files Dec 8, 2019
home/pi add required scripts and files Dec 8, 2019
usr/share/backgrounds add required scripts and files Dec 8, 2019
README.md Add photos Dec 8, 2019

README.md

raspberry-pi-dvd-player

Use a Raspberry Pi as a DVD player

Features:

  • Automatically play a DVD as soon as it is inserted
  • Skips trailers, etc. by default
  • Entirely console and framebuffer based playback (i.e. no X11/Wayland) so very low power and quick to boot
  • Use any existing IR remote to play/pause/rewind/forward
  • Turns screen on automatically when a DVD is inserted
  • DVD splash screen
  • Silent boot

DVD Player Setup

You will need:

  • A micro SD card
  • A Raspberry Pi (I've tested on a Pi Zero and Pi Zero W)
  • A USB DVD drive
  1. Install Rasbian Lite on the micro SD card

  2. Purchase a MPEG2 license from here. You will need the serial number from your Raspberry Pi which can be found by running cat /proc/cpuinfo.

  3. Add the serial number to /boot/config.txt. You will receive an email telling you what to add.

  4. Install VLC:

sudo apt-get install -y vlc
  1. Copy dvd-play.service to /etc/systemd/system/.

  2. Add a udev rules to start/stop this service when a DVD is inserted/ejected by copying 90-dvd.rules to /etc/udev/rules.d/.

Remote control setup

You will need:

  1. Install Flirc
curl apt.flirc.tv/install.sh | sudo bash 
  1. Assign the keys on your remote to regular keys. Do not use the play/pause, fastforward, etc. commands.
flirc_util record p # Press play/pause
flirc_util record r # Press rewind
flirc_util record f # Press fast forward
flirc_util record s # Press stop
  1. Install Python dependencies:
sudo apt-get install -y python3-pip
pip3 install evdev
  1. Copy vlc_media_buttons.py to /home/pi.

  2. Copy dvd-remote.service to /etc/systemd/system/.

  3. Enable the service:

sudo systemctl enable dvd-remote 

Automatically turn on the screen when a DVD is inserted

(HDMI-CEC compatible screen only.)

  1. To prevent the screen turning on when the Pi boots, add the following to /boot/config.txt:
hdmi_ignore_cec_init=1
  1. Install cec-utils:
sudo apt-get install -y cec-utils
  1. Copy turn-on-screen.service to /etc/systemd/system/.

DVD background and quiet boot

  1. Copy dvd.jpg to /usr/share/backgrounds/. You may need to create the directory.

  2. Install fim:

sudo apt-get install -y fim
  1. Copy dvd-background.service to /etc/systemd/system/.

  2. Enable the service:

sudo systemctl enable dvd-background
  1. To show a blank screen when booting the following to the first line of /boot/cmdline.txt:
loglevel=3 quiet logo.nologo vt.global_cursor_default=0
  1. To hide boot output while the Raspberry Pi boots change console=tty1 to console=tty3 in /boot/cmdline.txt.
You can’t perform that action at this time.