-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"EAE timeout! EAE not running, or wrong folder?" Error #125
Comments
I believe others have seen similar issues in the past. For example here: #41 (comment) In that particular case, from what can also be seen in the linked content they posted, it might be related to using a network share that doesn't propagate fs events. In my case I use gluster and haven't seen those issues. The person seeing it was using nfs. |
One setting you might want to look into is TRANSCODE_EAE_LOCALLY. It's in the Readme. |
I use glusterfs for the tmp folder. I used the default settings when I setup gluster. Is there something on my gluster volume that I should enable to make this play nice? |
Not that I know of, I used default settings as well. Maybe the content I tested with doesn't require the EAE audio encoder, which is part of Plex, not something clusterplex interacts with directly or anything like that. |
I've been researching this a bit more. It might be necessary for us to manually start EAE on each worker. |
I'll be more than happy to test it for you. Let me know when 👍 |
This issue is stale because it has been open for 30 days with no activity. |
I do plan on looking into this further. I was able to download the appropriate EAE binary from Plex servers, however, there's an associated (and mandatory) license file which I still haven't determined where Plex gets it from. |
This issue is stale because it has been open for 30 days with no activity. |
This issue is stale because it has been open for 30 days with no activity. |
Do you have an update on this? I have a few thousand media files that are impacted by this. Using the ENV variable does fix it, however when it transcodes locally the transcoding quality is limited to 720p at best, even with a 4k video file. This issue is what is holding me back from going from default Plex server to using this in my k8s cluster with CEPH. |
I did look into it for a while, but was never able to get a hold of the license file required to run EAE. |
i would like to help. can you explain in a few setences whats the issue behind EAE? I know many questions, but maybe it would be hepful for other people to understand the workflow - so we can maybe help :-) |
Oh, that'd be amazing! Now, the main issue I came across when attempting to download the corresponding EAE and run it on a Worker before transcoding, is that it won't start due to a missing "license" file which should live along-side it. And given that technically with ClusterPlex your PMS and your workers don't necessarily need to match Architecture, it's not like we can just try to copy it off of the main PMS or something like that. I'm not sure if Unicorn Transcoder ever got that part to work, maybe they did and we can look into how it was done. If you want to give it a shot initially you can try copying EAE and the license file into a worker, starting it in the background and attempting a transcode in that Worker. I believe that's how it works, but it's all based on a great deal of speculation on my part since none of it is open-source nor is there public info about it AFAIK. |
I found a way to grab a eae license! its sniffed the plex traffic and it is pretty simple: Generate any GUID ( https://www.guidgen.com/ ) make the following request:
copy license string //EDIT: Quick and dirty bash which you could probably just copy paste into worker launch script:
|
That's very cool!! I never got that far :) Now, regarding the EAE Version, I believe it's actually not static, but rather bound to the plex version, and it has different values depending on the architecture as well if I remember correctly. The problem is that it used to be "extractable" (similar to the plex version) from the Plex Executable, but it no longer seems to be the case. I believe Unicorn Transcoder has the static value fixed per version in the code, so they haven't been able to extract it either. Maybe using an older version of EAE with a newer Plex version works, and we can fix it to a specific version. Don't know if that would work. |
well, @pabloromeo could just you implement it with a static version as workaround? at least für x86_64 ? Should i send a pull request? |
So...I think I might have good news :) Then to actually turn on the experimental feature you'd need to add the following environment variable to the worker nodes: You might also have to remove One last thing: In order to get it to work I also had to change the transcoding location. Initially I was using two separate persistent volumes, one for |
Thank you for all your work on this! I have created a new deployment to test out the experimental functions and I so far it appears to be working on the worker side initially however then it starts encountering the EAE not running error after a while. I have verified that the transcoder is working, content is being produced and updated in the
I also collected the logs from the PMS instance: pms.log I have configured the following settings in the Plex settings as well:
For reference my kubernetes cluster is configured to use CEPH as the storage provider for my persistent volumes using the ceph-csi driver and provides the following volumes for this project:
|
I see, yeah, my setup is similar, just using Longhorn for storage instead. |
That is correct, no matter what device I utilize it will just sit there and spin. Usually it takes about 3 minutes of it doing that before I get a generic error that an error occurred during playback and it closes. And unfortunately I get nothing further in logs either in Plex or in the worker than what is shown in the pms log file I attached to my previous comment. |
And other content unrelated to EAE does transcode and play back correctly? Just to rule out any network config issues, or forced https issues around the progress callback to plex and all that. Plex is quite sensitive to network configs and tends to reject calls related to transcoding made to plex from anywhere except 127.0.0.1. |
I've currently tested 2 parallel transcodes using EAE on two different nodes and I'm currently testing the Plex Optimization/Conversion functionality, which seems to also work correctly with EAE. |
It seems I've spoken too soon. It is working as expected, in the fact that EAE is starting, it is transcoding audio segments and they are being streamed. Unfortunately from further tests it appears that sections of audio are being lost so audio cuts out every once in a while. In the logs I'm seeing the transcoder add segments of silence to fill in for errors reading or writing segments. |
Last update for today (and sorry for spamming the thread): |
So to clarify, the /tmp does not need to be shared at all between any of the components? Does this also include the transcode directory as that has been set in the tmp directory? |
|
Version v1.3.17 now has EAE support turned on by default :) https://github.com/pabloromeo/clusterplex/releases/tag/v1.3.17 |
I have updated deployment, I can see that the transcode jobs do indeed start and I am not seeing any timeout issues anymore. However I believe I must indeed have some networking issue between my containers as I still am not getting any playback to start. I have created a GIST containing the manifest file I use to deploy this, maybe you want to compare what I have to yours for obvious issues? Please see my comment in there with the notes. If you want to move this to another issue or somewhere else let me know. https://gist.github.com/brandan-schmitz/7f775e30c17022caf62e3cccb5c07606 Note: I formatted it as a template kinda thing so others could potentially use it as a guide once it is working. |
What might be the cause in your case, is that in your configMap you are referencing PMS using it's service name:
Eventhough that works from a networking perspective, stupid plex rejects the traffic I believe. The same thing happened to me a few days ago when I migrated to k8s. |
For some time now, my setup was broken. Today I take some time to analyze what is the problem with newer versions, and it seems to be related to the EAE update: when EAE support is activated, the folowing command in worker.js fail : PS: Congratulation for the birth of your daughter ! |
Thanks @flopon! :) |
In a few hours I'll be releasing a new version of the workers that includes the EAE_ROOT path in the logs, which could help troubleshoot the issue. |
Thank you :) I've tried your experimental version, and got the following message in the log:
|
And it's perfectly working if I add Strange ! |
I've been able to reproduce the issue I believe, let me try to get a fix out in the experimental branch. |
Just tested the fix and it appears to be working. Will be merging to dev and later to master and creating a new release. |
Check out release 1.4.1, which includes the fix: https://github.com/pabloromeo/clusterplex/releases/tag/v1.4.1 |
1.4.1 tested, perfectly working. Thanks ! |
I'm getting the following error while trying to decode any stream:
Full log: hjyw270k9k3dg3oc1dx9bqddm_logs.txt
I ran a 'chmod -R 777' on my entire plex folder to make sure it wasn't a permissions issue. My transcoder temporary directory that is set in the plex settings is '/tmp/transcode'.
This is the output from /tmp/pms-5180a806-8e56-46e9-ab20-2ac8f0e46c64/EasyAudioEncoder/Convert to WAV (to 8ch or less)/
The WAV file isn't in there.
My plex stack: plexstack.txt
The text was updated successfully, but these errors were encountered: