Can "Live TV" be "Direct Play" to an Apple TV 4K (no transcoding) from HDHomerun Connect?

I’m struggling to get Live TV to stream without glitching (pauses, artifacts, freezes) from my HDHomerun Connect to my Apple TV (using DS218+, with hardware acceleration enabled).

I have set my Apple TV app to allow “Direct Play” but when I check status and look at the logs, the mpeg2video (hw) is being converted to h.264 (hw). Is this always required?

My home network can easily handle the bandwidth of the MPEG2Video (which is clocking in below 13 Mbps for most channels). The Apple TV is on an Orbi satellite (hard-wired) and the Synology is on the main Orbi (hard-wired).

Is there some setting I’ve possibly missed to get Direct Play to work?

I can provide logs, but for now I would just like to know whether transcoding is required.

Thanks, Andrew.

You can use apps like VLC, InstaTV and Channels which will stream directly from your hdhomerun without transcoding.

Thanks for the replies. Is anyone aware of an article or other post that explains this in more technical detail? It seems that these two replies are contradictory (trump81 is saying mpeg2video is not supported and fancybits is saying there are apps that can handle mpeg2video without transcoding).

It would seem that having the ATV app receive its feed directly from the HDHomerun via a gigE switch would be the better way to go (at least from a home network traffic perspective). Can anyone provide insight into why Plex chose to transcode in the NAS? I can think of two possible reasons: 1) More lightweight app in the ATV and other devices ,and 2) buffered content (from viewer pauses) can be easily recorded.

Neither tvOS nor iOS’s native video players support MPEG2. They support h.264 and HEVC in the mp4 video container and HLS streams.

Plex clients use the native video players, so in order to to play back codecs or containers that tvOS and iOS do not support, the Plex server either transcodes or remuxes video into a format that tvOS and iOS can play back. For MPEG2, this means real time transcoding to h.264, which can take a bit of CPU/GPU power and some time. For a normal mkv found on the internet, this means remuxing the h.264 video track and audio track into a container that tvOS and iOS supports. This can be fast since it doesn’t require transcoding.

Apps like VLC, InstaTV, and Channels have implemented their own video players that decode the MPEG2 video directly on the device. This is not the same as transcoding, since transcoding ends up with another video file. These video players can just natively playback MPEG2, something that the system video player can not.

This is important since none of these apps require intermediate servers to play back video from an HDHomeRun. They just work all by themselves. It’s also important because it means they start playing video in ~1s vs the time it takes a server to transcode first. It becomes even more useful if you’re dealing with any kind of buffer as well since rewinding and fast forwarding would mean the start of a new transcode from scratch. So seeking around a buffered amount of video (like Channels does), ends up being super fast.

I hope this helps things make more sense!

Ah! That makes a lot of sense. Thanks for taking the time to explain it.

So, the poor Live TV video quality I’m getting is most likely to be due to something happening on the NAS. I understand that my Synology DS218+ should not have any performance issues when transcoding (hardware acceleration enabled). Is the mpeg2video transcode a “raw” conversion or does the PMS have to apply some algorithms to clean up the stream from the HDHomerun before the hardware does the conversion?

This is usually the case. I’m not completely familiar with what Plex does for live TV, but any 1080i content will be interlaced so the server probably de-interlaces the video during the transcode. MPEG2 video is pretty heavy so doing the transcode take a lot of cpu.

Thanks again. My next question (whether adding more memory to my DS218+ , which currently has 2GB, might improve performance) probably should go in a separate thread, which I’ll post soon.

Transcoding performance is a function of CPU, so it is unlikely that adding memory would have any effect.

Memory will not help, as @fancybits has stated, transcodes are CPU dependent/reliant.

That makes sense, I suppose, because even holding 10 seconds worth of video in memory at 20 Mbps is only about 25 MB and it’s the algorithms that require the CPU cycles.

But that raises the question: If the DS218+ is supposed to be able to handle the transcoding (especially with hardware acceleration), why would I still be get really poor video quality on LiveTV? Where could the performance bottleneck be?

In this particular case, it actually may not use much CPU. From the original post:

when I check status and look at the logs, the mpeg2video (hw) is being converted to h.264 (hw).

So the PMS is indeed using hardware acceleration for MPEG2. In my experience, that can make a pretty big difference for the CPU. As you noted, MPEG2 is tough on the CPU otherwise.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.