Raspberry Pi Support

Hi I want to join the public beta and I was wondering if I could run the server on a raspberry pi. I would want to also get the hardware trans coding and commercial skipping. If I have to I will end up getting a Synology box or a server to run Linux on. If for nothing else it would be nice to try it out before I spend 3-400$ on it.

Thanks

The pi is not powerful enough to do comskip or transcoding.

It also shares a bus for both network and usb, so you can only make a couple recordings at the same time.

Do you suggest building a server or just getting a Synology DS216+ii?

Really depends what you’re more comfortable with and what your budget is. Either will work.

What would actually be really cool would be a distributed back end… One Pi for guide data, one Pi for transcoding, one Pi for main DB functions… Don’t expect it in a million years but it’s a lovely idea.

Can you expand a bit on the shared bus issue, please ? If you take the max stream size of ATSC, that’s 17mb/sec. Multiply that by 8 (assuming 2 recording streams and playing back 2 streams), tack on some overhead for NFS etc. and we’re still well below the 480 mb/sec theoretical of USB2.

1 Like

USB2 would be problematic for a couple of reasons:

  1. Real world throughput is no where near theoretical. USB implementations are often poor especially on low end hardware.
  2. USB2 is by definition half duplex. At any given time you can send or receive data not both at the same time. This becomes a real problem when multiple processes are reading and writing at once. Up to a point buffers will solve the problem but at some point you just can’t read and write fast enough. USB 3.0 solves this problem as it is full duplex or asynchronous and can read and write at the same time (also about 10x faster then USB 2.0).

As for the shared bus issue. It means that some of the communication channels within the pi are used for networking and USB. So high speed network packets may get held up waiting for low speed USB reads and writes. I have a 6 year old desktop that slows to a crawl when writing big files to a USB drive. I would expect this same issue with the pi.

I have had success with an ODroid C2, which has the same form factor as an RPi 3 but with slightly faster processors and Gigabit ethernet. When writing to a USB-2 drive I’ve been able to record 4 streams at once. Comskip is fine, although it takes a while. Real-time transcoding doesn’t work at any resolution, although you can always use a script to transcode over night and serve with e.g. Plex (Linux/Mac script for transcoding and adding to Plex).

More information on possible ARM board options are here: ARM64/AAarch 64 based SOCs

As Pete said, USB-2 performance doesn’t approach the theoretical 480 Mbits/sec, and so even with reduced performance you should be able to cope with several streams at once. Admittedly I’ve only run a few tests, but so far I’ve had no problem writing 4 streams and reading 1 in parallel with my ODroid C2 ARM board attached to a USB-2 drive.

It would be interesting to fiddle around with. As far as I know the USB and ethernet don’t share the same bus on the C2. I don’t believe the C1 does either, but that was severely hobbled as oDroid couldn’t be bothered to implement a proper FIQ driver so the USB was a total disaster anyway.

I’m really not bothered about transcoding and most of the shows I watch I don’t get round to for a while anyway so if it took comskip half a day to do its thing I really wouldn’t be too bothered.

Apparently the Pi 3’s WiFi doesn’t use the USB bus. It does, however, only use narrow channels so that’s a max of 72Mb/sec. By the time you’ve tacked on network overhead you’re not going to get 4 uncompressed streams out of that, but you would probably be in good shape if you have an Extend transcoding.

Wonder how the HAD would fair. Single 5400k drive with all that seek time ?

HAD? In any case, modern 2.5" 5400 rpm drives are pretty fast, typically ~100 MBytes/sec (800 Mbits/sec), and so I suspect sufficient for TV recording even with time-consuming seeks across multiple streams. The bottleneck, if any, is the interface.

Yes, HAD. Same as HD but auto corrected by a borderline insane Android tablet.

== Andriod tablet

Raspberry Pi 3+, Does this change the answer?

The Raspberry Pi 3 Model B+ is the latest product in the Raspberry Pi 3 range.

Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
1GB LPDDR2 SDRAM
2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE
Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
Extended 40-pin GPIO header
Full-size HDMI
4 USB 2.0 ports
CSI camera port for connecting a Raspberry Pi camera
DSI display port for connecting a Raspberry Pi touchscreen display
4-pole stereo output and composite video port
Micro SD port for loading your operating system and storing data
5V/2.5A DC power input
Power-over-Ethernet (PoE) support (requires separate PoE HAT)

The 3 B+ isn’t going to add enough juice to make commercial indexing run any faster.

Most importantly, it looks like Ethernet is still shared with USB creating problems for playback. Since both ethernet (network) and USB (external drive with recordings) would be in use while playing back, they’re limited to the speed of USB 2.

This is probably not an issue for single streams, but if you wanted to playback on multiple TVs you’d run into issues fast.

Nevertheless, it runs on it, and the PI is still a great way to try out Channels DVR or just plain use it with a few limitations (no transcoding, no commercial indexing). But the new Pi doesn’t look to change things much.

thanks

Hi, I am a little late to the Raspberry Pi game for Channels. I am getting the hardware gathered and I am hung up on which hard drive is recommended. Not necessary what specific model, but rather a portable hard drive that requires no additional power supply or one that is just an external hard drive that isn't "portable" and requires its own power supply. The power that have going to the Pi is 3.5A vs the 3.0A is that sufficient to run the Pi and a portable hard drive? Thanks!

A drive with its own power supply is the recommended approach.

The Pi's power delivery can vary; for anything that matters with an external drive, always use one with an external power supply. Also, external drives with spinning platters—meaning, not SSDs—are completely acceptable for your DVR purposes.

(This isn't necessarily to be taken as canon, just personal experience from a couple of decades with running DVRs on PCs.)

1 Like

I have a Raspberry Pi 4 with a 1TB spinning HD in a USB3 2.5 case directly connected and to the pi with no extra power source and it works great. Also the I have a POE HAT on my Raspberry Pi so I can use POE.