Plex Remote Transcoder - A distributed transcoding backend for Plex

Yeah, that’s pretty much the main if not secondary reason why PRT was brought. You would have the plex server on your raspberry, then have prt do the transcodes on your desktop. Just follow the basic install instructions and you should be good to go.

Would be great if this was supported in Plex Cloud.
When it’s out of the beta stage, there will be a limit on the transcoding (3 active transcoding sessions) on each Plex Cloud instance, so it would be cool to offload that to a VPS or Azure.

Also many people who have a MSDN subscription, receive $150 credits on Microsoft Azure each month.
Would it be easy to use that on-demand like with DigitalOcean?

Would this work with multiple MacOS machines? I know that MacOS isn’t exactly like Linix would be.

Anyone know if 1.3.0.3059 is working with PRT yet?

@HellYeah_1994 said:
Hi guys,
is there a way to have an RaspberryPi as Server and a normal x86 machine as transcoder?
The ARM ffmpeg-binary certainly wont run on x86 :-?

@boboki said:
Yeah, that’s pretty much the main if not secondary reason why PRT was brought. You would have the plex server on your raspberry, then have prt do the transcodes on your desktop. Just follow the basic install instructions and you should be good to go.

From my attempts to make this arrangement work it won’t. The x86/x64-based slave machine attempts to run /usr/lib/plexmediaserver/plex_transcoder from the master’s NFS share and gets the error “cannot execute binary file: Exec format error” from the shell. This is because it’s trying to run the ARM executable from the raspberry pi on the x86/x64 processor of the slave which is not possible in general.

If I work out a way to make it work I’ll let you know.

@bacon1986 said:
From my attempts to make this arrangement work it won’t. The x86/x64-based slave machine attempts to run /usr/lib/plexmediaserver/plex_transcoder from the master’s NFS share and gets the error “cannot execute binary file: Exec format error” from the shell. This is because it’s trying to run the ARM executable from the raspberry pi on the x86/x64 processor of the slave which is not possible in general.

If I work out a way to make it work I’ll let you know.

In the setup guide, we share the Plex binaries via NFS for convenience. If you install PMS and PRT on the slave, and disable the network share of the binaries, I think it should work.

Okay it works,

  1. Dont share the binary folder
  2. On the slave rename /var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Codecs/c9ea179-1157-linux-ubuntu-x86_64 to c9ea179-1157-linux-synology-armv7, or create a new directory
  3. You may have to download the x86_64 codecs somehow

@dragonmel said:
@wnielson thanks…

the mother of invention is to get there before the other guy… I am always late… hahaha

edit…

just looked at both of those links and doesnt look like either have anything really working

what is the nearest thing to this right now… just running VMs and alwasy have at least one PRT sitting idle?

I am the creator of Docker
I abandoned the project because no one seems interested in it.

My project automated all the whole process. mount using NFS(secured) config / data / transcode volumes between master & slaves and automatically create VM’s on transcoding demand over digitalOcean.
You only needed to open some ports and execute both dockers.
Probably now don’t work because Plex guys in every version are changing a lot of thinks but If I see that people is interested I could retake the project.

For now I’m not using remote transcode because I have a very powerfull server and I don’t require to waste money using remote transcoding.

@segator

thanks for the reply…

I was thinking that

1 now that plex has an official docker
2 esxi v 6.5 has incoroprated very quick (instant) docker spinup

that it should be possible and preferable to spin up a docker for each transcode …

I dont have an environment that has too many clients right now… so its just a theoretical for me… but for people servering dozens … right sizing would almost be mandatory

Has anyone got this working with MacOS? I am a bit baffled in how the mount points translate.

Any update on prt for the 1.3.4 yet with GPU encodes? Slightly excited to try it :wink:

@boboki said:
Any update on prt for the 1.3.4 yet with GPU encodes? Slightly excited to try it :wink:

I subscribe to your question. Need more information about setting up application on Mac OS

It works with 1.34… standard git pull on prt and then rm -rf /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/ && rm -f /usr/lib/plexmediaserver/plex_transcoder && dpkg -i /vessel/Storage/Plex/plexmediaserver_1.3.4.3285-b46e0ea_amd64.deb && prt install and it went without a hitch. But I do not think the GPU encoding has been implemented yet. Sounded like he was wrestling with the DVR stuff and still trying to find a more elegant way to make the sync stuff work (hack work around right now, but it’s functional).

Hi All…
I have a few questions, since I’m planning to make a little server park with slave transcoders, because i have 3 extra machines for the purpose :slight_smile:
so, to get the best performance, where should i put my money ? is it necessary to have a fast disk, like SSD in the slave servers? or should i concentrate the disk performance to the head server and my fileserver? in other words, how much disk capacity/performance does the slave use?

I’m thinking my complete setup should be like this:

Head server: HP Microserver Gen8 with Xeon E3-1280v2 and Ubuntu 16.xx installed on a SSD
Fileserver: HP Microserver Gen8 with G1610T and xpenology, and bound the NIC so i have twice the network speed.
3 x PRT: Lenovo E31, Xeon E3-1225v2, 4GB Memory and some random old HDD (CPU’s will be upgraded over time)

any thoughts to make some changes to gain performance?

Anyone tried the new 1.5.0.3501 version with PRT yet? :wink:

@Nordicpipeline said:
Anyone tried the new 1.5.0.3501 version with PRT yet? :wink:

Just tested, same problem as with 1.4 releases. It’s transcoding on the servers, but not playing :frowning:

EDIT:
After tip from Wnielson on his Github. do the following:

Go to plex.tv web → settings → server → show advanced → Network → in the “Lift of IP adresses and networks that are allowed without auth” add your slave’s ip’adress or your network.

Works flawless after that on 1.5.0.3501

No, the GPU parts have not been coded over yet, stick with 1.3.4.3285 for now.
https://gitter.im/wnielson/Plex-Remote-Transcoder is where he updates the most at.

Just set this up again on 1.5.0 with the network auth change. Working great so far.

Edit: Works great for streaming, issues with seeking in any non web app though. Dev is working on figuring it out.

I’m trying to understand this better. Right now my Plex server is an ODROID XU4. Works great except when subtitles need to be burned in, then it’s almost-but-not-quite adequate and buffers every 10 seconds or so.

Would I be able to distribute the transcoding of a single file across two ODROID XU4s? Or could I only at best have a single device dedicated to transcoding a single file at a time? I don’t think the latter would help in my case.

@Eleocharis said:
I’m trying to understand this better. Right now my Plex server is an ODROID XU4. Works great except when subtitles need to be burned in, then it’s almost-but-not-quite adequate and buffers every 10 seconds or so.

Would I be able to distribute the transcoding of a single file across two ODROID XU4s? Or could I only at best have a single device dedicated to transcoding a single file at a time? I don’t think the latter would help in my case.

There is a pull request that changes the behavior of the transcoder from a single computer doing all the work to distributed chunks over all hosts available. It is still in review before the merge but it is something you may want to take a look at.