<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/i-turned-a-cheap-android-tv-box-into-the-ultimate-self-hosted-streaming-server-ciymgqd0o" -->

---
title: I turned a cheap Android TV box into the ultimate...
description: A budget Onn Android TV 4K Pro box, an external hard drive/SSD, and a powered USB hub were combined to build a makeshift self-hosted media streaming server...
canonical: https://daily.dev/posts/i-turned-a-cheap-android-tv-box-into-the-ultimate-self-hosted-streaming-server-ciymgqd0o
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: I turned a cheap Android TV box into the ultimate self-hosted streaming server | daily.dev
og:description: A budget Onn Android TV 4K Pro box, an external hard drive/SSD, and a powered USB hub were combined to build a makeshift self-hosted media streaming server...
og:url: https://daily.dev/posts/i-turned-a-cheap-android-tv-box-into-the-ultimate-self-hosted-streaming-server-ciymgqd0o
og:image: https://api.daily.dev/og/posts/CIYmGqD0o.png
og:image:alt: I turned a cheap Android TV box into the ultimate self-hosted streaming server
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# I turned a cheap Android TV box into the ultimate self-hosted streaming server

**[XDA Developers](https://daily.dev/sources/xda-developers)** · 7 min read · 0 upvotes · 0 comments

## Summary

A budget Onn Android TV 4K Pro box, an external hard drive/SSD, and a powered USB hub were combined to build a makeshift self-hosted media streaming server using Kodi's UPnP/DLNA protocol. External drives could be read and played through Kodi, and clients like VLC, Infuse, and BubbleUPnP could discover and stream from the box over the network. A documented Android storage permissions bug prevents Kodi's library indexer from properly seeing external drives, forcing manual path entry workarounds that only partially worked. The result functions as a basic file server but lacks the metadata, posters, and watch history features of a proper Jellyfin or Plex setup.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.xda-developers.com/turn-cheap-android-tv-box-into-the-ultimate-self-hosted-streaming-server>

## Questions this post answers

### Why can't Kodi on Android TV see files on an external USB drive when adding a media source?

There is a well-documented bug in Kodi's file manager on Android where external storage is misidentified as internal Android TV storage when adding a source, preventing proper library indexing. Workarounds include manually typing the exact file path instead of browsing, setting Kodi's file and media permissions to 'Allow all the time,' or reformatting the drive as adopted internal storage, though none of these fixes are guaranteed to work.

_Anyone debugging Kodi's Android storage quirks can find more self-hosting fixes on daily.dev._

### Can a cheap Android TV box be used as a self-hosted media server instead of Plex or Jellyfin?

A budget Android TV box, such as an Onn Android TV 4K Pro, can function as a basic UPnP/DLNA media file server by running Kodi, attaching an external drive through a powered USB hub, and enabling Kodi's UPnP/DLNA server so other devices can discover and stream files. It lacks metadata, poster art, and watch history found in Jellyfin or Plex, and Android's storage permission bugs limit proper library indexing.

_Comparing lightweight DIY setups against Plex or Jellyfin gets easier with daily.dev's self-hosting coverage._

### Why won't a cheap Android TV box play 4K AV1 video files smoothly?

A budget Onn Android TV 4K Pro box struggled to play 4K AV1 files directly from an attached SSD, likely due to limited hardware decoding support. Re-encoding the files to 1080p H.264 using HandBrake resolved the playback issue and allowed smooth streaming through Kodi and VLC clients.

_Developers tuning media pipelines for constrained hardware can track similar workarounds on daily.dev._

## Similar posts on daily.dev

- [I turned my old phone into a dedicated Jellyfin streaming box and retired my Fire Stick](https://daily.dev/posts/i-turned-my-old-phone-into-a-dedicated-jellyfin-streaming-box-and-retired-my-fire-stick-m3gvln4hb) · XDA Developers · 0 upvotes · 0 comments
- [I turned my old Android phone into an always-on Jellyfin player, and it beats every streaming stick I own](https://daily.dev/posts/i-turned-my-old-android-phone-into-an-always-on-jellyfin-player-and-it-beats-every-streaming-stick--edjkntaq3) · XDA Developers · 0 upvotes · 0 comments
- [I turned my old Android phone into a car media server, and it worked better than expected](https://daily.dev/posts/i-turned-my-old-android-phone-into-a-car-media-server-and-it-worked-better-than-expected-jpfoqlhpa) · XDA Developers · 0 upvotes · 0 comments
- [I turned this $55 Raspberry Pi into the ultimate streaming device](https://daily.dev/posts/i-turned-this-55-raspberry-pi-into-the-ultimate-streaming-device-kpjwmhxwb) · XDA Developers · 7 upvotes · 1 comments

---

Tags: [#self-hosting](https://daily.dev/tags/self-hosting)

[View this post on daily.dev](https://daily.dev/posts/i-turned-a-cheap-android-tv-box-into-the-ultimate-self-hosted-streaming-server-ciymgqd0o)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"I turned a cheap Android TV box into the ultimate self-hosted streaming server","url":"https://daily.dev/posts/i-turned-a-cheap-android-tv-box-into-the-ultimate-self-hosted-streaming-server-ciymgqd0o","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/i-turned-a-cheap-android-tv-box-into-the-ultimate-self-hosted-streaming-server-ciymgqd0o"},"datePublished":"2026-08-30T22:03:40.509Z","dateModified":"2026-08-30T22:04:20.396Z","description":"A budget Onn Android TV 4K Pro box, an external hard drive/SSD, and a powered USB hub were combined to build a makeshift self-hosted media streaming server...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2001dee85a003c9dc9b67305ad2fdc26?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/2001dee85a003c9dc9b67305ad2fdc26?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"XDA Developers","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"XDA Developers","logo":"https://media.daily.dev/image/upload/s--kCg6yyAP--/f_auto,q_auto/v1774964407/logos/xda-developers?_a=BAMAMiWQ0","url":"https://daily.dev/sources/xda-developers"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/i-turned-a-cheap-android-tv-box-into-the-ultimate-self-hosted-streaming-server-ciymgqd0o","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"self-hosting","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"XDA Developers","item":"https://daily.dev/sources/xda-developers"},{"@type":"ListItem","position":3,"name":"I turned a cheap Android TV box into the ultimate self-hosted streaming server"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/i-turned-a-cheap-android-tv-box-into-the-ultimate-self-hosted-streaming-server-ciymgqd0o#faq","mainEntity":[{"@type":"Question","name":"Why can't Kodi on Android TV see files on an external USB drive when adding a media source?","acceptedAnswer":{"@type":"Answer","text":"There is a well-documented bug in Kodi's file manager on Android where external storage is misidentified as internal Android TV storage when adding a source, preventing proper library indexing. Workarounds include manually typing the exact file path instead of browsing, setting Kodi's file and media permissions to 'Allow all the time,' or reformatting the drive as adopted internal storage, though none of these fixes are guaranteed to work. Anyone debugging Kodi's Android storage quirks can find more self-hosting fixes on daily.dev."}},{"@type":"Question","name":"Can a cheap Android TV box be used as a self-hosted media server instead of Plex or Jellyfin?","acceptedAnswer":{"@type":"Answer","text":"A budget Android TV box, such as an Onn Android TV 4K Pro, can function as a basic UPnP/DLNA media file server by running Kodi, attaching an external drive through a powered USB hub, and enabling Kodi's UPnP/DLNA server so other devices can discover and stream files. It lacks metadata, poster art, and watch history found in Jellyfin or Plex, and Android's storage permission bugs limit proper library indexing. Comparing lightweight DIY setups against Plex or Jellyfin gets easier with daily.dev's self-hosting coverage."}},{"@type":"Question","name":"Why won't a cheap Android TV box play 4K AV1 video files smoothly?","acceptedAnswer":{"@type":"Answer","text":"A budget Onn Android TV 4K Pro box struggled to play 4K AV1 files directly from an attached SSD, likely due to limited hardware decoding support. Re-encoding the files to 1080p H.264 using HandBrake resolved the playback issue and allowed smooth streaming through Kodi and VLC clients. Developers tuning media pipelines for constrained hardware can track similar workarounds on daily.dev."}}]}
```

