Transcoder Upgrade Forum Preview

Announcing the Transcoder Upgrade forum preview!

Plex’s transcoder is a highly customized version of FFMPEG which has been accumulating bugfixes and features since it was forked back in 2012. With such a large number of differences, upgrading from the upstream repository became increasingly more difficult and took up more and more time. We decided it was time to clear out the bloat and start over, creating a brand new fork from ffmpeg 6.1 and only bringing over features necessary for the function of Plex Media Server. Additional work was done to make upgrading a much smoother process in the future.

While we are confident most bugs were fixed upstream, it’s possible some slipped through the cracks. That’s where you guys come in!

Known Issues:

  • On screen duration is updated during playback of certain files (PM-3653)
  • Live tv fails to transcode when transcoding to hevc (PM-3757)
  • Live tv fails to transcode when the stream incluses ASTC A53 CC subtitles (PM-3775)
  • framedrop bitstream filter not found (PM-3777)
  • DOVI profile 8 Tone mapping produces flashes of color on MACOS (PM-3816)
  • Transcoding using an intel gpu on windows can result in unexpected behavior (server crash, sw decoing, ect)
  • Some live tv video streams were generating errors

How it Works:

While this build does not have any new features, we have noticed performance boosts in certain scenarios as well as the previously mentioned bug fixes. The best way to help us test this upgrade is to install this forum preview build and then use plex as you normally would. While any issues you encounter are of interest we are primarily interested in achieving parity with the current version of the transcoder. Whenever possible please validate that any issue you encounter is not also an issue in the public or beta versions of PMS.

Before you proceed:

The server builds listed below are pre-alpha releases and have not been fully tested so we always advise caution. Make sure you have recent database backups and preferably run these builds independently from your main media server if possible and create new libraries to test pre-release software.
With that out the way…

Downloads (Updated 2025/08/13)

Docker

  • For instructions on how to install preview builds in our docker container please see HERE

Desktop Platforms

NAS Devices

11 Likes

If you are updating, why start with a version that’s two years old and not move up to 7.x?

5 Likes

This article was reading so well, until I got to your comment :rofl: and now it’s far less exciting…

Especially if they’re literally starting from scratch and re-forking… It really doesn’t make much sense to start from scratch with an already out-dated version… :zany_face:

Lets see what they say (if anything) :upside_down_face:

We selected 6.1 for the stability. At the time we started this project, FFMPEG 7.x was unstable.

With the new source code organization (as previously discussed here in the forum), we are able to upgrade , yes, even to 7.1, much more easily.

ps: naysayers be stoned lol

7 Likes

With starting from scratch it was more important to have a stable base from which to start than to get all the shiny new features. At the time this work was started 7.1 was still very much in active development, and to some extent that is still the case. I believe it is unfair to say that 6.1 is 2 years old as it is still getting bugfixes as little as 2 weeks ago. The changelog was also examined and the small number of features of 7.x we were interested in were easily backported. As @ChuckPa pointed out part of the work done was to ensure that future updates are measured in weeks instead of months which should lead to more frequent updates.

12 Likes

Just how much of the ffmpeg codebase is changed in your fork? It seems to me duplicating work, backporting changes and the like is a lot of work that could also be achieved with a simple wrapper, which would also means issues like GPL compliance and rolling updates would be a lot easier (as you just compile your shipped version from source, or link to a system-provided binary).

I believe ffmpeg 7.1 provides full Dolby Vision support, which is one of the main things missing from Plex transcoding right now.

Dolby Vision is a proprietary codec that requires a license to use legally. If Plex used the implementation in ffmpeg 7.1, they’d get the pants sued off them. Until such a time that Plex manages to license Dolby Vision decoding and encoding from Dolby, they will not be able to support it. Even then, they would need to follow Dolby’s specification and implementation guide, and pass their auditing, as they did with TrueHD and Dolby Digital Plus. They wouldn’t be able to use what’s in ffmpeg.

6 Likes

Dave is 100% correct. It is unlikely we will have DOVI support for anything except direct play until the patents expire. One of the biggest changes in our fork is the ability to compile codecs into shared libraries which can be delivered on demand. This allows us to track and serve up the licensed codecs as needed to keep licensing fees from skyrocketing. This cannot be achieved via a wrapper and is very unlikely to be accepted upstream. There are also changes that were needed in order to comply with our licensing agreement with dolby which have similar issues.

9 Likes

It seems to me that support for loading codecs at runtime (rather than building them into the binary at compile time), and having a standardized plugin architecture to build them off of, would be something the developers of ffmpeg would like to have. Have you tried suggesting a pull request to the ffmpeg group to introduce this kind of functionality?

In regard to this forum preview, is this ffmpeg upgrade limited to the transcoder or is it system wide ?

One example for asking is that plex coded around bugs with the older version of ffmpeg related to extracting embedded ID3v2.4 tags from mp3’s files. So if this preview does anything which could impact this then I’d take a look.

@Anaerin this functionality was implemented before my time and the developer who added it is no longer with the company but i was told by others it was submitted years ago and rejected.

@dokuro if you are refering to support for multiple values in a tag, this feature was migrated and i have it in my task list to submit upstream

Okay, thanks and yes that’s what I’m referring to. I’ll keep an eye on the thread for when it’s submitted.

Hey @chris_decker08, awesome work here, excited to try it out when I get back home at the end of the weekend!

Curious if yadif2x or hardware accelerated deinterlacing (yadif_videotoolbox in my case) is included or is planning to be included?

Unfortunately the new app force transcodes live tv meaning any interlaced content (All OTA channels in Aus) get deinterlaced to 25fps and it looks very bad. Would be awesome to have it deinterlace to 50fps on the new app.

Even if the new app were to direct play and deinterlace (I think was planned at one point), having ‘proper’ deinterlacing would be good for situations where you need to lower the bitrate in remote situations and still have 50fps.

Thanks!

One of the things that this update will enable in the future is more hw capabilities on mac. It sounds like i will need to work with the player team to get interlacing correct when that happens.

4 Likes

Would be much appreciated. Cheers

Is there a thread in which you don’t bully other users if they dare to say something you don’t agree with? Please tell us about your viewpoint rather than telling people how they are somehow wrong, Mr. Kent.

I am glad this is a project that is on its way now… thank you for that. I understand the reasons given for not using the latest version. Stability should be always top priority. I am looking forward to see this project evolve into beta and production releases, finally. Again, thank for for being transparent here.

3 Likes

Please stay on topic.

Off-topic posts will be removed.

1 Like

Hi team,

Right out the gate with this update, LiveTV now works on the tvOS beta 2025.19 with 1080i content, something that has been non functional since the new experience beta launched on tvOS.

Looking forward to try this more in depth.

Thanks!

5 Likes