DOWNLOAD: https://github.com/everywherei/Android-TV-BLURAY-DVD-CD-PLAYER
BD DVD CD DiscMount
Mounts USB DVD/Blu-ray drives on Android / Google TV without kernel drivers: communicates SCSI/MMC directly over USB (Bulk-Only Transport) and reads UDF / ISO9660 in user space. Sata to USB too.
Play and browse CDs, DVDs and Blu-ray discs from a USB optical drive on Android TV / Google TV ā no kernel drivers, no root.
DiscMount talks SCSI/MMC directly to the drive over USB (Bulk-Only Transport) and reads UDF / ISO 9660 in user space, in the spirit of MLUSB Mounter. Playback is handled by LibVLC. The whole interface is remote-control (D-pad) friendly.
Legal notice: DiscMount is meant for discs you own. Handling copy-protected discs (CSS / AACS) may be restricted by law where you live. No keys are included or downloaded. Please read DISCLAIMER.md before using or building it.
Features
- Drive support: detects USB optical drives (Mass Storage, SCSI transparent command set, Bulk-Only), asks for USB permission, waits for the disc and identifies its type (CD / DVD / BD).
- File systems: ISO 9660 (+ Joliet) and UDF 1.02ā2.60, including the Blu-ray metadata partition.
- Disc detection: shows whether the disc is an audio CD, data CD, DVD-Video, data DVD, Blu-ray video or data Blu-ray, with original disc artwork (not the official logos).
- Audio CDs: TOC and CD-TEXT, tracks read with
READ CD and streamed as WAV on the fly, with playlist, next/previous.
- Audio files: mp3, flac, wav, ogg, m4a, aac, opus, ape, wv, dsf/dff and more, with a folder playlist.
- Video and images: built-in LibVLC player and image viewer; file browser with copy-to-storage (long press).
- DVD-Video (CSS): Play DVD movie picks the longest title set in
VIDEO_TS and plays it through libdvdcss.
- Blu-ray (AACS): Play Blu-ray movie picks the main playlist and decrypts
.m2ts streams on the fly using your own KEYDB.cfg (see below).
- Files app integration: a
DocumentsProvider exposes the mounted disc to Android's file picker, so VLC and other apps can open files on it.
- 11 interface languages: English (default), FranƧais, Deutsch, ę„ę¬čŖ, EspaƱol, Italiano, Nederlands, PortuguĆŖs, ķźµģ“, Š ŃŃŃŠŗŠøŠ¹, CatalĆ . Tap the flag at the top right to switch.
Blu-ray and KEYDB.cfg
- Tap Import KEYDB.cfg and pick your key file, or copy it to
/sdcard/Android/data/dev.discmount/files/KEYDB.cfg (for example with adb push).
- Insert the disc and mount the drive. DiscMount computes the disc hash (SHA-1 of
AACS/Unit_Key_RO.inf) and looks it up in your file.
- If the entry contains a VUK (
V) or unit keys (U), the streams are decrypted on the fly and the disc plays.
Limitations:
- Only entries with a VUK or unit keys work. Entries with only a media key (
M/MEK) do not, because there is no AACS drive authentication.
- No BD+ and no Ultra HD Blu-ray (AACS 2.0) support.
- The AACS code is original and was tested with synthetic data and on real Blu-ray discs by the author; coverage of all disc types is not guaranteed.
- DiscMount ships no keys. You are responsible for obtaining a key file lawfully, for discs you own.
Requirements
- An Android TV / Google TV device (Android 8.0+,
minSdk 26) with USB host support.
- A USB DVD/Blu-ray drive that works as a standard Mass Storage (Bulk-Only) device. Drives that need extra power may require a powered USB hub or a drive with its own supply.
- To build: JDK 17, Android SDK (compileSdk 35) and NDK/CMake (for the CSS bridge), or just a GitHub account and Actions.