How to Play DVDs and Blu-rays with mpv?

Using mpv to play physical media like DVDs and Blu-rays is a powerful way to enjoy your disc collection without dealing with heavy, bloated media players. While mpv is primarily a command-line-focused tool, it has robust built-in support for optical drives. This guide covers the exact commands needed to play DVDs and Blu-rays directly from your optical drive, how to navigate menus, select specific titles or chapters, and handle the encryption hurdles often found on commercial Blu-ray discs.

Playing DVDs with mpv

Playing a standard DVD in mpv is straightforward because the player includes native dvd:// and dvdnav:// protocols. For the best experience, it is highly recommended to use dvdnav://, as it attempts to replicate the actual DVD menu experience and handles multi-angle discs or complex features much better than the legacy parser.

Playing Blu-ray Discs with mpv

Blu-ray playback follows a similar logic to DVDs but utilizes the bd:// protocol. Unlike DVDs, mpv does not reliably support interactive Blu-ray menus (BD-J), so it will typically default to playing the longest title on the disc automatically.

Overcoming Blu-ray Encryption (AACS)

If you attempt to play a commercial, store-bought Blu-ray disc, you will likely encounter an error stating that the playback failed due to encryption. Commercial Blu-rays are protected by AACS encryption. To make mpv play these discs seamlessly in the background, your system requires an additional open-source library called libaacs along with a regularly updated key database file (KEYDB.cfg).

Once these decryption keys are properly configured in their respective folders, mpv will automatically decrypt and play commercial Blu-ray discs in the background using the standard mpv bd:// command.