Video kills the server CPU - why?

When I play a particular video the_fighter_mediaInfo.txt (5.0 KB) on my Vizio TV or my fabulous Roku, my server CPU gets hammered transcoding and the video becomes unplayable after a minute or so. I wouldn’t expect this since it is an MP4 and only 1080p. The only thing I can figure is the audio is being downgraded, but audio conversion shouldn’t tax the CPU, right?

It play in the web player w/o an CPU load on the server.

Unfortunately, PlexWeb is an entirely different beast and supports almost everything you throw at it.
According to the below article, x264 level should be 4.0 or lower. Your media is 4.1. This might be the issue.
https://support.plex.tv/articles/203810286-what-media-formats-are-supported/

This video is invalid. It has 8 reference frames, but is only labeled with AVC profile level 4.1
But 8 reference frames at a resolution of 1920x1080 pixels requires level 4.2

Plex is performing its own format detection. If you take a look at the Plex media info, you should see that it determined a higher level than 4.1

Which then causes your server to transcode this video on playback time, because your TV probably only supports up to level 4.0 or 4.1 natively.

1 Like

Is that media file quite old? The version of x264 used appears to be very old indeed.

Once upon a time, there were some bugs in x264, and in some situations it could calculate the number of reference frames incorrectly.

Reencoding it manually or using Plex’s Optimize feature might be good options.

Nah, it was Handbrake users who thought they were qualified to use the ‘Advanced codec options’ page… :smiley:
(which thankfully is nowadays not accessible to regular users anymore)

What makes this more confusing is that I can use the TV’s native DLNA player and it plays perfect. So the TV has all the capability built-in.

Is there a way to correct the file so Plex understands it better? Will ‘optimize’ do this?

Yes, it has already been mentioned above.

Well that too … lol. Though that was often people setting the level HIGHER than necessary, because 11 is louder than 10, after all. :slight_smile:

Because the version of x264 from his output is old as the cows, I wondered if it was something more like this:

#3307 (-level AVoption does not set refs with libx264) – FFmpeg

@justinwasthere - let us know if Optimize works. Universal TV should be fine.

Optimizing for TV worked.
Setting the app to use H.264 level 5.0 also worked on the original. (default is level 4.2)
Running it thru Handbrake also worked. (I guess basically the same thing Plex Optimization did.)

I guess that means the TV DLNA player supports level 5.0…

Thanks for the info and solution.

1 Like

It’s likely that the TV can play some content above the threshold for 4.1, but almost certainly not all the way up to 5.x.

Most standalone players don’t attempt to validate the level in the media, they just try to play it.

1 Like

It can happen that you may never see a side effect, but maybe once there might be a distortion in the picture, where parts are static and parts keep on moving.

1 Like

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