Plex Media Server Automated DigitalOcean Transcoding

Hi Guys, I writing the DigitalOcean transcode Remote,

thanks to the owner of the idea of PMS remote Transcoding @wnielson

See his post forums.plex.tv/discussion/178320/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/p1

Thanks also to user @JuanHeredia to help with the coding

what is it?

consist in a web server (in java, work on windows also) that do as a VM orchestrator.

Plex master ask for a idle VirtualMachine and web server provision one ready to use. (this part need to be recoded for windows, but it’s the easy part) the orchestrator send the IP of the VM to the PMS wrraped transcoder and it run the plex transcode command over SSH to the VM

the web server control every virtual machine created if detect that some VM are idle for long time automatically drop them, every VM send notify request to web server(sending the status of the machine transcoding or idle) it will be interesting to send all the metadata generated by transcoded and web server redirect to PMS, but for now it’s not prioritary.

to share the transcoded video files from remote transcoder to main server I’m using smb (for future compatibilty with windows)

The only problem to solve is the time that digitalOcean gets to create a VM, PMS do a timeout so i thinking to send a video (previously encoded) meanwhile(showing something… like Loading Movie…) and kill the transcoder when the VM is loaded and ready to use, because PMS will retry and this next time will connect directly to VM.

What do you think guys? any idea to solve this problem?

my intention is to create a full complete docker (only linux) with PMS + Web server VM orchestrator ready to use, you will only need to provide digitalOcean Token and normal config of PMS

Great idea @segator and thanks for the effort.
I really love to help in this project. Let’s see what’s gonna be and if there some ideas from other guys here int the forum.

Hi guys I have finally a first version that seems it works.
you can try it and give me feedback.
You only need to have a linux with docker support and nfs-kerne-server package
execute the two dockers and open some ports in your Firewall.
here is the link with the sources and one example.

interesting.
any plan to have a ARM docker too?

i would be very interested to try this on a rpi2

Very nice thing ! It would be great to have statistics of what you paid for a month (for X transcode sessions) to let us have an idea of the price :slight_smile: Thanks you !

yeah this docker in my case run more or less 30 or 40 VM per month, and I use the VM at 20€/Month so I usually waste 4 o 5€ month.

Anyway the guys of Plex change the way transcoder work and screw up my docker :frowning:
I’m working to fix it.

@segator why not jus create a docker container for the remote transcoder to be used with any plex docker container (by mapping ?)

yeah I tought about that I want to use docker-machine in the orchestrator to deploy hosts from differents providers and use a docker as the transcoder the problem is the timming docker machine need more time than explode direct Api (atless in DO)

I need to think more about this, but the idea would be to use something like docker swarm + consul for this

Great idea. Would it be cheaper to use AWS though?

AWS is slower and more expensive than DigitalOcean