Mobile streaming with a Raspberry Pi 3

godsgood33 profile image Ryan P ・3 min read

I have 8 children (soon to be 9). Yes, I know what causes it (and I'm good at it)! I used to have a Ford E-350 that had an overhead DVD player. So when we would go on family trips we would just take an assortment of DVD's to play on it. That van is no longer with us, so I wanted another solution that didn't involve having to take a bunch of DVD's with us.

Then I had a great idea! I had a PlexPass membership and a couple extra Raspberry Pi's (model 3). A quick Google search later and I found RaspAP-WebGUI and I was off to the races!

After much consternation though, I determined there was a compatibility issue between Plex and RaspAP. I ended up putting it away while I thought about what else I could do.

After a couple of months, I realized all I needed was a DLNA server. So another Google search later and I found these instructions for MiniDLNA

Armed with all this new knowledge I set off, again.

  1. Install Raspbian
  2. Install RaspAP-WebGUI per README
  3. Install MiniDLNA per link
  4. Optimize and copy media
  5. Install VLC and Enjoy!!

The first three are pretty self-explanatory, a couple notes though. When the Pi is booting the MiniDLNA service starts BEFORE my external media is mounted. This leads to it not finding the media. I changed /etc/init.d/minidlna and added a sleep 10 near the top of the script to give the Pi some time to mount the drive, before the service started, then once it did start it would find the media on the drive. If you have problems you can just restart the minidlna service (so make sure you setup SSH Server on the Pi and have an SSH client on your device ie. JuiceSSH). #2 I also had problems with it finding the media because of the permissions required. You may need to tweak the permissions that the MiniDLNA service runs with (I changed the user to root, I know, not secure, but it worked).

So with the 4th step, I used my Plex server to optimize a selection of MY LEGALLY OBTAINED movies (Optimize for Mobile) for my kids and then copied them to an NVMe SSD in an external USB-C enclosure. This helps a couple of different ways. 1. It makes it easier on the Pi so it doesn't have to transcode. 2. It shrinks the files so you can fit more on it.

For the last step, you'll connect your mobile devices to the new RaspAP network that you setup. Then using VLC (search your app store), you can go to "Stream" and enter upnp:// (provided you kept the defaults for RaspAP. You will see a couple files go past as it's reading the external media, but then you can select the "Playlist" from the top right of the screen and select any file on the external drive. On the iPad, you can select "Network Stream" and it will find the UPNP MiniDLNA server and then you can just navigate through that for your list.

In my testing, I was able to get 6 Kindles, 2 phones, and 1 iPad, all streaming at the same time! No drops, no hick-ups, perfect streaming! I did have another iPad I tried to connect, but it wasn't reliable. So it seemed that 9 is the upper capacity for the WiFi. It might do more if I purchased an AC router and direct connected the Pi to that.

Comment if you'd like me to do a video on how to set it up!


Editor guide