← All projects

// MEDIA & LOCAL NETWORK

PlayOnDLNA

Share a link. Choose a player. Press play. An Android app that brings your media links to DLNA devices on your local network.

  • Kotlin
  • Android
  • Jetpack Compose
  • DLNA

// app in action

Take a look inside.

Your media. Your network.

PlayOnDLNA connects shared media links to compatible DLNA players. Share a supported link with the Android app, choose a player and play video or audio on your local network.

Supported sources include YouTube, PeerTube, SoundCloud, Bandcamp and media.ccc.de. The app prepares compatible media, cover art and subtitles for the player.

What the app offers

  • Automatic discovery of compatible players and playback controls.
  • Playlists even when the player itself does not support them.
  • A local media library for content you have already prepared.
  • Media served directly from your Android device on the local network.

Delivery to the player happens locally. Fetching media from online sources still requires an internet connection.

Under the hood

The app is built with Kotlin and Jetpack Compose. It communicates with DLNA devices on the network, while a local HTTP server provides the prepared media files. The challenge is making different players and media formats work together.

How you can help

Reproducible bug reports are especially useful: include your Android version, player model, media source and the steps you followed. Translations, documentation and tests with different devices also help.

Browse issues on GitHub or build the source locally:

git clone https://github.com/scovillo/playondlna.git
cd playondlna
./gradlew assembleDebug

The full prerequisites are in the project README. PlayOnDLNA is licensed under GPL-3.0.

// pull requests welcome

Good software needs
more than one mind.

An idea, a bug fix or your very first contribution.
Get involved and help shape these projects.

Let’s build together