Fastest Hardware for DVR Server

I am using an Intel Nuc 5i5BNH as my home server with Ubuntu 20.04. I am running on it OpenVPN client, Asterisk PBX, Tvheadend tuner with Oscam, Time Machine server for all my macs and, of course, the DVR Server. I am using the Apple TV 4K as my Channels client.

With such setup, the overall experience is extremely fast and fluid with no lag at all. I can record and zapping channels at the same time my VPN is getting the tv streams from my second house using AES-GCM encryption. CPU load is never higher than 20%. About real-time transcoding of an HD channel, as the Intel Nuc has hardware GPU video acceleration, CPU load is never higher than 25%. So, 25% + 10% of the VPN = 35%

Power consumption is low: 12 watt when I am watching an HD channel on my tv (using USB satellite tuners). 10,72 watts when using remote stream using vpn

That said, you could buy an Intel Nuc i3 with 8gb ram and you will be set for a long, long time. It will also allow you to expand services in the future.

I am wondering how you are determining whether a Pi4 would be slower than a high end NAS. If you comparing on a pure CPU perf basis that might be true but a lot of the biggest improvements in perf in processors these days comes from purpose built hardware accelerators. That is a big reason why Apple silicon is so fast because it has specialized hardware for certain tasks that frees up more cycles for the CPU.

Is it truly known that a Pi 4 is less powerful than a high end NAS for a Channels DVR server?

1 Like

Right now no because I already use up 7 HDMI ports on my AV receiver. We got several gaming consoles, 4k bluray player, etc. We already have two other streaming boxes, a 2020 Roku Ultra and a 2020 Chromecast with Google TV. I don’t really want to add another box especially since I got the Chromecast because it supports YT HDR with VP9.2 codec and the latest Nvidia Shield did not support VP9.2.

I am aware that there is no client app for Roku. But I can potentially use the new Chromecast as a client too.

See: How A Raspberry Pi 4 Performs Against Intel's Latest Celeron, Pentium CPUs - Phoronix

Maybe I missed this somewhere above, but as others have said elsewhere, try to go with hardwired gigabit ethernet between all the critical components. Someone once told me that Input / Output (I/O) is the bottleneck of most data processing so a very fast network is important and consider going with SSD if it is in your budget for initially storing the video files even if moved to spinning disk later. Fortunately Channels makes it easy to span disks and directories for storing recordings.

I've used the Channels DVR server on both a Windows 10 laptop and on the RPi4 and Commercial Detection seemed a lot slower on the RPi4. (Hmm, just remembered my laptop has an SSD and the Pi is using external spinning disk, so that likely contributes to some of the additional time for Commercial Detection on the Pi).

I am on the custom RPi4 image now but am looking at going to some more powerful hardware and running either Windows 10 Pro (to delay / block unplanned updates) or maybe Mac or Ubuntu.

Comskip is still kinda slow on the Pi. Everything else is pretty speedy.

If you really want the absolute fastest hardware, go with the M1 which will run circles everything else.

4 Likes

Ah this is really good to know!

For the macOS server I read somewhere (I don’t remember exactly where since I have read so much lately) that you have to kind of be careful making sure the server stays up. It sounded like that you had to make sure you are logged in with your user account to ensure the server stays running.

I remember seeing instructions for how to make Channels DVR server run as a background service but then I think it also said that it disabled some hardware acceleration features. I would want to make sure OS updates or Channels server updates do not interrupt things. I don’t know yet how the update process is like for the macOS client and whether it updates automatically on its own.

What are you recommendation for the best way to setup the mac client so it stay up as much as possible?

1 Like

If you want it totally hands-off, you can set it up to auto-login without password requirement on boot and with file encryption off.

2 Likes

I second the recommendation of an Intel NUC running Ubuntu. Get the full height version and put in a second SATA drive (or SSD) for storing the recordings.

2 Likes

If I were starting fresh, I would probably start with the Pi4. I've never used a Pi, but the directions for loading and using Channels seem very straightforward.

Having run Channels on a Windows PC and now a NAS (Synology DS220+) I would second k2ue's comments comparing a PC with a NAS for this use -- I had several scheduled shows miss because the PC was offline for one reason or another (usually related to updates). Plus, the PC is noisy and hot (as compared to the NAS). The NAS just sits there quietly doing it's thing, day after day.

Channels doesn't seem to take much horsepower to use (unlike Plex, which apparently uses transcoding for every stream), so I wouldn't sweat that angle too much.

This recommendation has worked for me. I've rebooted the Mini at least 20 times since I've been running Channels on it and never had it not startup correctly.. Channels and now Docker. I used the recommendation given here. Also, I have no display, mouse, or keyboard connected to the Mini. I just use a VNC client (TightVNC) to access it from my Windows PC, if I need to do any maintenance, and I can use the normal browser interface for most Channels DVR things.

I started running my DVR on my primary PC (aging i5, but still a pretty reasonable PC), during the trial test.

Went to a Pi4 as a DIY, prior to the dedicated build. Then, wiped and started fresh on the dedicated build (before the devs made it even easier to migrate).

@tmm1 has it exactly right - with the exception of comskip runtimes, you would be hard pressed to beat the Pi for ease and cost. It's been nearly flawless for me, and you don't need to do any OS management (patches, etc) - it's all taken care of.

Unless you're running a large number of simultaneous transcodes, or need comskips done prior to watching anything, other hardware doesn't give you much, and costs time in managing.

1 Like

I have no idea what a typical time to process comskip after a recording has completed. So I don’t have a good reference frame.

how long does it typically take to process comskip for a 1 hour show?
what kind of comskip performance difference is there between Pi4 and other platforms?

It depends on the source - i admittedly haven't looked that hard, but figure on something like a 35-40 min process on antenna/cable source, and 25-30 on TVE. It varies widely though, and those are otherwise idle timings.

Better CPU hardware will speed this up to some extent, but at the cost of much more power (and upfront cost, most likely)

1 Like

ah ok, that helps to have a ballpark idea of comskip processing times.

If a long show is still recording and I start the show at the beginning so it is time shifted but still recording.
Is there a way to enable comskip to run while a show is actively recording?
do you have to wait til the full recording has completed before comskip will begin processing?

Comskip runs on completion / stoppage. It's one of the drawbacks.

Comskip won't start until recording has finished. But, you can watch the program while Comskip is running; that way as soon as it finishes the commercial markers appear in the program you are viewing.

M1 is quite fast at comskip:

2 Likes

Ah those numbers definitely help to give context for older vs new Mac Mini. So if I go the Mac Mini route i will definitely get a new M1.

I am curious of how much of a difference there is in performance of an M1 Mac Mini to a Pi4. Because if it is close enough I might go that route since it would be a lot cheaper.

Do you have any numbers you can share for Pi4 comskip performance?

2 Likes

not sure why you need a "separate" server...I have the software installed on my networked 2019 imac I7, and clients installed on my 4 nvidia shields, using a hd home run 4 tuner tv box for the signal, and everything runs like a champ, and aways has..integrates with my plex server on my NAS with no issues, so I am a bit confused as to why you need a separate anything? In the past I had it on Apple TV 4k, trouble free, and various firetv/sticks/boxes, all ran perfectly..