Raspberry Pi 4

I got that impression from this post, which uses a custom comskip.ini to enable multiple threads.

Doesn't channels dvr use the paid version ? If not I need to replace it.

I haven't modified the INI, so perhaps I am mistaken. (If that's the case, then indeed that is good news.)

However, it still doesn't mitigate the previously poor quality of h264_mmal, although for a dedicated DVR server, software encoding may be acceptable.

Look in the Channels DVR recording folder Comskip logs look for video.log.

IIRC, Channels uses either a proprietary version or runs at least using the same basis as the “paid” version ... @tmm1 is one of the developers in the comskip community.

OK I bit the bullet and am the early Pi 4 Channels DVR guinea pig. I opted for the 2GB version, together with a fan-case + power supply, and a 10TB WD Elements External USB3 drive. I'm connecting via Gigabit ethernet.

Short version: very impressed with the usability.

I've overclocked my quad-core Pi from 1.5GHz to 1.75GHz (which increases the need for active cooling). I'm running the fan using PWM so it increases fan speed as needed: entirely quiet on my desk here, unless you seriously stress it. Others have had good success running the Pi4 caseless and vertical, or with a high quality heat sink and no fan.

Total cost: $45 PI4-2GB, $15 fan case + USB-C charger, $158 10TB external drive: $218. Quite a bit less than a NUC or even lower-power NAS with this amount of space.

Power: Most NAS units use >20W idling. The PI4 + WD drive combo uses ~10W, dropping to <5W when the disk goes on standby. Recording a show doesn't change that much (with channels-dvr consuming just ~30% of one of 4 CPUs and only 5% of the memory... much lighter weight than expected).

Some impressions:

  • Channels DVR is super easy to install and deploy on the Pi. I chose to install it on my external 10TB USB drive.
  • Compared to earlier Raspberry PI models, this Pi4 has much faster I/O. Even with my entry level spinning drive I'm getting ~200MB/s read/write sustained (non-cached). A full HD stream is only 10–15Mb/s = 1–1.5MB/s so not really an issue, but good for reading and writing the entire file.
  • Playback from the DVR is essentially instantaneous via Wi-Fi (iPhone) or wired (AppleTV), whether recording or not. For example, it's at least as fast as tuning a live channel directly from the HDHomeRun. I'm sure the Gigabit ethernet is helping here. I get about 50MB/s in typical unoptimized network copy operations, which means copying an entire half hour MPG in about 30s.
  • comskip performance is actually pretty good (though I'm not sure what the standard on Intel systems is; does anyone collect benchmarks?). It's only run detection on about 30min worth of HD programming so far, but it only took 5min and found 6 markers, all spot-on. 5-6x real speed seems pretty good comskip compared to some other numbers I've heard. I may experiment with using two threads in a custom comskip.ini to speed it up further (unless this has been exposed as an option in the beta already?).
  • The discussion about Pi4's running hot seem to be reasonably well-founded. Without some kind of active cooling or a good heat sink, comskip may cause throttling, especially if you overclock.

So, I can recommend the Pi 4 as an affordable Channels DVR host, if you're up for the initial setup and maintenance, and don't need external transcoding (which I haven't tried). For me it was a no-brainer since it will replace an older Pi3b which is hooked into many home automation systems for me. If all I wanted it for was for Channels, I might be tempted by a mid-price NUC system. But except for possibly faster comskip, and transcoding (which I don't need) I wouldn't be able to tell the difference.

5 Likes

Thanks for this report!!

Thank you for the detailed post...what a great find!

Willing to be 2nd gp.

If you could post your source & links for the 3 items (already have large TB external).
Also, could you do a 5min test with a hd TVE channel (both Live and Recorded) and post results?

Wow! Very cool! Thanks for giving this a try!

So how does it perform with 2 simultaneous streaming sessions? Or how about 4 (for those with the quad tuner)?

It sounds like transcoding via remote viewing or the web viewer is where it would be interesting to see the performance of the Pi. Have you done that yet?

Ok did some tests. I only have a 2 channel HDHR with normal MPG streams. Recording 2 HD channels, and playing back two other recordings, all simultaneously, works with out a hitch. This pushes only one CPU to about 65%, leaving plenty of overhead for other things. I do wonder whether the DVR process could fork threads for recording even more streams, but clearly not a problem at 2 streams in + 2 out.

Ok gave the web browser a try. The PI 4 can transcode!

Or at least my overclocked PI4 can. But it’s right on the edge. Live 720p streams transcode with ffmpeg running at about 330% cpu (quad core), without problems. And some 1080i streams transcode without a hitch at about 380% cpu (with channels taking 10-12% or so, so maxed out). For these the transcode rate reported is right at 1.0x or 1.01x. But for other live streams (PBS in particular) transcoding is at about 0.9x, which means it pauses every 10s or so. For transcoding prerecorded streams it’s better, but still for 1080i Nova on PBS it was only able to get to 0.95x or so.

This is tantalizingingly close. I/O isn’t a limitation, and even some modest hardware acceleration would make this entirely possible. I note that the folks over at Emby have enabled OMX hardware transcoding acceleration on the PI in their most recent version. I’ll open a new discussion about that.

4 Likes

Still very interested just want to acquire (or use). Just want to make sure that I order a “known” compatible fan case.

Thanks for any further info...already have generic USB-C cable.

I think they are all basically the same, but here’s the one I got. If you don’t want to muck with programming your fan, you can just follow the instructions to plug it into the 3.3V pin, which will make it run quiet and provide plenty of cooling, or 5v if it’s not next to your head (it’s very quiet either way).

Btw, there is no need for anything above the 1GB version. I couldn’t get memory usage much over 30%, and that was during transcoding. Not bad $10 or $20 insurance to upgrade memory if you plan on running other things on it.

1 Like

Our developers now have their hands on an RPi4 and are doing some testing with hardware acceleration. There is hope for stably transcoding a single stream, so follow that thread if that feature is important to you.

1 Like

I just purchased a raspberry pi 4 and it is in the mail. I am a Linux newbie and curious if there is a step-by-step guide for setting up a server on a raspberry pi?

2 Likes

Thank you so much! I got it up an running with my hdhomerun however TVE DVR is not working. It appears that ARM processors are not supported. I wish I had seen that before buying the rpi4. Any workarounds to get TVE on here or should I return my pi 4 and get a cheap mini PC for a server?

I wouldn't be using that as an everyday driver being that it is still new and not yet on the approved hardware list.

From the description of TVE, the required hardware includes:

c. Linux PC or NAS using a 64-bit Intel CPU

I'd guess this is to support hardware decode/encode, which is something being actively pursued with the Pi4. So stay tuned. You could allocate another PC to this task for a couple months and revisit. For standard MPEG2 stream DVR functions, as well as limited live transcoding, it's already working great for me.