Transcoder fails when `/transcode` is on a network share

server-docker

#1

Update: This has been resolved in 1.5.4 which is available to the public. Removing the announce status on this topic.

Starting with 1.5.1, if the transcoder is working with either the AC3 (Dolby Digital), EAC3 (Dolby Digital+), or TrueHD, then the process can fail if the /transcode is really located on a network share. The transcoder requires certain filesystem capabilities to work which are typically not available on shares.

This is most relevant for FreeNAS Corral users because any volumes you create are network shares. If you examine your docker config and find that /transcode is located on the host, such as seen below, then you need to change this:

The easiest solution is to delete the volume and then it will persist in the VM. Check the checkbox next to the volume and then hit the trash button. Finally save the container.

After this you will see the /transcode mount existing, but it will be in the VM instead.

Lastly, since FreeNAS does NOT recreate the container correctly when you edit it, it completely bypasses the initial setup scripts that run in the container the first time. One of these steps is to correct the permissions of the /transcode directory. So click on the Console button for your container and in the new browser window type chown -R plex:plex /transcode.


#2

Perfect, it works! Thanks!


#3

@gbooker02 said:
Lastly, since FreeNAS does NOT recreate the container correctly when you edit it, it completely bypasses the initial setup scripts that run in the container the first time. One of these steps is to correct the permissions of the /transcode directory. So click on the Console button for your container and in the new browser window type chown -R plex:plex /transcode.

This was the last crucial step, thanks!!


#4

Thanks for the solution! Worked for me!


#5

is this the lack of inotify functionality that is causing the problem? The weird thing is that for me it works (with the transcode mapped to a network drive) if I lower the transcoding to 2Mbs 720. Is there some sort of different transcode process followed at the lower rates?

I created the below post for this same issue, and was trying to work out if this is something that is unique to 1.5.x and whether it could be fixed. Any Plex employee want to chime in on whether this will be fixed, or whether the new 1.5.x train won't allow transcode to be mapped outside the Docker Container?

https://forums.plex.tv/discussion/265449/problem-with-freenas-plexpass-docker-container-and-transcode-path-mapping#latest


#6

Yes, it will be fixed in an upcoming release.


#7

Does this apply to things like UnRaid + Docker?

Btw, wasn't the "Transcode" folder automatically configured if there's nothing in the docker config?

Cheers,
anthonws.


#8

@anthonws said:
Does this apply to things like UnRaid + Docker?

Btw, wasn't the "Transcode" folder automatically configured if there's nothing in the docker config?

Cheers,
anthonws.

I too would like to know how to fix on unRAID + Docker


#9

This doesn't seem to only be affecting FreeNAS. I'm having this same issue on Ubuntu + Docker. I'm running PMS 1.5.3


#10

Thanks, worked for me too
[FreeNAS-Corral-MASTER-201703282242][Plex Docker Version 1.5.0.3501]


#11

Just curious when this fix will be rolled out as it also affects the remote transcode project.


#12

I'm using Seagate Personal Cloud to host my PMS. All the videos work fine on Roku but keep buffuring on Apple TV 4... Is this the same issue?


#13

@rlobbins said:
Just curious when this fix will be rolled out as it also affects the remote transcode project.

The next release should resolve this. I'll reply here when the fix is released and move this topic out of being an announcement.

@adamm@live.ca said:
I'm using Seagate Personal Cloud to host my PMS. All the videos work fine on Roku but keep buffuring on Apple TV 4... Is this the same issue?

Likely not. This issue causes files to not play back at all.


#14

I am on linuxserver/plex and version 1.5.3.3580 has the same transcoder problem.
Though, after downgrading to 1.5.2.3557 transcoding works like a charm again.


#15

Would this also apply to those of us running our /transcode directory from a RAM disk?


#16

@kopfpilot said:
I am on linuxserver/plex and version 1.5.3.3580 has the same transcoder problem.
Though, after downgrading to 1.5.2.3557 transcoding works like a charm again.
While it was working with 1.5.2.3557 last night, it stopped working.


#17

Appears that the new transcoder implementation does not work with docker at all?

I tried a third option, where the transcode folder is in the same general container aufs overlay.
I also tried using an implicit volume mapping (=3nd screenshot from 1st post) and an explicit volume mapping (=1st screenshot from 1st post). All three variations result in data beeing written into the transcode folder with proper ownership and permissions, but can't be used by the server.

Example mapping for an explicit volume mount (1st screenshot from 1st post) looks like this in docker inspect:

{
"Source": "/opt/docker/plex/transcode",
"Destination": "/transcode",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}

The "vm" mount point in the 3rd screenshot from 1st post is an implicit volume mapping. It applies if a volume is declared in the Dockerfile, but no volume mapping is provided during container creation.

With docker inspect it translates to (random generated id will differ on each container):

{
"Name": "1d78465e2b45de609d0454cff7521507898bfb445d3a397d114077003c5cb110",
"Source": "/var/lib/docker/volumes/1d78465e2b45de609d044cff7521507898bfb445d3a397d114077003c5cb110/_data",
"Destination": "/transcode",
"Driver": "local",
"Mode": "",
"RW": true,
"Propagation": ""
}

In order to bypass implicit volume mapping of the /transcode folder, I created a /test folder inside the container, chowned it to the plex user:group and changed the path in the transcoder settings to /test.

Thus, data in /test should have been inside the general container overlay, rather then in an implicit volume (like shown above).
But this doesn't work either, even though I can see the files are created in /test and have the expected ownership and permissions.


#18

I will try removing the post based transcode location tonight and make it a VM. I’m currently running FreeNAS Corral with the latest Plex pass docker container. I too am not being able to transcode files. I get the “Transcode failed” error.

It’s a MKV file.

I also read that using the non-Plex pass container works. I’ll try changing the transcode file location first.

If that works, is that supposed to be a permanent fix or is it supposed to be fixed on an upcoming update?


#19

This workaround does NOT work. Still many issues. When is a fix coming out?


#20

It's a problem wiht unRAID docker too!
At least roll it back to 1.5.2 (or whenever it worked) until you guys figure this shiz out.
Love you guys but this is really frustrating.