# Plex Remote Transcoder - A distributed transcoding backend for Plex

**URL:** <https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681>\
**Category:** Dev/API Corner\
**Tags:** other-dev\
**Created:** [August 21, 2015, 4:06pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681 "2015-08-21T16:06:56Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![CB2131](https://avatars.discourse-cdn.com/v4/letter/c/9fc348/32.png) [@CB2131](https://forums.plex.tv/u/CB2131)\
**Post date:** [August 24, 2015, 2:10am UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/21 "2015-08-24T02:10:38Z")

</div>

Yes correct, prt is run as under plex user

---

<div class="post-metadata">

**Author:** ![wnielson](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/wnielson/32/2673_2.png) [@wnielson](https://forums.plex.tv/u/wnielson)\
**Post date:** [August 24, 2015, 4:57am UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/22 "2015-08-24T04:57:57Z")

</div>

> @CB2131 said:  
> Yes correct, prt is run as under plex user

prt gets called by PMS, so the configuration of prt must be done as the user running PMS. su plex, then run prt add\_host, then check ~/.prt.conf.

---

<div class="post-metadata">

**Author:** ![foux](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/foux/32/85082_2.png) [@foux](https://forums.plex.tv/u/foux)\
**Post date:** [August 24, 2015, 12:14pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/23 "2015-08-24T12:14:51Z")

</div>

@CB2131 that seems absolutely great!

Just a quick question before trying it out : does it handles slaves being online / offline?

Thanks!

---

<div class="post-metadata">

**Author:** ![CB2131](https://avatars.discourse-cdn.com/v4/letter/c/9fc348/32.png) [@CB2131](https://forums.plex.tv/u/CB2131)\
**Post date:** [August 24, 2015, 12:30pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/24 "2015-08-24T12:30:15Z")

</div>

@foux I could be wrong, but it doesn’t seem like it handle slaves being online / offline at this point. However @wnielson would be the right person to confirm. All in all, its a great rough concept!

---

<div class="post-metadata">

**Author:** ![foux](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/foux/32/85082_2.png) [@foux](https://forums.plex.tv/u/foux)\
**Post date:** [August 24, 2015, 1:02pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/25 "2015-08-24T13:02:25Z")

</div>

Thanks for the answer @CB2131  
Sorry, I meant to mention @wnielson, I don’t know why I put your name instead 😉  
@wnielson do you have an answer on this?

---

<div class="post-metadata">

**Author:** ![wnielson](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/wnielson/32/2673_2.png) [@wnielson](https://forums.plex.tv/u/wnielson)\
**Post date:** [August 24, 2015, 6:51pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/26 "2015-08-24T18:51:46Z")

</div>

> @foux said:  
> Thanks for the answer CB2131  
> Sorry, I meant to mention wnielson, I don’t know why I put your name instead 😉  
> wnielson do you have an answer on this?

The most recent commit supports offline hosts–if a host cannot be reached, it is ignored. In the event that no remote hosts can be found, transcoding is done locally (on the `master`).

---

<div class="post-metadata">

**Author:** ![CB2131](https://avatars.discourse-cdn.com/v4/letter/c/9fc348/32.png) [@CB2131](https://forums.plex.tv/u/CB2131)\
**Post date:** [August 25, 2015, 4:25am UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/27 "2015-08-25T04:25:34Z")

</div>

Improvements & Additional Features

Limit concurrent transcoding sessions per shared user.

---

<div class="post-metadata">

**Author:** ![radar](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/radar/32/332_2.png) [@radar](https://forums.plex.tv/u/radar)\
**Post date:** [August 25, 2015, 3:36pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/28 "2015-08-25T15:36:02Z")

</div>

Thanks a lot. Going to test it right now.

---

<div class="post-metadata">

**Author:** ![radar](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/radar/32/332_2.png) [@radar](https://forums.plex.tv/u/radar)\
**Post date:** [August 25, 2015, 3:47pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/29 "2015-08-25T15:47:13Z")

</div>

Read it. I’ll test it on my OSX.

---

<div class="post-metadata">

**Author:** ![wnielson](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/wnielson/32/2673_2.png) [@wnielson](https://forums.plex.tv/u/wnielson)\
**Post date:** [August 25, 2015, 9:30pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/30 "2015-08-25T21:30:30Z")

</div>

> @radar said:  
> Read it. I’ll test it on my OSX.

I have a few OS X machines, but I have not yet tested this on them. Let me know if you run into issues.

---

<div class="post-metadata">

**Author:** ![CB2131](https://avatars.discourse-cdn.com/v4/letter/c/9fc348/32.png) [@CB2131](https://forums.plex.tv/u/CB2131)\
**Post date:** [August 26, 2015, 8:18pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/31 "2015-08-26T20:18:24Z")

</div>

@radar, how did it go?

---

<div class="post-metadata">

**Author:** ![CB2131](https://avatars.discourse-cdn.com/v4/letter/c/9fc348/32.png) [@CB2131](https://forums.plex.tv/u/CB2131)\
**Post date:** [August 27, 2015, 12:34am UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/32 "2015-08-27T00:34:59Z")

</div>

@wnielson Would it be possible for you to explain what the Port and User setting relates to when entering a new host?

---

<div class="post-metadata">

**Author:** ![wnielson](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/wnielson/32/2673_2.png) [@wnielson](https://forums.plex.tv/u/wnielson)\
**Post date:** [August 27, 2015, 12:51am UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/33 "2015-08-27T00:51:46Z")

</div>

> @CB2131 said:  
> wnielson Would it be possible for you to explain what the Port and User setting relates to when entering a new host?

Remote transcode jobs are launched using SSH. Therefore, port and user refer to the SSH settings. The port will almost always be 22. On Linux the user will usual be ‘plex’, but on OS X the user will vary.

---

<div class="post-metadata">

**Author:** ![wnielson](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/wnielson/32/2673_2.png) [@wnielson](https://forums.plex.tv/u/wnielson)\
**Post date:** [August 27, 2015, 12:54am UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/34 "2015-08-27T00:54:22Z")

</div>

Also, for anyone interested, I have been working on developing an automatic scaling approach to take advantage of on demand VPS services such as EC2, GCE, DigitalOcean, etc, and will be posting a guide in the near future.

---

<div class="post-metadata">

**Author:** ![igowas](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/igowas/32/84717_2.png) [@igowas](https://forums.plex.tv/u/igowas)\
**Post date:** [August 27, 2015, 5:45am UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/35 "2015-08-27T05:45:09Z")

</div>

does a solution like Apache Mesos or proxmox could work too ?

---

<div class="post-metadata">

**Author:** ![peva](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/peva/32/83145_2.png) [@peva](https://forums.plex.tv/u/peva)\
**Post date:** [August 27, 2015, 1:57pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/36 "2015-08-27T13:57:29Z")

</div>

> @igowas said:  
> does a solution like Apache Mesos or proxmox could work too ?

Proxmox would work, but you would really only see performance benefits if you are using different physical hosts. At least that’s what I’ve gathered from what the Dev has posted. 🙂

---

<div class="post-metadata">

**Author:** ![starbetrayer](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/starbetrayer/32/11335_2.png) [@starbetrayer](https://forums.plex.tv/u/starbetrayer)\
**Post date:** [August 27, 2015, 2:24pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/37 "2015-08-27T14:24:57Z")

</div>

> @wnielson said:  
> I am the developer of this project. I’ve just put together a guide [here](https://github.com/wnielson/Plex-Remote-Transcoder/wiki/Ubuntu-Install) detailing how to get started with two Ubuntu machines.
> 
> This is a work in progress, so feedback and bug reports are greatly appreciated.

Congrats, it is awesome that someone is devlopping this and in open source !!!

---

<div class="post-metadata">

**Author:** ![wnielson](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/wnielson/32/2673_2.png) [@wnielson](https://forums.plex.tv/u/wnielson)\
**Post date:** [August 27, 2015, 5:50pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/38 "2015-08-27T17:50:15Z")

</div>

> @peva said:  
> Proxmox would work, but you would really only see performance benefits if you are using different physical hosts. At least that’s what I’ve gathered from what the Dev has posted. 🙂

Right, I don’t see any reason why these wouldn’t work, but obviously the advantage comes from having multiple hosts for offloading transcoding too.

If you have a static collection of hosts, PRT works well as-is. If you want to be able to spin up hosts to do transcoding _on demand_, then more work is required. PRT supports both routes, but the second will require significant user configuration because specifics differ from platform to platform (think API differences between EC2, GCE, DigitalOcean, etc.).

I’m working on addressing the second route and am putting together a guide for doing so on DigitalOcean.

---

<div class="post-metadata">

**Author:** ![lastb0isct](https://avatars.discourse-cdn.com/v4/letter/l/2acd7d/32.png) [@lastb0isct](https://forums.plex.tv/u/lastb0isct)\
**Post date:** [August 28, 2015, 6:58pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/39 "2015-08-28T18:58:43Z")

</div>

Very interested in this…

---

<div class="post-metadata">

**Author:** ![mrjonny2](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/mrjonny2/32/155830_2.png) [@mrjonny2](https://forums.plex.tv/u/mrjonny2)\
**Post date:** [September 2, 2015, 5:43pm UTC](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681/40 "2015-09-02T17:43:45Z")

</div>

Has anyone put a step by step guide on how to do this?

[Previous page](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681.md?page=1)

[Next page](https://forums.plex.tv/t/plex-remote-transcoder-a-distributed-transcoding-backend-for-plex/112681.md?page=3)
