Tdarr icon indicating copy to clipboard operation
Tdarr copied to clipboard

Plugin transcode stack on a per OS basis (option)

Open second2falcon opened this issue 2 years ago • 2 comments

Is your feature request related to a problem? Please describe. Came to mind when I started trying to use a MacBook and a Windows PC (with an NVIDIA GPU) for the first time together to transcode my library. My macOS plugin (so the one for Apple's hardware encoder) is above the NVENC plugin and for some reason, my PC was always trying to use my CPU to transcode. My MacBook transcoded fine using its hardware encoder.

Describe the solution you'd like An option to make separate plugin stacks for each os (for example let's say someone has 2 Apple Silicon devices and 2 NVIDIA GPUs, they should be able to make separate stacks for both OSes so that they don't have the problem I am having).

Describe alternatives you've considered Using only 1 device at a time.

Additional context Log which I gave to supersnellehenk on Discord a while back: https://pastebin.com/hubMpy5Z

second2falcon avatar Sep 25 '22 16:09 second2falcon

Maybe you could push some environment variables in your docker container or OS and add checks in your plugin so that the plugin runs only if it finds the expected env variable.

ejalal avatar Oct 05 '22 08:10 ejalal

Maybe you could push some environment variables in your docker container or OS and add checks in your plugin so that the plugin runs only if it finds the expected env variable.

This is a bit too complicated for me. Can you explain it a bit more simple?

second2falcon avatar Oct 05 '22 08:10 second2falcon

Currently, the alternative for me (for the time since opening this issue) has been running 2 Tdarr Services. One for NVENC and one for AppleHW Encoder

second2falcon avatar Nov 29 '22 13:11 second2falcon

In the node options there is this option which I think does what you're after: image

So on an nvenc node, a GPU worker will only try and do nvenc tasks. On a videotoolbox node (mac), the worker will try to only do videotoolbox tasks.

Reopen if needed thanks.

HaveAGitGat avatar Mar 01 '23 07:03 HaveAGitGat

In the node options there is this option which I think does what you're after: image

So on an nvenc node, a GPU worker will only try and do nvenc tasks. On a videotoolbox node (mac), the worker will try to only do videotoolbox tasks.

Reopen if needed thanks.

@HaveAGitGat just saw your comment. This was not really what I was after. Running 2 nodes was fine and it worked, but it made queuing the files a bit harder. The thing is that you then need 2 folders of source files since the 2 nodes (one NVENC and one VideotoolBox) don't communicate with each other which file is done by which node. I sadly killed my NAS on accident so there is currently no need for me to transcode anything so so far no need to reopen this.

PS: someone on Reddit had the same problem as me. I will look if I can find the post. Edit: You actually replied to the Reddit Post

second2falcon avatar May 15 '23 09:05 second2falcon