Live TV HD Appears Pixelated

Server Version#:
Player Version#: web + roku
Tuner Make/Model: WinTV-quadHD
Guide/Lineup name: Any
Using XMLTV?: Yes
Channel number/Name: Any HD Channels

We are noticing pixelation with live tv streams with live channels. Notice the lines on the field especially:

This seems to be a recent thing and hasn’t been noticed until recent football games.

Interestingly enough it appears more apparent with still images/graphics as seen here:

Note that we have everything on “Original” so no transcoding appears to be occurring. Or maybe there is and there’s a setting that needs to be flipped somewhere? I’ve tried 20Mb/s and 4mb/s and they all seem the same.

That stated, after recording and playing it back from file everything no longer appears pixelated and seems perfectly fine. So this appears to be occurring only during live streams.

Posting here to get some ideas. Any pointers would be appreciated.

After some review, this appears to happen on certain HD channels. Our CBS station is received flawlessly. The Fox/ABC stations have this pixelation and it would be nice to track down what is occurring.

In my market, FOX broadcasts in 720p while the other big three networks broadcast in 1080i. Do your problematic stations have such a distinction?

Thank you for your reply @pshanew. Yes, that sounds about right. I believe CBS is 1080i (larger files) and Fox is 720p. The thing is that Fox has never had this issue and has been pretty clear until recently. :thinking:

Hmm… How are these settings configured in the Plex app on your Roku client (in the Video section)?

Direct Play
Allow Direct Stream
Allow MPEG2

Neither of your screenshots appear to be 1080i/720p; they make it look like there is transcoding being performed. Have you checked the Dashboard while one of these channels is playing to see if a transcode is occurring? And from what to what?

All of those enabled and I’ve tried disabling them without success.

Have you checked the Dashboard while one of these channels is playing to see if a transcode is occurring? And from what to what?

This is what I am seeing:

image

Thank you for any further assistance you can provide.

Looks like MPEG2VIDEO is involved even if I have that disabled? :thinking:

Yep, it always will be for ATSC 1.0 broadcasts in the US (and likely other locales), as far as I’m aware. There may be some exceptions, but they would be rare. ATSC 3.0 uses H.265 however.

That’s why I was curious about that particular setting on your Roku client. My understanding is that Roku’s MPEG2 implementation is not great (but I’ve forgotten where I hear that, so don’t quote me).

I need to break my old Premiere out of storage to see if I can reproduce your issue. However, I use a different tuner, so it won’t be apples to apples.

On my own system, with local playback and MPEG2 enabled, it direct streams the video at 1080i on my local CBS affiliate.

image

When MPEG2 is disabled, the same program is transcoded to 1080p (which affects the frame rate).

Fox shows similar behavior, except that the streams are 720p; it direct streams with MPEG2 on, and transcodes to H.264 with it off.

image

All of this is exactly what I would expect to see. I don’t notice the blurriness/pixelation you do in either configuration however, on either channel. Both are very crisp for the resolutions being displayed. As I mentioned, I use a different tuner though (HDHomeRun Flex 4K).

What’s interesting is that you don’t have the same issue when playing back those recordings.

Can you show a screenshot of what you see on your dashboard when MPEG2 is enabled? I’d expect it not to transcode. I wonder if something else is forcing a transcode to a lower bitrate. During live playback Plex doesn’t determine required bitrates the same way it does from static files; notice the “10 Gbps” in my screenshots where’d you normal expect to see the average bitrate of the item being played.

Thank you for your continued assistance @pshanew

To be certain the screenshot I showed earlier was from the web player. This is occurring both there and with the Roku player.

This does appear to be happening during transcoding. To complicate matters, when I switch to Original the pixelation still occurs the first time I attempt it, but if I go back into menus and change a setting (e.g., set Direct Play to Force) then the option “takes” and I get the crisp resolution as expected for Original.

This occurs on NBC, Fox, and ABC for me. CBS is the only station that provides the crisp resolution/experience you are referencing (and what we were getting up until recently) with transcoding enabled.

