Raspberry Pi 4

So will the new Raspberry Pi 4 board be able to handle ChannelsDVR? If so, how many simultaneous streams?

I’m not suggesting that it does QuickSync but does it have the oomph needed for transcoding?

I’m thinking about throwing this together for an Ethernet setup, with hope that users can watch TV outside my network.

https://www.raspberrypi.org/products/raspberry-pi-4-model-b/specifications/

Specifications

  • Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
  • 1GB, 2GB or 4GB LPDDR4-2400 SDRAM (depending on model)
  • 2.4 GHz and 5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0, BLE
  • Gigabit Ethernet
  • 2 USB 3.0 ports; 2 USB 2.0 ports.
  • Raspberry Pi standard 40 pin GPIO header (fully backwards compatible with previous boards)
  • 2 × micro-HDMI ports (up to 4kp60 supported)
  • 2-lane MIPI DSI display port
  • 2-lane MIPI CSI camera port
  • 4-pole stereo audio and composite video port
  • H.265 (4kp60 decode), H264 (1080p60 decode, 1080p30 encode)
  • OpenGL ES 3.0 graphics
  • Micro-SD card slot for loading operating system and data storage
  • 5V DC via USB-C connector (minimum 3A*)
  • 5V DC via GPIO header (minimum 3A*)
  • Power over Ethernet (PoE) enabled (requires separate PoE HAT)
  • Operating temperature: 0 – 50 degrees C ambient

The Pi4 should be a significant update. For one, the ethernet has been removed from the USB hub, and is now directly connected to the SoC, meaning full gigabit speeds. They also stated the USB has 5Gbps of bandwidth, so you'll definitely notice the speed update to your USB drives.

Booting is only allowed for the SD card for now, but PXE and USB are in the works.

I would use POE instead of the USB-C power adapter, as I have a 24-port rackmounted POE switch in my house. I would just use a thumb drive for the DVR storage.

So in theory, I would be able to run ChannelsDVR without even a power cable, in this setup. This is why I am hoping it would work.

Right now, I am using a miniITX build, with a Core-i3-8100 CPU with 4GB of RAM, and that is demonstrating to be WAY overkill for the resources that ChannelsDVR calls for.

It is very unlikely that the Pi will be able to transcode in real time. Previous models transcoding rates were between 0.25-0.4x

To be fair, the difference between model 3 and 4 is very significant. Anybody out there willing to give it a shot? I may just do it just to see how this goes. It would be very cool if we could run a ChannelsDVR box for less than $100.

1 Like

I'm sure it will make a great dvr now, but not for remote access. Don't expect it to work at all as the hardware transcoder is not currently supported. It will take some months for development to catch up to the new hardware, and for open-source drivers to be developed.

Of course the other option is to have FiOS 200/200 Internet so no need to ever Transcode which is nice :slight_smile:

What about adding support for h264_omx in the same vein as QSV uses h264_vaapi for hardware encoring support?

(Although, I'm not sure how many concurrent streams can be handled by the VC6 in the Pi4, let alone the previous Pis' VC4.)

Unfortunately the omx driver in ffmpeg barely works. The one in gstreamer is much more well tested.

If someone wants to try ffmpeg or gstreamer h264 encoding performance on the Pi4, it would certainly be interesting to hear the results.

having 200/200 doesn't actually mean you will get 200 download wherever you are in the world, nor does it mean you will never have to transcode. "The Internet" is made up of several routers and switches. If one link between your home and where you are is oversaturated, or simply not capable of getting 200mbps, you won't be receiving that bandwidth....especially if it's through that Wifi hotspot at Starbucks/McDonalds or at a hotel. Transcoding also happens by default when going outside your LAN. The only way you can get around that is via an established VPN, but VPN's prioritize security over bandwidth. In a link where bandwidth is not guranteed, you'd be shooting yourself in the foot. Long story short, FiOS's synchronous connection speeds are great, but don't count on actually getting that rate when accessing resources from inside your LAN.

Are you sure about that? I upgraded to 200/200 and pretty much every speediest it is showing that speed. Also, my remote site runs for multiple hours per day without issues. You seem to think remote access "requires" transcoding but I believe you can simply set it to "Original" like you do at home and you will not be transcoding. I did a bit of testing months ago when I started doing this and pretty sure I verified there was no transcoding going on.

The setting is actually Internet Streaming (set to Original) just below Home (which is set to Original). And I do not use a VPN for this connection.

Okay cool....I didn't think to make those settings. I never made those settings, in fear of not actually getting that bandwidth from a remote site. But, for the highest quality video (which is natively 1080i), I doubt you'd need so much as 20mbps.

Yup, I hear you. that's awesome! I'm just glad I'm not on an asynchronous connection which gets about 5mbps upload

I had been sharing my PLEX Library with my kids (4 families) for some time when I was using 150/150 without problems using Original or Maximum (not sure of setting on all devices) because it made more sense then using transcoding. And all of that content was MPEG4 1080P so it does not need that much bandwidth. I did test transcoding but felt it put too much load on my PLEX Server when I had plenty of bandwidth. Then one ask about getting KTLA 5 from my OTA and I said lets give it a try. At the same time I upgraded to 200/200 and with Channels App there have been no problems with almost no load on my Synology DS1019. Again, could do transcoding but why put the load with so much bandwidth.

Toms Hardware sees transcoding in less than half the time of the 3B+ but doesn't say which option they're using. Even when I get mine YMMV as UK OTA is H264

Has anyone actually attempted to use this a channels server yet?

Looks like ffmpeg hardware encoding does not currently work with the RPi4: https://trac.ffmpeg.org/ticket/8018

From OSMC blog:

Development for this is still in early stages, and a number of important changes are expected to land in Linux kernel 5.2 at a minimum. Presently, the Pi 4 is supported on a 4.19 kernel, so it will be some time before all of the necessary support is there for hardware accelerated playback and features such as HD audio passthrough.

I assume hardware encoding won't be present before that either?

Encoding is generally more straightforward than decoding/playback/passthrough, so I don't except it to take quite that long.

1 Like

I'm evaluating upgrading my current RPI3 (which serves as an Airplay target, among others) with an RPI4, and considering setting it up as ChannelsDVR. Does the future availability of hardware accelerated encoding imply that an RPI4 should be able to support transcoding eventually? Any expectations for comskip performance (perhaps allocating 2 cores?). Also, any advantage with >1GB RAM (PI4 comes with 2 or 4GB, but they are not well stocked)?

Eventually it will support hardware encoding. However, the quality of such may be questionable. But if using hardware decoding/encoding, then lower amounts of RAM should be sufficient.

Also, unless the author of comskip has changed things, it can only use 1 processor core; multi threading and possible hardware acceleration were only possible with the paid version of the software, not the open-source version.