🌐 Official website · 🌶️ Spicy Sources · 📝 Tech blog · 📥 Download on F-Droid
📦 Version: 16 (1.15) ⚙️ Build-Tool: Gradle 8.14.3
Your media. Your player. Your network.
- 🌍 More than YouTube — Share links from YouTube, YMusic, PeerTube, SoundCloud, Bandcamp, and media.ccc.de
- 🎧 Video and audio — PlayOnDlna prepares compatible media, cover artwork, and subtitles for your DLNA player
- 🎶 Playlists that just work — Enjoy continuous playback even when your player has no native playlist support
- 📚 Your personal media library — Keep prepared videos and audio ready to play again whenever you like
- 📡 Effortless discovery and control — Find compatible players automatically and control playback from the app
- 🔒 Local by design — Media is served directly from your Android device over your local network
No account, no ads, and no complicated setup—just share a link, choose a player, and enjoy.
Play your media ad-free on DLNA players such as Kodi and Smart TVs in your local network! Simply share a supported media link with PlayOnDlna. The app prepares compatible video or audio and streams it directly to your selected player.
Supported sources include YouTube, YMusic, PeerTube, SoundCloud, Bandcamp, and media.ccc.de.
- Resolve the shared link. NewPipe Extractor reads the media information and provides the available video, audio, and subtitle streams.
- Prepare a compatible file. PlayOnDlna selects suitable streams, fetches them to the Android device, and uses FFmpeg to combine separate video and audio tracks. If necessary, incompatible audio is converted to AAC.
- Serve and play it locally. The app starts an HTTP server on the Android device, sends the local media URL and metadata to the selected player via UPnP AVTransport, and the player streams the prepared file directly from the device over the local network.
There is no cloud relay or separate media server to configure. For more background, read A media link is not a stream on the Spicy Sources tech blog.
- Application ID: io.github.scovillo.playondlna
- Compile SDK: android-36
- Min SDK: 26
- Target SDK: 36
PlayOnDlna runs on Android 8.0 and newer.
The global configuration android:usesCleartextTraffic="true" is needed to communicate with DLNA devices in the local network and is never used in the public internet context.
The app is built entirely on free software libraries. All dependencies are compatible with the GNU GPLv3 license. The app itself is licensed under the GNU GPLv3. See the THIRD_PARTY_LICENSES.md for full license information.
PlayOnDlna is free, open source, and developed independently.
If the app is useful to you, you can support its continued development with a voluntary donation.
Donations help with:
- Maintenance, bug fixes, and new features
- Testing on different devices and DLNA players
- Continued development of this free and open-source project
PlayOnDlna will remain fully usable without any donation.
You can also support the project without donating:
- ⭐ Star the project on GitHub
- Share PlayOnDlna with others
- Send feedback or bug reports
- Contribute code or translations
Thank you for every kind of support! ❤️
./gradlew build- androidx.core:core-ktx:1.10.1
- androidx.core:core-splashscreen:1.0.1
- androidx.lifecycle:lifecycle-runtime-ktx:2.6.1
- androidx.activity:activity-compose:1.8.0
- androidx.compose:compose-bom:2024.09.00
- androidx.compose.ui:ui:unspecified
- androidx.compose.ui:ui-graphics:unspecified
- androidx.compose.ui:ui-tooling-preview:unspecified
- androidx.compose.material3:material3:unspecified
- androidx.recyclerview:recyclerview:1.4.0
- androidx.navigation:navigation-compose:2.9.3
- androidx.datastore:datastore-preferences:1.1.7
- androidx.appcompat:appcompat:1.7.1
- androidx.lifecycle:lifecycle-viewmodel-compose:2.9.4
- androidx.compose.material:material-icons-extended-android:1.7.8
- io.github.scovillo:ffmpeg-kit:1.15
- com.arthenica:smart-exception-java:0.2.1
- org.nanohttpd:nanohttpd:2.3.1
- com.github.teamnewpipe:NewPipeExtractor:v0.26.3
- com.squareup.okhttp3:okhttp:4.12.0
- com.arthenica:ffmpeg-kit-custom:main
PlayOnDlna - An Android application to play media on dlna devices Copyright (C) 2025 Lukas Scheerer
Licensed under the GNU General Public License v3.0
You should have received a copy of the GNU GPL v3 in the LICENSE file along with this program. If not, see https://www.gnu.org/licenses/