Here is NBC at original:
image

Note that I had MPEG2 support disabled but it is still using it? Seems like a weird problem here with my settings sticking.

Anyways, I have gotten a “workaround” with the Original setting finally working, but it would be nice to keep my network traffic to a low roar with having the transcoding to work as expected.

Thank you for any continued assistance/suggestions you can provide.

So weird. The “workaround” I thought I had was not that… now even when using Original the streams still come in pixelated no matter what set of options I attempt.

If anyone has any pointers here they would be appreciated. :pray:

I don’t know if this is helpful, but since you haven’t had a response for a while I’ll try to chip in. Sorry if this is way too long or repeats any information you already know.

“Now Playing” is showing you that your source tuner is generating MPEG2, which for your tuner I think is what your tuner is going to generate regardless of settings in Plex. I don’t have the same tuner as you, but I don’t think your tuner has any configurations that allow it to output anything other than what the station is broadcasting. There are only a few tuners that have built in transcoding in the tuner device (for example, the HD Homerun Extend.)

Your screen shots show that hardware transcoding is happening in Plex. This means that Plex is using your computer’s hardware transcoding capabilities (e.g. not your tuner transcoding if it had that capability), and not your computer using the CPU to do software transcoding which is very CPU intensive.

The quality of your hardware transcoded stream is going to depend on the capability of your hardware’s GPU. I might be missing it, but I don’t think I see information here about what your server’s processor is and if you have a separate GPU like a NVidia card. If you don’t have a separate GPU like NVidia then your hardware transcoding is using your processor’s built in GPU. In either case the quality of your resulting stream is determined by the capability of your GPU to transcode the MPEG2 stream to h.264, which then Plex then directs to your client. Some GPUs, and many older generation GPUs, may be able to do the transcoding but may have artifacts as you are seeing.

To have a chance of Direct play/stream working you will need to have MPEG2 support enabled on your client since based on your screen shot that is what your tuner is outputting. Your client should be also set for “Original” (I think you already have), and should also be set to allow Direct Play and/or Direct Stream (this depends on the client and has changed over time, so I think all clients may not show this.)

Hopefully if you check “Allow MPEG2” and get the other client settings correct you will get either Direct Play or Direct Stream, with which Plex server just passes through to the client whatever your tuner is producing.

Again, sorry for the length and repeats of any info.

1 Like

One other thought that may be a long shot: Are both your Plex server and client wired or wifi? If wifi, can you at least run a test with them both wired? MPEG2, while still used by most USA stations, is an old protocol with poor compression by modern standards and therefore needs more network bandwidth. If Plex determines that your network connection doesn’t have sufficient bandwidth for the requested feed, then it will transcode to h264 and possibly choose to go to a lower resolution that your network connection is capable of handling. Poor wifi connections can be a result of distance, walls, floors, utilities in the walls, and even a strong wifi signal can have poor throughput due to a neighbor using the same (or a close) wifi channel and causing interference.

FYI, I ran a test with my tuner OTA producing 1080i MPEG2, my Plex server is a 1 Gbps wired connection, and my Roku is wired. I was able to get Direct Stream:

image

Settings I have on my Plex Roku client:

Local Quality: Original
Remote Quality: 4Mbps 720p (shouldn’t matter for this on your local network)
Direct Play: Auto
Allow Direct Stream: Checked
Burn Subtitles: Automatic (note that if you are using subtitles this can force transcoding)
Maximum h.264 level: 4.1 (Recommended)
Allow MPEG2: Checked

Thank you so very much for taking the time to write that @hokierulz. No need to apologize for being wordy as I do not mind re-examining the fundamentals here.

To start, I would like to re-emphasize that this is something that is recent. It used to be that this did not occur and the transcoding was just as crisp on all stations as I am seeing it on the CBS station.

Another aspect to be aware of is that there is another issue I have been battling and it’s this one:

I recently installed the latest drivers for NVidia for this issue and it is around this time that this problem surfaced (there are also RegEdits that I made as well and wonder if that is related).

