NZBGet now can start unpacking as soon as the first archive part is downloaded. Then it waits for the next archive part and continues unpacking part by part as they arrive. In a typical case when the download speed is limited by Internet connection the unpack completes a few seconds after the last archive part is downloaded.

This almost completely eliminates the extra time needed for unpack.

The new feature with the code name "direct unpack" works together with two other features:

Direct Rename deobfuscates files during downloading; it works similar to par-rename but works during downloading stage;

Reorder Files ensures the archive parts are downloaded in correct order for unpacking.

To activate direct unpacking you need to active three new options:

DirectUnpack=yes (disabled by default) in settings section "UNPACK";

DirectRename=yes (disabled by default) in settings section "CHECK AND REPAIR";

Not a typical case
Another case which isn't so typical but interesting anyway. Here we have a download with compressed rar-files. Usually video files are not compressed (rar can't reduce size of video files) and rar is used only as convenient split tool. But sometimes posters mistakenly activate compression and the downloader needs more time to unpack such downloads.

Without direct unpack more data was downloaded: 7.52GB vs 8.29GB. Why so? This download has obfuscated file names where each par2-file has a different name. Because NZBGet can't determine par-sets it has to download all par2-files before post-processing. With direct rename NZBGet was able to determine that all par-files belong to the same par-set and it downloaded only one par2-file.

Reported unpack time in direct unpack mode took 2m35 which is much longer than in typical case. According to the log many archive parts were unpacked after the whole download has completed. That's because of compressed rar archive, which needs much more CPU power to process. The test machine is a not so powerful Linux box with ARM CPU 2x1700MHz.

Just updated yesterday and enabled the features today. Looking forward to trying it out! I actually downgraded my internet connection a couple years ago because unpacking took so much longer than downloading, it wasn't really worth it. This could be a big changer!

Neil T wrote:A couple of real-world examples -- not scientific, but indicative. The first is undamaged, so unraring during download, the second required a repair first.
I think I could get the 15 second unrar quicker as I had too many NNTP connections open (hundreds) from when I was getting stuff that was 8+ years old.

The feature works actually best on fast computers where "fast" is relative to download speed meaning if the CPU and disk are not on their limits during downloading then we can unpack at the same time and this doesn't negatively affect download speed. On systems already limited by CPU performance it can be better to separate downloading and unpacking (no direct unpack, pause queue during post-processing with ParPauseQueue, UnpackPauseQueue and PostPauseQueue).

dagoob wrote:Do scripts like FakeDetector and PasswordDetector play nice with this, since they reorder RARs for faster detection?

Probably not. There is a new queue-event NZB_NAMED, sent after the inner files are renamed. The scripts must be extended to process the new event. Pull requests for FakeDetector (which I maintain) are welcome.

That's a safety check which detects if something goes wrong during direct unpack. It prevents loosing of data.

The check should detect files renamed during rar-rename stage if par-rename couldn't rename them. This is a rare case but I know some uploaders obfuscate files before creating par-sets. In such case par-rename and direct-rename do not work; direct unpack doesn't work either.

You may also have this message if direct rename isn't active but direct unpack is.

In both cases the default unpack must process files. Skipping it isn't a good idea.

Nonetheless maybe there is a bug to fix. Can you please send me the nzb-file for inspection (and also the log-file of this nzb download)?