Raspberry Pi4B Playback findings

I did not find any postings listing client Playback Quality settings that work on a fresh install of the Channels DVR Server Pi image. I did find an older article that resolved the wandering /dev/video* links on docker and native installs on various Raspberry Pi OS, so I wanted to see what playback settings work on my test install.

Raspberry Pi 4B 2GB memory 512GB slow USB 3 mSATA media.
vcgencmd version is Mar 17 2023 10:50:39 82f3750a65fadae9a38077e3c2e217ad158c8d54
HDHomerun EXTEND [HDTC] set to not transcode the native OTA stream.
Channels DVR Server Pi Image 2023.11.13.2159

  • Source Transcoder set to none
  • Advanced Transcoder set to Blend/1HR and then I flipped between Hardware/Software
  • commercial detection OFF
    Channels iOS App Playback Quality settings varied between Original down to 1Mbit for tests.

The short story is to use "Original quality playback" whenever you have the bandwidth to access your Raspberry Pi Channels DVR Server running this Channels image. My distant Channels server has a bit over 9Mbit uplink bandwidth which stutters on 1080i variable bit rate peaks. One solution is to turn on transcoding on the HDTC. Another solution is to transcode on the Raspberry Pi 4 where I just tested all of the combinations of Hardware/Software transcoding for Playback rates between 8Mbit and 1Mbit on the iOS Channels App. To my surprise, choosing lower streaming rates does not always work better and sometimes fails.

I have a spreadsheet, but nowhere do I see a known issue of the failed combinations that I found testing hardware or software transcoding at 1,2,4,6 or 8Mbit quality.

GOOD Hardware Transcoding
1080i at 6 or 8Mbit
720p at 2,4,6 or 8Mbit
420i at 1,2,4,6 or 8Mbit

GOOD Software Transcoding
1080i at 700Kbit, below my testing range
720p at 2 or 4Mbit
480i at 1,2,4,6 or 8Mbit

BAD Hardware Transcoding
1080i at 1,2 or 4Mbit
720p at 1Mbit

One software transcoding surprise is 720p is good at 2 and 4Mbit but stutters at 1Mbit.

If you are experiencing hit and miss transcoding on the Raspberry Pi, I hope that my results help you find a usable playback setting.

I thought I would use the HDTC "mobile" hardware transcoding setting, but HDTC transcoding causes more recording failures. The Channels Server also seems more responsive when the HDTC transcoding is off.

You may find other hardware transcoding failures if you are not running this Raspberry Pi image from Channels.

[11/22] My initial Pi5 testing confirms good software transcoding for over-the-air 1080i/720p/480i at 1-8Mbit playback quality. The 15 minute load for 1080i at 8Mbit is ~3.5 at <60C using the active cooler. A single 1-6Mbit stream is fully usable with the load dropping to about 1.3 for a 1MBit stream. No hardware transcoding found on the Pi5 today. This is running on a 32GB Samsung Endurance Pro SD card with the "Desktop Bookworm" image using the Channels Linux "setup.sh" installation method.

The Channels DVR Pi image on a Pi4 is a great turnkey platform that supports hardware transcoding at 6/8Mbit for 1080i/720p/480i over-the-air content. I suspect the hardware transcoding failures in the 1/2/4 Mbit have solutions, including pilot error where this posting is invalid and all is good. However, the Pi4 is not able to software trancsode a 1080i stream until you drop below 1Mbit.

My complements to the Channels staff for chasing after the illusive VideoCore firmware encoding in the Pi4.