Transcode lag / no support for codec mpeg4, failed setup for format vaapi

Server Version#: v1.40.0.7998-c29d4c0c8
Player Version#: Edge Browser

Plex Media Server Logs_2024-03-06_00-21-14.zip (12.9 KB)

Hi,

I am trialing a month of Plex Pass to stream and transcode video to clients across the LAN using wired connections.
However, I am finding when transcoding there is a delay when testing on a wired Windows 11 using Chrome or Edge.
It takes at least 10 seconds to load or skip ahead for an old 624x384 XVID AVI (very often 20+ seconds).
Full HD files load nearly instantly (I suspect it’s not transcoding these).

My setup is the official Plex Docker container running on a virtual Ubuntu Server LTS, which is sitting on a Proxmox host.

Using intel-gpu-top on the Docker host I can see that the iGPU goes from 0% to about 10% when transcoding.
I’d expect the iGPU to be pushing much harder if this was the bottleneck.

In the Plex logs I can see this:
Mar 06, 2024 00:19:24.673 [140254989265720] INFO - [Req#1c3/Transcode] Preparing driver imd for GPU Alder Lake-N [UHD Graphics]
Mar 06, 2024 00:19:24.906 [140255074429752] ERROR - [Req#1d6/Transcode/r91kpte405m3uenrjbxkzqh1/7f828c80-d2a8-4d89-b7f0-d3f70754672e] [mpeg4 @ 0x7f3b1ebed600] No support for codec mpeg4 profile 0.
Mar 06, 2024 00:19:24.907 [140254987156280] ERROR - [Req#1d9/Transcode/r91kpte405m3uenrjbxkzqh1/7f828c80-d2a8-4d89-b7f0-d3f70754672e] [mpeg4 @ 0x7f3b1ebed600] Failed setup for format vaapi: hwaccel initialisation returned error.
Mar 06, 2024 00:20:38.755 [140254989265720] WARN - [Req#31a/Transcode/r91kpte405m3uenrjbxkzqh1] Transcode runner appears to have died.

I ran a JellyFin container on the same hardware, and it transcodes fine (about a second delay), so I believe the issue is something to do with Plex.

I am not sure what the slowdown could be, any ideas? Or any other ways I could troubleshoot?

Logs attached.

Happy to add anymore details that may be needed.

Thanks.

More setup info:
Proxmox host 8.1.4
Intel N100 CPU
32GB RAM

Docker host (VM)
4 x vCPU
8GB RAM
iGPU passthrough enabled
Ubuntu Server 22.04.3 LTS
Kernel 6.5.0-18-generic
Docker 24.0.7

Using the plexinc/pms-docker:latest image.
Unlimited CPU and RAM usage allowed.
/dev/dri passed through to container.

The source files are located on a TrueNAS VM running on the same host (4 x vCPU, 16GB RAM).
Intel drivers are installed on the Docker host.
Plex Pass is active.
Plex transcoding is enabled and set to use the N100.

That’s a badly encoded file

No support for codec mpeg4 profile 0

You’re going to find that CPUs are going to drop support for those older encoding methods. Profile “0” is incorrect.

Best solution is to quick-spin re-encode to H264

Secondarily. NO idea why, after virtualizing Ubuntu server, you went further and abstracted with docker. That’s like putting your sandwich in a baggie and then wrapping it with cellophane

It is an old xvid codec I agree, but is it badly encoded or just old? I have them from multiple sources and profile 0 is the video in every one.

I do have a lot of these types of files, but it’s technically possible for me to do this. Is there a manner to do this without losing any quality?

It’s the recommended way of doing this, it’s just nested virtualization which is an industry standard.
Source: https://pve.proxmox.com/pve-docs/pve-admin-guide.html#chapter_pct

  1. XviD – You’re going to continue to lose HW support in the newer CPUs – FACT.
  1. I’m the engineer who handles the Ubuntu packaging.
  • Putting PMS in a VM – :white_check_mark:
  • Passing the GPU through – :white_check_mark:
  1. Wrapping it again in Docker – TOTALLY unnessary.
    You’ve got a well behaved application , which passively configures itself to your host at installation time.
    – Docker is a namespace, which you’re now putting inside a VM (which is itself another namespace from the host OS’s perspective)
    – In all the virtualization work I’ve done, I’m going to disagree that “double gloving” is necessary here. but this is your machine. I do ask you consider "how much is too much abstraction? How many layers? … )

My PMS systems ALL run native on the host. My Proxmox development system has PMS native on that VM’s Ubuntu installation. There aren’t any issues with it (i3-7300 with full HW capability)

Well I don’t know what your problem is and why you are being so rude and off-topic.
You are just ignoring the real problem and any questions I have.
My virutalisation setup has nothing to do with the performance issues at hand, and I never asked for your uninformed opinion on that.

I ask for help and all you seem to want to do is berate my setup, when you havn’t a clue of what else is running on this system (screw all the other Docker containers running on this system then right?), or anything legacy, and whether this Plex setup is even the final solution (it could just be a test for all you know).
You ignore my questions, and still go on about how I have built this wrong.
You say you are the “engineer who handles the Ubuntu packaging”, well done, I have decades of experience in the tech sector across all different workloads from field support, enterprise infrastructure, project work, to back-end development. What difference does that make? It still doesn’t mean I know everything, so therefore I don’t act like I do, so why do you?
“In all the virtualisation work” you’ve done, if you havn’t seen setups like this, or understand the actual pros and cons, then I can only say that you have had a very sheltered experience of virtualisation.

If you don’t know the benefits of virtualising in this way (I’ll give you one for free - operational maintenance) then I suggest you ask questions or go and learn rather than attack people and make incorrect half-written statements USING CAPITALS. You just show how you don’t really know what you are talking about. Go educate yourself.
I even pointed you towards the official documentation for Proxmox on this subject, if you think you know more than they do about their own product then I think that says it all.
But it seems you would rather go on and on about the minor performance hit you get from running Plex in the manner I am (spoiler, you are running virtualisation too, so if you are that picky about performance hits that make no real-world difference then you should just run Plex on real hardware and not VMs).

I came onto this forum asking for help in a polite manner, providing as much detail as possible. And this is how you respond? God, how do you behave for less technical people?

You havn’t been any help, you didn’t even answer my questions, you just wasted both of our times.
I’m just gonna let my Plex Pass run out in the next week or so and switch to JellyFin it seems (that has no issues on identical setup and files).
Good job putting a customer off of a product you endorse!

You should read your own community guidelines on Plex, mostly “Be kind to your fellow community members.” Which you certainly are not with your responses.

If you can’t see the truth in the above then it sort of reinforces my point.

I imagine I will get some sort of witty response to this, or even a ban, but at this point it doesn’t really matter if I can’t get Plex working properly, I can’t get any community support, and I am just going to have my setup vilified by unpleasant people.
Do your worst.
Have a good life.

Seriously, some people!

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