I have an Ubuntu Server machine, where I store media files (films predominately). How can I stream those files to watch on my mobile device?

I'd ideally like a really lightweight solution as I currently have 2 GB RAM on the machine.


For sharing media to my Android devices, I use ES File Explorer (and there are other options) to connect to a network share on a Linux machine. This is the simplest option, because you just have to set up a file share on the server and run a file browser on the mobile device.

The videos can then be viewed in an app like Dice Player or MX Player. Both allow playing directly from the share without downloading the file.

If you want a more refined experience you can look into something like XBMC or Plex. You will have to set up the server software and install an app on your device, but you get a nicer experience (looking at a media library rather than browsing files). Plex does have an option to do on-the-fly transcoding on the server. Depending on what kind of usage you expect, this might not be the best option for a lightweight server.

| improve this answer | |
  • File shares do not "stream", you have to download the video file. – Julian Knight May 6 '14 at 21:30
  • I have clarified that point, it depends on the app. – Nattgew May 6 '14 at 21:32
  • I use ES File Explorer too, but FTP is just too slow when publicly accessing my server. I was hoping to encounter an application that was lightweight and used a different protocol, possibly one that was faster. I hope Plex will be OK, given my current memory capacity, and will probably only be feeding to two (maximum) devices at one time? There seems to be a lot of talk about transcoding - but all my files are readable by Android's MX Player, so surely there will be no need for transcoding, right? – codaamok May 7 '14 at 8:57
  • 1
    It's not just about the format being readable but also the resolution. You can set your connection speed in the player and Plex will transcode to match that. – Nattgew May 7 '14 at 14:23
  • Almost finished configuring Plex. Will tick your answer in due course. I'm surprised on how lightweight it is. Too good to be true... – codaamok May 7 '14 at 14:39

2GB for a server that does file/print sharing and basic streaming should be more than enough.

You can use a Raspberry Pi as a streaming server!

The trick is to be careful with "transcoding", changing the video stream on the fly to meet the needs of different devices. That is what takes up the resources. If you know what your target devices are, you can keep the appropriate media files on hand and not need to transcode.

You need a streaming app to run on the server such as XBMC or Plex as mentioned by @fooot.

Plex is good but the clients cost. XBMC is simple to set up but arguably not as polished. Plex also helps stream over the Internet should you wish to. Have a go with both and choose the one you prefer.

| improve this answer | |
  • I actually used a Raspberry Pi for quite some time as a media server, though it was sometimes unreliable. After a while, I want to upgrade to something more beefier to do real linux sys admin things, just within my home. – codaamok May 7 '14 at 8:55
  • The principles are the same though, it's the transcoding that is likely to cause any issues. Actually, if you are running the server headless with not too much else going on, I doubt you will have much of an issue. Of course, RAM is cheap so you might want to upgrade anyway if you can. – Julian Knight May 7 '14 at 22:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.