(I tried uninstalling the drivers without much luck, either)

Anyways, this problem happens even on the same machine, which is local and wired to itself, obviously. The screenshot I took above was actually from the Plex server itself, with it acting as the (web) client. It happens there and on the two Rokus, so I am thinking this is a server-related problem for sure.

As for the GPU, it is an NVIDIA GeForce GTX 1050. I am now wondering if this GPU is not being utilized at all and that is leading to the degraded experience. This gets back to the drivers and perhaps them not working correctly or a poor registry configuration. I’ve checked and double-checked the registry and everything looks OK but I have not ruled anything out yet.

The other thing I tried was the server TranscodeTranscode Quality settings. I tried Prefer higher quality encoding and that did not do anything. I didn’t bother to try Make my CPU Hurt as there wasn’t a difference but I suppose I will try this just to be sure.

Anyways, it is me that is being wordy now in hopes of kicking out another clue to figure out what is going on here. :slight_smile: Thank you for any continued assistance/insight you can provide.

Hmmm, in your screen shots the “hw” in “Transcode (hw)” indicates that Plex is using something on your system to do hardware transcoding. If you have both your NVidia and also a GPU on your processor then the only way I know to tell which is being used is to look in your Plex Server Logs. I do agree that it seems like it is something with your server/GPU config if it once worked an now is sub performing.

I don’t know that you are going to be able to get Direct Play or Direct Stream with the web client for a MPEG2. It is the least capable in terms of codecs available and is more likely to force transcoding. Quite frankly I stopped using the web player for Live TV. If you want to get direct play/stream on your computer desktop the I’d suggest the Plex for Win/Mac/Linux or Plex HTPC. Both are more capable players than Plex web. The Rokus I would have expected to be able to Direct Play/Stream. I have two Rokus, one of which is at least 5 years old, and they both will direct stream 1080i MPEG2 video.

. If you have both your NVidia and also a GPU on your processor

Ah I never did state my CPU it is a Ryzen 7 2700x which I do not believe has a GPU.

I’ll poke around the logs and see if anything obvious pops up.

Oh yeah, as far as the Web client I rarely ever use that. I was using it here as it’s easy to take screenshots and it shows that it is not specific to Roku (where most if not all our Plex activity takes place).

This is interesting:

There are also a bunch of exceptions occurring during the stream:

FWIW the device I am streaming through is the WinTV-QuadHD,

Pardon the chatter here but a quick note that Make My CPU Hurt didn’t change the quality, either. :thinking:

I haven’t responded in hopes that someone else with fresh ideas might contribute. Brain dump in no particular order:

By saying Ryzen you pretty firmly shut the door on Plex using processor based hardware transcoding. Even if your Ryzen had an APU, Plex doesn’t support it.

It may be worth again trying to get your Rokus to direct stream. Being able to remove transcoding as a variable may allow us to better identify where the problem is happening.

As a test go into Plex web on the same screen where you were setting transcoder quality (“make it hurt”, etc). On that screen un-check “use hardware acceleration when available” and click “save”. This will force Plex to use software transcoding (CPU cycles) to transcode instead of your NVidia GPU. You will see significant CPU use this way, but I’m finding that your CPU has a passmark of ~17.5k, which is more that sufficient for several 1080i transcodes. Then see if the problem still exists. If the problem doesn’t exist with Plex doing software transcoding, then there is something up with your hardware transcoding.

I googled some of the MPEG2 errors from the screenshot, and reading the results suggested to me the possibility that the problem could be with the MPEG2 data being produced by your tuner. That then raises the question if that is the case then is problem is with the tuner, or with the data being received from the OTA station. Any possibility that your signal strength or quality is lower on the stations with the problem? Possibly interference? Typically digital you either get the station or you don’t, but it’s something to check.

Are you able to view these channels directly using the same antennae using a different tuner (e.g. a tuner on a TV) to see if the problem stations look ok using a different tuner?

1 Like