I’ve been trying to get this figured out ever since Plex added the Live TV feature and I keep coming up short. Hopefully somebody here can give me some ideas. Here’s what I’ve got:
I have many movies (DVD and Bluray) ripped and they will all stream just fine with any client that I’ve tried.
My movies are all ripped using MakeMKV without any transcoding.
One Bluray example is “La La Land”. Looking at the Media Info of the file within Plex is see it has a resolution of 1080p, bitrate of 32,153. The codec is H264
A TV episode recorded from Plex (Daniel Tiger’s Neighborhood) is also 1080p resolution, but only has a bitrate of 9,671. It’s in the MPEGTS container that all the DVR content records to. The codec is MPEG2VIDEO.
When the Plex Transcoder starts going it never really gets close to 100% CPU, either. It always seems to max out around 20%.
Movies (or any ripped content) work great, and start playing virtually immediately when I press play. For some reason, though, the recorded content takes forever to start when I try to watch. I assume it has to do with buffering the transcoding, but then my computer can’t keep up with transcoding so after some amount of time it will eventually start pausing while re-buffering. I haven’t found any behavior difference between clients (iOS, tvOS, hosted plex web app, local plex web app).
My current computer is Core i5-4460 with 16GB RAM. Some of my content is on external hard drives, other content is on a RAID 5 array. The source of the content doesn’t really make a difference as far as playback. Blurays stream from anywhere without a problem, DVR content doesn’t.
Does anybody have any idea what I can do to try to fix this problem, short of building up a new computer (which I will probably be doing anyway)?
Any other information I could provide that could help track down the problem? Things I could test?
You don’t mention what tuner you have but the HDHR Extend will do transcoding before sending the stream to Plex. For recorded content this works great. Saves disk space and doesn’t seem to have any effect on quality for me. Streaming to the iPad, web app, Roku’s all works great. I am using Plex Media Server 1.6.1 as I have no use for Live TV.
The usage of an Extend in Plex with Live TV seems a bit murky. I’m not sure if Plex utilizes the transcoder at all for Live TV.
I knew I left something out. I’ve got the Hauppauge QuadHD. So, no built in transcoding. It’s simply whatever transcoding is necessary for whichever client that is failing to keep up.
In fact, I’m able to play ripped content on my iPhone, over LTE, without a problem. But I can’t play recorded content or live tv on my LAN, in the browser or Apple TV, without issues.
One Bluray example is “La La Land”. Looking at the Media Info of the file within Plex is see it has a resolution of 1080p, bitrate of 32,153. The codec is H264
A TV episode recorded from Plex (Daniel Tiger’s Neighborhood) is also 1080p resolution, but only has a bitrate of 9,671. It’s in the MPEGTS container that all the DVR content records to. The codec is MPEG2VIDEO.
Depending on where you live, this may not be accurate. The Blu-Ray is most assuredly 1080p (and would Direct Play on most devices, since it’s AVC). However, the TV episode is very likely not 1080p. If you’re in the US, it’s either 1080i or 720p. In that case, if it’s a 1080i broadcast, the issue might be related to your machine both deinterlacing and transcoding the MPEG2 TS. Both will be harder on a CPU than just transcoding (which would be the case with a 720p broadcast).
Do you have hardware accelerated transcoding enabled? That might explain the 20% max CPU. Try either enabling or disabling it, just as a test.
One Bluray example is “La La Land”. Looking at the Media Info of the file within Plex is see it has a resolution of 1080p, bitrate of 32,153. The codec is H264
A TV episode recorded from Plex (Daniel Tiger’s Neighborhood) is also 1080p resolution, but only has a bitrate of 9,671. It’s in the MPEGTS container that all the DVR content records to. The codec is MPEG2VIDEO.
Depending on where you live, this may not be accurate. The Blu-Ray is most assuredly 1080p (and would Direct Play on most devices, since it’s AVC). However, the TV episode is very likely not 1080p. If you’re in the US, it’s either 1080i or 720p. In that case, if it’s a 1080i broadcast, the issue might be related to your machine both deinterlacing and transcoding the MPEG2 TS. Both will be harder on a CPU than just transcoding (which would be the case with a 720p broadcast).
Do you have hardware accelerated transcoding enabled? That might explain the 20% max CPU. Try either enabling or disabling it, just as a test.
According to the “Get Info” on the TV episodes (at least of Daniel Tiger’s Neighborhood), it says it is 1080p. 1920x1080 resolution. Also all other content recorded from PBS. The only thing else I have recorded right now is an old episode of Seinfeld, so it would make sense that that isn’t 1080p. That one is 720p, but even that won’t stream cleanly.
I don’t have hardware encoding enabled. I’ve been having this problem since before the hardware encoding was released.
When I watch a Daniel Tiger episode, the server says “Video: Transcoding MPEG2VIDEO to H264” and “Audio: Transcoding AC3 to AAC”.
When I watch La La Land it says “Video: Direct Stream” and “Audio: Transcoding TRUEHD to AAC”.
Also, to add: I have the transcode temp directory set as a folder on an SSD. The video files themselves reside on a standard HDD. Not sure if that makes a difference, but it is more regarding my architecture and settings.
Ah! I see what you’re saying. The screen for the individual episode does say “1080i - MPEG2VIDEO”. So maybe the extra action of deinterlacing is part of the problem. I’d really like to be able to not have to deal with any post-processing before being able to watch any content. Especially because the problem exists during Live TV as well as recorded content.
And almost everything I"m recording is off of PBS. Except for other movies that I’ve recorded off other random OTA channels.
Avoiding transcoding is so tough for OTA content for the reason you noted: No modern media-consumption devices (From Roku, Google, or Apple) have chips that handle native decoding/deinterlacing of MPEG2. All of the options have limitations. But among those options:
Use a PC with Plex Media Player: It will direct-play and hardware-deinterlace almost everything, including 1080i MPEG2 (if you’re on a wired connection). But Live TV/DVR are not offered on PMP yet, unfortunately. And you’ll still need a separate device for Netflix/etc. (You can also consider native MPEG2 playback in Raspberry Pi, I believe, but I haven’t tested it.)
Allow Plex to transcode recordings automatically. That will make it a format that will direct-stream. But of course that doesn’t fix Live TV. And Plex’s transcoding uses inferior deinterlacing (we’re actually discussing this in a separate thread right now).
Manually transcode recordings. If you’re comfortable scripting you could do so, otherwise manually. I edit out commercials with VideoReDo and use Handbrake to dial in encodes. Obviously this is a fair amount of manual work. You could script up parts of it if you have the ability, but it’s not perfect.
Now all this said, one thing I don’t understand is why your setup isn’t handling live transcoding. That quad-core Core i5 should have plenty of power to handle it. And I assume your network bandwidth is reasonable if Blu-Rays can Direct Play. It’s why I brought up hardware acceleration: I’ve seen people report big delays with that.
Where I’m really confused is how anybody is able to use the Plex Live TV if I’m having so much trouble with it. Obviously I’m not using a top of the line processor, but others are using simple NAS boxes. And I don’t want to have to do a bunch of post-processing because that takes more time. I need Plex to be able to handle live tv and recordings just like my DirecTV genie box. If it can’t do that then there’s no way I’ll be able to convince my wife to ditch the satellite. It’s close to feature parity (at least as far as the features I’m concerned about) it’s just the performance that is the issue.
I guess I’ll just have to build up a new server and hope that solves the problem. My plan right now is a i7-8700 (six-cores, 12 threads), so if that doesn’t solve the problem, I don’t know what will.
If the current server is only using 20% of the CPU, I wouldn’t go straight to building a new server. Then you might just have a new server that only sees 15% of the CPU used.
Heck, perhaps start by reinstalling that server and starting from scratch to see what happens. I don’t have the issues you have with DVR and Live TV. The quality isn’t as perfect as direct playing, but it plays fine for me. And I have a very similar Core i5 chip in use.
Just as a follow-up, maybe it’s not an issue with Plex at all. Since it’s a Hauppauge card, it came with the WinTV software so I decided to try that for the first time in a long time. I’m actually able to watch something on there without constant buffering, but it is far from smooth. The audio is smooth but the video is constantly jittering. Even while that’s going there’s little to no activity on any of the disks, RAM usage doesn’t go up, and CPU usage is below 10%. So there must be something else going on with my server.
I tried shutting down some services that I thought could have caused some issues (including SQL Server) but still no luck.
I wanted an excuse to build a new server, anyway, since my current storage solution is maxed out. Hopefully that solves the problem.
I may have actually just accidentally figured out and solved my problem. And of course it has nothing to do with Plex.
My server runs IIS for a couple small web apps I built for myself and my family. Additionally, I have a Raspberry Pi-based weather station that takes sensor readings each second then sends the data to the server via a very lightweight web request where I save the data in a SQL Server database.
For some unknown reason the weather station crashed last night, so it was offline. I just happened to try playing one of my recordings last night while the weather station was offline and low and behold, it worked almost perfectly!
I haven’t gotten the weather station running again yet to test if the streaming bombs out again once it’s running, or any other tests to track down exactly what the issue was, but the only change from yesterday afternoon (when it didn’t work) to the evening (when it worked) was the weather station stopped running. Even though it isn’t resource intensive, there must be something that’s causing just enough of a bottleneck to something that is interrupts the system from the transcoding, even though it doesn’t show significantly on the performance monitors.
@blue-dawgie said:
Avoiding transcoding is so tough for OTA content for the reason you noted: No modern media-consumption devices (From Roku, Google, or Apple) have chips that handle native decoding/deinterlacing of MPEG2. All of the options have limitations. But among those options:
Nvidia Shield does and handles deinterlacing very will automatically. It’s a pleasure to watch NFL football or any other LiveTV action movies on it. Can’t say the same for other devices.
@blue-dawgie said:
Avoiding transcoding is so tough for OTA content for the reason you noted: No modern media-consumption devices (From Roku, Google, or Apple) have chips that handle native decoding/deinterlacing of MPEG2. All of the options have limitations. But among those options:
Nvidia Shield does and handles deinterlacing very will automatically. It’s a pleasure to watch NFL football or any other LiveTV action movies on it. Can’t say the same for other devices.
I was just talking about this recently in the Android TV forum to get a feel for experiences with MPEG2. It seems to be the only all-in-one solution right now! (I’m still pretty surprised there is seemingly no signs of traction for Live TV and DVR on PMP)
@blue-dawgie said:
Avoiding transcoding is so tough for OTA content for the reason you noted: No modern media-consumption devices (From Roku, Google, or Apple) have chips that handle native decoding/deinterlacing of MPEG2. All of the options have limitations. But among those options:
Nvidia Shield does and handles deinterlacing very will automatically. It’s a pleasure to watch NFL football or any other LiveTV action movies on it. Can’t say the same for other devices.
What does the Nvidia Sheild have that allows it to handle the deinterlacing so we’ll compared to other devices? Is it the software or something about the hardware? Does it have a more powerful GPU?
@blue-dawgie said:
Avoiding transcoding is so tough for OTA content for the reason you noted: No modern media-consumption devices (From Roku, Google, or Apple) have chips that handle native decoding/deinterlacing of MPEG2. All of the options have limitations. But among those options:
Nvidia Shield does and handles deinterlacing very will automatically. It’s a pleasure to watch NFL football or any other LiveTV action movies on it. Can’t say the same for other devices.
What does the Nvidia Sheild have that allows it to handle the deinterlacing so we’ll compared to other devices? Is it the software or something about the hardware? Does it have a more powerful GPU?
I really know nothing about it so I’m curious.
Their CPU/GPU can actually do hardware acceleration of MPEG2, including hardware deinterlacing. It’s the only Android TV box that handles both of those things successfully, to my knowledge. The guys in the Android TV forum were kind enough to walk me through the details just this past weekend. Check it out.