[SOLVED] Drone Factory deprectation

Sonarr version (exact version): 2.0.0.4928
Mono version (if Sonarr is not running on Windows):
OS: Synology
((Debug logs)): -
(Make sure debug logging is enabled in settings and post the full log to hastebin/pastebin/dropbox/google drive or something similar, do not post them directly here)
Description of issue:
In some setups the deprecation of Drone Factory will render Sonarr unusable.
In my case …
I download using NZB’s to a Synology NAS, but since the NAS is not powerful enough to do my transcoding I do that manually on my Windows machine with ffmpeg/NVENC and a script I wrote. The script copies the files from the download folder to local disk om my Windows machine where the transcoding is performed and then if the transocding is a success it moves the transcoded file to the Drone Factory folder.
As the NAS is not powerful enough to transcode the material I can never get an automatic handling to work and that makes Complete Download Handling useless.
After you remove Drone Factory, Complete Download Handling would be my only option and that would mix transcoded and non-transcoded files in the same directories without any way for me to know which ones are transcoded or not.

Please do not remove Drone Factory until you have a solution in place that can replace it’s functionality.
Automatic handling is not working for some of us.

Cheers

You absolutely do not need the Drone Factory for this scenario, there are several threads with people that transcode their downloads.

Which download client? How do you trigger the transcoding on the windows machine from the synology?

Thanks for trying to answer me. So you’re saying there is still hope ?

I think I need to explain my “workflow” in a bit more detail.

(Synology) Sonarr gets NZB and send it to NZBGet
(Synology) NZBGet downloads to directory ‘TV’.
(Synology) Drone Factory Directory is set to ‘TV Transcoded’.
(Windows) Manually start the transcoding process script which looks in directory ‘TV’, transcodes any video files, outputs transcoded files in ‘TV Transcoded’.
(Synology) Sonarr checks Drone Factory Directory ‘TV Transcoded’ and moves transcoded files to Plex directory.

From what I understand of the automatic download handling, there are no settings one can do at all which is why I was very skeptical to Sonarr working for me without Drone Factory.

Thanks in advance for any guidance.

Is the windows machine available all the time? Or do you boot it periodically to run the transcode script?

Periodically only.

Ok, then you should use the following workflow:
3 directories: (you can name them whatever you like)

  • ‘tv/downloaded’
  • ‘tv/transcoding’
  • ‘tv/transcoded’

Workflow:

  • nzbget downloads into a subdirectory in ‘tv/downloaded’ like tv/downloaded/my.Series.S01E01, the subdir we call a job folder.
  • Windows script loops over all job folders, thus processing each individually:
  • Create ‘tv/transcoding/my.Series.S01E01’ as temporary location
  • Transcodes all video to that temporary location
  • Optionally moves any non-video file from tv/downloaded/my.Series.S01E01 to tv/transcoding/my.Series.S01E01
  • Finally moves ‘tv/transcoding/my.Series.S01E01’ to ‘tv/transcoded/my.Series.S01E01’, this make sure the entire directory ‘appears’ to Sonarr instantly since it’s a move and not a network copy.
  • Optionally deletes tv/downloading/my.Series.S01E01

After that you have two options:

  1. Add a Remote Path Mapping, telling Sonarr to look in tv/transcoded instead of tv/downloaded, so it won’t be able to import anything till the transcoding script moves the job folder. And the Activity->Queue will show that it can’t find anything to import till it does.
    or
  2. Call the Sonarr api, DownloadedEpisodesScan (see wiki or example powershell script) to signal Sonarr to import it.

Those two options probably deserve a bit more explanation, but I first need to know how you think about it and your expertise level.

Sorry for not getting back right away.

The …

  • ‘tv/downloaded’
  • ‘tv/transcoding’
  • ‘tv/transcoded’
    … is pretty much what I have set up now where the download directory for NZBGet is the first and the Drone Factory directory is the third and the second directory is my work directory under C:\Temp.

What I gather from your answer is … I can use ‘Add Remote Path Mapping’ to “trick” any path into working as the Drone Factory Directory (but with slight differences: Transcoded file needs to be put in a directory with a name matching the download folder returned by NZBGet)

I’m unsure how your other suggested method would work as it is dependent on parameter data that my transcode script doesn’t have access too. I’m thinking of ‘InfoHash’.

Anyway, the first method seems more light weight and cimpatible with my current setup.

I’m running a first test with a rewritten transcode script right now.

I’ll come back and mark this thread SOLVED if I get it to work… otherwise I might be back with more questions :slight_smile:

Cheers.

New script using ‘Add Remote Path Mapping’-suggestion works as a charm :slight_smile:

Thanks for the help.

Marking thread SOLVED.

That pretty much sums it up, but the important part is that the content of the entire directory MUST appear ‘all at once’, otherwise Sonarr might try to import partial files or just a few files in the directory. This is one of the things that made the Drone Factory unreliable.
If you don’t understand what I mean here, please ask, coz it’s important.

Regarding the second method. The DownloadClientID for nzbget is an unique ID, not the infohash (that’s for torrent clients). It isn’t mandatory, but it allows Sonarr to link the command to a specific download, thus saying “Sonarr, here’s the output of download 1234, please import” instead of "Sonarr, here’s some ‘stuff’ to import."
It’s the better approach since it’s more ‘event-driven’, but it’s definitely more work.

In your case the first method is indeed the easiest to accomplish and should suffice.

Don’t hesitate to ask if you have further questions.

That was quick :slight_smile:

I do understand what you mean.
What I implemented to avoid partial files is …

  1. Create target directory.
  2. Copy file from trancoding directory to a folder on the same filesystem as the target directory.
  3. Move the file to the target directory.
    Fastest way I can make the file available in the directory for Sonarr to pick up.
    Only way faster would be to use hard linking and I can’t do that from my Windows (Perl) script over CIFS.

Cheers.

That’s perfect.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.