FreakShow! wrote: ↑
Fri Oct 26, 2018 10:43 pm
I've not been able to find reviews of people actually using this.
I currently have a RPi 3 set up with a Hauppauge WinTV-DualHD TV stick plugged in. I stream TV over the network using Plex. The Pi3 is just about managing to do the job, but it's not perfect. I've not tried it with two streams yet either.
Has anyone that has this been able to watch TV and give a typical CPU usage metric? Is this better optimised for the Pi or is this similar to the stick I have?
TV Headend was using 30-40% CPU on a Pi 3B+ when streaming 3 DVB-T2 HD streams - BBC One HD, BBC Two HD and ITV HD - to three separate clients over Ethernet on my set-up, with no frame drops or corruption. A Pi Zero (with OTG Ethernet adaptor) was able to do the same without dropping frames or corruption too - but I forgot to run top on it. I ran out of clients to test with - but it looked to me as if streaming all 5 HD services on PSB3 (BBC One, BBC Two, ITV, C4 and C5 HD) might be feasible on a cabled 3B+ - though recording as well may push it hard (though that might depend whether you use a uSD card or USB storage)
Is your Plex install transcoding the received streams or just passing them through? If it's transcoding them - then the Pi may well run out of steam very quickly, particularly if the transcode is being done in software not the Pi GPU/VPU combo. If it's just passing them through untouched - then it should be fine - and I'd be surprised if it was struggling with a single stream - TV Headend can do at least 3 (and probably more)
AIUI Plex server often transcodes content - this may be the issue. (Transcoding needs a much more powerful platform than just streaming)
The major advantage of the TV uHAT over a USB DVB tuner is that the DVB transport stream (which can be up to 40.25Mbs) is not being carried over the Pi's single USB bus, and instead is being carried over SPI. This means that your full USB capacity is available for Ethernet and/or USB storage access.
Apart from shifting the bandwidth from the USB to SPI bus, the TV uHAT is doing pretty much the same thing as a USB DVB-T/T2 tuner, tuning the RF frequency, demodulating the DVB-T/T2 broadcasts to an MPEG2 transport streamm (*), and passing that transport stream across the USB or SPI bus to the Raspberry Pi.
Both the TV uHAT and many DVB-T/T2 USB dongles, I believe, offer optional PID filtering, where you can reduce the bandwidth of the transport stream being carried by filtering out PIDs of services you don't want/need, but AIUI this is optional and most DVB-T/T2 USB tuners and the TV uHAT can stream a full DVB-T/T2 mux transport stream. (This would allow you to demodulate PSB3 - which is a 40.25Mbs mux - but only send the PIDs (i.e. individual audio, video, subtitle and ancillary streams) for one channel - which would reduce the bitrate hugely. The PSB 3 HD video streams have an average bitrate of around 4.5Mbs - but can peak at over 16Mbs)
(*) Although the video and audio codecs used don't have to be MPEG2 or MP2 these days, when we also use H264/AVC and AAC audio, the transport stream standard we use is still based on the MPEG2 transport stream standard. (This can be confusing)