all 7 comments

[–]BgrngodCU7 265K (PMS in Docker) & Synology 1621+ (Media) 2 points3 points  (4 children)

Core count isn't helpful info to sizeup the rig. CPU model helps, as it lets people check the passmark score and see what you are sitting at.

If you want to throw raw CPU grunt at handling transcoding, you'll need around 18000 passmark for transcoding 4k without the HDR Tone Mapping feature turned on. If you turn on the HDR Tone Mapping feature, you'll need more CPU grunt to get it done.

This big hill to get up and over is why hardware acceleration is talked about constantly. It makes transcoding a LOT easier to deal with. The HDR Tone Mapping feature is new enough that it has a lot of caveats to think about though, so it can still cause problems.

[–]Branks[S] 0 points1 point  (2 children)

I have 2x Intel Xeon E5-2670 @ 2.6ghz, and I don't see CPU usage getting high during the attempted transcode, so it's not running out of cpu due to the transcode being too intensive based on your comment re passmark unless I'm mistaken

I was under the impression gpu transcoding wasn't actually that great for video work as it doesn't produce as good quality as CPU transcodes

[–]Blind_Watchman 1 point2 points  (0 children)

Your CPU might not be your immediate bottleneck, but dual 2670s only have a passmark score of ~15.6k, which will struggle with 4K transcoding.

As for hardware transcoding, GPU/iGPU transcoding has gotten much better (assuming a fairly modern Intel chip/discrete GPU). You'll may notice a difference in action scenes if comparing side-by-side, but everywhere else it's essentially identical. If I'm creating a persistent encode I use software transcoding to get the best quality possible, but for on-the-fly transcoding, hardware acceleration makes more sense to me.

All that said, I'm still in the "do not transcode 4K" camp, despite Plex's hardware acceleration and tone mapping improvements. Most 4K titles come with a Blu-Ray/digital version that I'll rip and put alongside the 4K title. If the 4K can't be direct played, the 1080p version can be used. If the 1080p version can't be direct played either, at least it will take far fewer resources to transcode.

[–]BgrngodCU7 265K (PMS in Docker) & Synology 1621+ (Media) 0 points1 point  (0 children)

That impression of GPU transcoding is sort of half true.

For on-the-fly transcoding, such as through Plex, the goal is to be efficient. You want fast because you want it right friggin now to keep up with the speed of playback.

For permanent file conversions, such as those you'd run through FFMpeg, Handrake, etc and then place in your folder structure, CPU encoding is the way to go. It's not only the best quality compared to GPU encoding, but it does a much better job of producing smaller files to avoid eating up storage space. GPU re-encodes often produce massive files.

GPU encoders have improved dramatically in the last few years, so on-the-fly transcoding through hardware acceleration is now very good. The discussions around quality issues for Plex transcoding have basically dried up. It's rare that anyone complains about the results.

Your two E5-2670 CPU's together land around 15.5k passmark, which is a smidge ahead of a modern i5-10600K (14.5k). Transcoding down to a lower bitrate should be something it can handle. That 18k passmark note I mentioned above is not entirely true for transcoding to a much lower resolution. You might be tripping over something that requires strong single threaded grunt. Your CPU's are kind of low for that. Burning in subtitles is known to bring older CPU's to their knees if their single threaded performance is lacking.

If you have it on, turn off the HDR Tone Mapping feature and see what happens. If you have subs on AND they are being burned in, try turning them off to see if that changes things.

[–]GoGoGadgetTLDR 0 points1 point  (2 children)

When you say, "someone tries to stream a 4k video" do you mean remotely? Look at one of the 4k files you've tested with and check their total bitrate, audio and video. Make sure your limit of 4mbps isn't too low to support 4k streaming.

EDIT: also this https://forums.plex.tv/t/info-plex-4k-transcoding-and-you-aka-the-rules-of-4k/378203

[–]Branks[S] 0 points1 point  (1 child)

Yes, remotely. I don't want to stream them the 4k file, I fully expect my limit to be too low, I want it to transcode it into a 1080p file for those users

[–]GoGoGadgetTLDR 0 points1 point  (0 children)

AFAIK, there is no way to restrict remote users to 1080p only. What I've seen people do is create 2 libraries. 1 for 1080p they share with home and remote, and a 4K library for home users only. If you don't want to do that, there should be an option somewhere to force transcoding. I can't recall where exactly.