Build a home media server

Hi all,

I’m looking for the right setup to build a home media server by taking advantage of the Turris computing power. Currently I have plex installed on my computer, from which I send the video via hdmi to my projector and the audio via usb to my dac. My files are stored on an external hdd.

Based on the interesting posts I could read so far, what I’m thinking is:

  • to install freenas on the turris
  • to install plex on freenas
  • to connect an hdd raid enclosure via usb to the turris (this one)
  • access plex via wifi on my laptop and distribute the video and audio as before (hdmi for video and usb for audio)

My question is whether you think:

  1. the turris has enough computing power to run plex (even without transcoding on the fly) and distribute it via wifi to my laptop or other devices?
  2. there is a better way to do this?

Thanks for your help
Best

FreeNAS is based on FreeBSD so it doesn’t work with Turris’ Linux-based containers because the containers don’t implement full virtualization. And FreeNAS doesn’t support ARM processors according to its web site.

I have never used Plex so I cannot comment about it.

I see. I’ll keep looking for a solution then.
Thank you anyway

try install OSMC with KODI for linux distribution

I never saw this topic.

My advice would be, use a Raspberry Pi 3 instead. It can do the job fairly. Although i myself do not have a Raspberry Pi 3, or even a Raspberry pi although planning to buy one in the future, what i till now have come to know it is kind of powerful.

So look also in to that as a cheap, less-energy solution.

Raspberry Pi 3 is quite good solution for home media server unless you want lots of I/O from disks. The SoC in Pis doesn’t have a wide bandwidth to USB ports which limits I/O speeds. And if you want multiple USB disks you need either very good power supply for the Pi 3 or powered USB hub.

Apart from what was already said, quite slow regarding the network. I used BananaPi for converting old TV into smart TV - it has gigabit network, SATA port and there are VDPAU drivers for Cedar. And it’s cheaper.

But on topic, Omnia supports out of the box miniDLNA, which could be used to stream movies to smart TV. You can also configure Samba or NFS to get easy access to your files. No idea about Plex, looks like a closed source cloud application, which is not a good sign…

I am not sure how this is slow regarding the network. Raspberry pi 3 has a 802.11N wifi chip if i am correct and a 100 Mbit lan. That is well enough for the moment. Indeed if we talk about 4K or higher, i am not touching (advising) that with a 10 feet pole :P.

Plex indeed is a closed source application. There is now a days since 2013 if i am not wrong another OPEN SOURCE application called “Emby”. Lovely app, MANY MANY MANY options. However it is still a bit behind Plex, but as i believe in the open source philosophy i THINK this is just matter of time. Emby media server is fairly new in the game so it is developing rather quickly if you ask me. Also on many levels i find Emby a bit better in transcoding then Plex.

EDIT: I looked on the web, as far as i can see Emby indeed is around since halfway 2013 while Plex has started around 2007. So 6 years headstart and still i am amazed how far Emby has gotten if you compare (which i have and still actively doing) two Media servers with each other.

For streaming, probably good enough (100Mbit lan), but sometimes I prefer to drop a movie on the box and then watch it without having to have the device the movie is originally from on all the time. Kinda pre-caching. And that’s where 100MBit ca be quite limiting.

Well, with closed source application, the only option is that the company behind it would have to support Omnia kind of device and provide binary for it. Could be generic armv7 static compiled binary. And they are the only ones that can do that except somebody reverse engineering their protocol and writing opensource client. But for Emby there might be a chance to get it running. But given it’s written in Mono would require somebody to package Mono in OpenWRT and after that the app might be packaged. Don’t know much about mono, maybe it would be possible to cross-compile static binary on desktop and just get that one there… So yes, more chance with Emby, but will still take quite some work :slight_smile:

I had this idea suddenly a few days ago when i was reading a topic.

In case of a LXC, isn’t in then theoretically possible to RUN such application on it.

So for example, i have Turris Omnia running a Debian or Ubuntu LXC. Then on this LXC, i have Plex or Emby or whatever you might think of. Would this also work? Or is it STILL processor related because we are still talking about a ARM-architecture instead of a normal x86 architecture and if there is no package for ARM-architecture, then it’s still useless.

EDIT: I just browsed the web about streaming required bandwidth and i see that now a days basic streaming capacity is 100 Mbit becoming MINIMAL capacity.

So i indeed now can agree with you that wifi 802.11n at least is becoming slowly or fast you could say the technology of the past. 1 Gbit lan speed indeed you get theoretical speeds of up to 125 MB/s and in real life i have always at least steady 50 MB/s when i copy files to my own NAS.

So to be on track, it comes to 1 Gbit LAN and 802.11AC at least for streaming movie files we have in the present day like 4K and higher. Or else it’s just waist of money because in even the short future you still have to upgrade anyway.

