Hi all,
I am fairly new to Plex, but have a long history with similar pieces of software. All the way back to the early days of things like MythTV. I’m seeing issues with high bit rate video freezing, or studdering when I attempt to play it back, and am wondering if anyone has had similar problems.
Let me start with my environment. I have a server with an AMD Phenom II Black CPU at 3.0 Ghz, and 8 GB of RAM on a “server grade” mainboard (ASUS M2N-LR). For disk, I am using 4 TB WD RED drives, and a 3ware/LSI hardware RAID card tied in to a SAS expander to support up to 24 bays. That machine is connected to the network using one of the onboard gigabit NICs. The network behind that is all enterprise grade HP switches, all connected to each other with a minimum of 1 gigabit connections. Benchmarks on the RAID array show that it can pull data off the disks PLENTY fast to flood the gigabit connection (and then some).
The behavior that I am seeing on the client is that it starts to play the video just fine, but every few seconds, it will freeze, and then either stay frozen, or some time later start playing the video again as if it had been playing the whole time it was frozen. This happens on pretty much any player that I have thrown at it. I’ve tried a Playstation 3, a couple of different Android set-top boxes, and a Sony blu-ray player.
I have spent a fair bit of time searching online to try to figure out what the problem is, and came across a few different articles talking about ways of dealing with this situation. One suggested using the “Optimize” function to make it play better. Another basically suggested turning off the ability to stream the videos without transcoding them. (Which, I suspect results in something similar to the ‘optimized’ videos.)
When I ‘optimized’ the video, it started to play just fine on various Android devices. That is how I noticed that videos with smaller file sizes seemed to play file, where the larger file sizes have issues.
I don’t believe the server is the problem, though when I optimized the one video to test, I did monitor the process a bit, and saw the transcode speed drop below 1x somewhat often. However, the other side of that coin is that if I stream to a web browser for playback, it works perfectly. So, I don’t know if the “optimization” is using higher quality settings that streaming to a browser. If it is, that could explain the discrepancy. But, it seems to me that the CPU I have, while maybe not the ideal one to use, should be plenty fast for on-the-fly transcoding.
Because of all of this, I am starting to wonder if perhaps the player software is using a ring buffer that isn’t large enough to handle the higher bit rate playback? I could imagine that the freeze and studder I am seeing could possibly be related to the number of frames between each key frame in the video. Though, with older codecs I am used to seeing the image “break up” or become blocky when that happens. But, I don’t know if newer codecs like VC-1 and h264 are smarter about that and just appear to “freeze” when frames are lost.
Has anyone else seen anything like this? And has anyone found a way to make this work? I’d rather not “optimize” the videos down to smaller file sizes. I’d like to keep them all in their original format. (I’ve invested a fair bit of cash in a 40TB RAID array so I can keep the files in their format as much as possible.
Thanks!