First, let me say thanks to the Dev team - the transcoding / buffering DOES seem better, the live TV is most certainly better!
I was wondering, is there any good reason transcoding is running in 32 bit instead of 64 bit? The task manager shows Plex Transcoder (32-bit) clearly using my CPU.
The majority of systems at 64 bit now, and it wouldn’;t take but one line of code to check and drop the appropriate ffmpeg.exe file and it would most certainly speed up the process!
As a computer guy. I wondered the same thing myself some time ago about programs in general.
There is some real great articles out there about 64bit vs 32bit programing (sorry no links). All the articles agreed it is not as simple one would thing to move from 32bit to 64bit programing wise.
This would require the program to be rewritten from the ground up using all 64bit code, making 64bit api calls and other programs that are tied to it would need to be 64bit.
we will probably see a 64bit version released in the future, as they have made a 64bit app.
but then Plex would have to manage 2 separate server code threads a 32 and 64bit core codes, that will each need to be tested out, currently it is one code core, to run on all devices.
Remember a lot of the devices out there are still only using 32bit core processors.
While it would be nice to have both available now, I reality it is a time issue for the devs, Do they currently have the coder base to support 2 separate code lines, or just make sure one functions really well, while slowly fleshing out the other.
Since it is a 3rd party program that is called with arguments, I figured the codebase is independent from the 3rd party code, such as the hardware encoding would be native to the driver used. Am I incorrect here? If the code from 3rd party is compiled in with the plex code, then what you are suggesting makes sense.
Are you a developer with Plex, or is this your assumption that the call must be a 64-bit call that is not included in the codebase?
thanks!
As mentioned in previous post currently Plex server is 32bit code base.
However from my limited experience A 64-bit call, to a 64-bit 3rd party app, such as an encoding/decoding engine, would need to come from a 64 bit base code.
64 bit base code can make calls to 32 bit apis, if properly written.
I however know of no methods of coding from a 32 bit base code to a 64 bit api. And most programmers I know of wouldn’t bother when 32bit apis are present, and readily available.
It depends on how the call is made… For example,. I can launch a batch file that launches the 3rd party app… That or vbbscript, or powershell, or many others… I don’t think it matters - unless the only way to lauch a COMMAND LINE UTILITY with parameters is with a native (plex env.) launch code… but there is always a way around these kind of limitations.
You are correct, A 32bit app can make a call to open an independent 64 bit app. But we are not talking about simple application launching, with Plex.
Plex server needs to both launch/close the trans coder module, then capture data from the trans coder, and broadcast that data, while communicating with the device that is being broadcast to.
Could this be done from 32bit with 64bit encoder. Possibly.
But remember, Plex server is developed to run on lots of devices, That use 32bit processors.
As mentioned previously, it’s about time. To put in a 64bit trans coder, they now would have to spend time on a separate 64 bit code fork. for just 64bit devices. then make sure, that server fork is compatible with all the down stream devices, they currently support.
Because PMS is running on macOS Catalina which is a 64bit only operating system, does that suggest that the transcoder is 100% coded as 64bit, as least for that superior OS?
To not having to support 2 different Windows versions. It’s all about the cost.
If there eventually comes a time where only 64 bit Windows is in use, Plex will very likely switch to 64 bit. While this time is definitely coming closer, we’re not there yet. There are still too many mini-pc’s with 32bit architecture used as Plex servers.