Yep, LXC will help with Emby, should be much easier to install any ordinary Linux distribution inside LXC and Emby inside of it (as mainstream distributions will probably have mono). For Plex, you would still need armv7l binary.

Based on what do you say that Emby it is possible, but Plex not? Is it because it STILL NEEDS development because Emby is open source and Plex not?

Or is it right NOW already possible? Because based on my previous comment, that the Emby as well as Plex do not have a support for ARMv7i architecture.

Well, Emby you can compile yourself probably in LXC container in Omnia for arm and run it there. So some work but much less than getting it running directly in OpenWRT as in your container you will already have mono, so it shouldn’t be that hard. If you are lucky, it will just work. For Plex you would need the company that has the source to compile it for arm, so that would be quite harder I would say and nothing you could do about it except spamming them. But maybe they have it somewhere or in their plans some support for RPi…

Aah, as i suspected it.

It is still architecture based. Thanks for the info.

In the end did you try one particular solution?
Do you see a simple way to install Emby on Turris Omia or is it going to require a lot of work?

Although the Omnia is very well suited for a lot of (lxc) server-sided kind of things, I do not believe video trans-coding (so the servers side of a streaming system) is one of them. That requires quite some more CPU power than the Omnia can deliver, in order to provide clients with high-res/high-bitrate quality video (esp. with 4k “looming at the horizon”).

For front-end (so the receiving side) and or streaming from disk; there are much simpler solutions (as have been pointed out in this thread). A simple Rpi2 or 3 with a Libre-elec-build-for-RPI imaged/flashed onto its SD will do the trick there.

For the server (transcoding) side I would not settle for anything less than an up-to-par intel i5 based (or AMD) sysem or at least as powerful…

There are several repositories for Plex for Ubuntu ARMv7.
https://tproenca.github.io/pmsarm7/
Or you can convert the Synology package.

I loaded the deb file in the Ubuntu LXC and I was able to browse the Plex webpage, but I didn’t try to push media files to it yet.

I downloaded the R9000 source code package, there are some scripts and pages to integrate Plex with Openwrt/Netgear.
There is also a link to download the Opewrt package (in .tgz format) for ARMv7, I could not find the package link in their website.
When I am back to my PC, I will post the link.

@donhylo , On my own NAS i am still having both solutions at the moment. However beside my preference towards open source, i have seen rapid improvements regarding Emby Media Server since i have installed it (back in march/april). I have not installed on my Omnia.

@woosting , I am not sure about GPU power or if the ARM-processor of the Omnia has such a thing. Emby just recently has the possibility of hardware-acceleration with vaapi under Linux for transcoding. Here you see a printscreen of it running on my NAS.

So about transcoding, if you would have said intel i5 at least a year ago i would have agreed with you, but finally FFMPEG has supported hardware acceleration using VAAPI ON Linux. Intel Quick Sync for transcoding works perfectly on Windows, so i have heard, but i have tried to get it to work on Linux…just a useless as it can be.
.

Use OpenMediaVault. I did install one in Debian Jessie LXC container.

There are some tricks needed to pass external disks, but it does work OK.

LXC config:

# Block configuration
lxc.cgroup.devices.allow = b 8:0 rwm # sda
lxc.cgroup.devices.allow = b 8:1 rwm # sda1

# Passthrough Printer and USB devices
lxc.mount.entry=/dev/bus/usb dev/bus/usb none bind,optional,create=dir 0 0
lxc.cgroup.devices.allow = c 180:* r

lxc.mount.entry=/dev/usb dev/usb none bind,optional,create=dir 0 0
lxc.cgroup.devices.allow = c 189:* rw

LXC /etc/rc.local

mknod /dev/sda b 8 0
mknod /dev/sda1 b 8 1
mknod /dev/sda2 b 8 2
mknod /dev/sda3 b 8 3
mknod /dev/sda4 b 8 4

mknod /dev/sdb b 8 16
mknod /dev/sdb1 b 8 17
mknod /dev/sdb2 b 8 18
mknod /dev/sdb3 b 8 19
mknod /dev/sdb4 b 8 20

echo /sys/block/sd? /sys/block/sd?/sd?? | xargs -r -n1 udevadm test

fsck -A
mount -a

LXC /etc/apt/sources.list.d/openmediavault.list

deb http://packages.openmediavault.org/public erasmus main
# deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus main

## Uncomment the following line to add software from the proposed repository.
# deb http://packages.openmediavault.org/public erasmus-proposed main
# deb http://downloads.sourceforge.net/project/openmediavault/packages erasmus-proposed main

Then install (it uses package for armhf):

apt-get update && apt-get install openmediavault

It will be accessible under: http://LXC_IP/

@Big_boss I think we are arguing the same sentiment? :confused:

Namely that the Turris Omnia is not suitable for trans-coding / serving video streams?

Or am I misunderstanding you and are you in fact arguing that it is suitable to that end?