Tdarr_Plugins icon indicating copy to clipboard operation
Tdarr_Plugins copied to clipboard

[Bug] Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation - Incorrect file descriptor redirection in command?

Open Makeshift opened this issue 2 years ago • 50 comments

I'm trying to use the Loudnorm Audio Normalisation on my files, but every file fails due to what appears to be an error in the command creation.

The error reported by ffmpeg is:

2022-05-06T12:27:30.595Z [NULL @ 00000194c74620c0] Unable to find a suitable output format for '2>"H:/Media/Anime/The Seven Deadly Sins/Season 03/The Seven Deadly Sins - S03E15 - To Our Captain (1080p HDTV).out"'
2022-05-06T12:27:30.595Z 2>"H:/Media/Anime/The Seven Deadly Sins/Season 03/The Seven Deadly Sins - S03E15 - To Our Captain (1080p HDTV).out": Invalid argument

This appears to be caused by the 2> descriptor redirection being placed in the wrong part of the command:

C:/Users/me/Desktop/Media Related/tdarr/Tdarr_Node/node_modules/@ffmpeg-installer/win32-x64/ffmpeg.exe -i H:/Media/Anime/The Seven Deadly Sins/Season 03/The Seven Deadly Sins - S03E15 - To Our Captain (1080p HDTV).mkv -af loudnorm=I=-23.0:LRA=7.0:TP=-2.0:print_format=json -f null NUL -map 0 -c copy -metadata NORMALISATIONSTAGE="FirstPassComplete" 2>"H:/Media/Anime/The Seven Deadly Sins/Season 03/The Seven Deadly Sins - S03E15 - To Our Captain (1080p HDTV).out" C:/tmp/The Seven Deadly Sins - S03E15 - To Our Captain (1080p HDTV)-TdarrCacheFile-Uq7Ly5rXO.mkv

(Note the 2>"H:/Media/Anime/The Seven Deadly Sins/Season 03/The Seven Deadly Sins - S03E15 - To Our Captain (1080p HDTV).out" appearing before the final cache file)

This may be related to running on Windows only, as I believe on Linux this should work.

Glancing at the file, I see that the preset does appear to generate the command correctly: https://github.com/HaveAGitGat/Tdarr_Plugins/blob/ba2dbf4470c06cddc50cec6ae52277e0c6dd5310/Community/Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation.js#L127 However, the final output file is being tacked on to the end the command. I can't see exactly where this output file is being added, so I'm not sure how to fix it so the arguments are in the correct order.

Any help would be appreciated.

Thanks!

Makeshift avatar May 06 '22 11:05 Makeshift

This may be related to running on Windows only, as I believe on Linux this should work.

Also seeing this problem on linux!

Unable to find a suitable output format for '2>"/-TdarrCacheFile-VlLJwF-zk.out"'

2>"/-TdarrCacheFile-VlLJwF-zk.out": Invalid argument

exodus454 avatar May 18 '22 19:05 exodus454

I'm running this in Docker and get the same error. I looked a bit into it and it seems, the response.preset string does not get directly converted into a plain command.

I tried copying the exact command from the error log:

tdarr-ffmpeg -i /temp/bbb_sunflower_1080p_60fps_normal-TdarrCacheFile-0UA9kVPSdU.mp4 -af loudnorm=I=-23.0:LRA=7.0:TP=-2.0:print_format=json -f null NUL -map 0 -c copy -metadata NORMALISATIONSTAGE="FirstPassComplete" 2>"/temp/bbb_sunflower_1080p_60fps_normal-TdarrCacheFile-0UA9kVPSdU.out" /temp/bbb_sunflower_1080p_60fps_normal-TdarrCacheFile-1NGbdhTjU_.mkv

and ran it inside the tdarr-node container and it worked as expected. But ran by tdarr itself, the 2>"${logOutFile}" seems to get interpreted as argument for ffmpeg instead of just another part of the cmd. And that argument is of course not valid.

Also, changing the code, so it says 2> "${logOutFile}" (notice the extra space), leads to just 2> being marked as invalid argument, instead of the whole expression, which supports my theory.

Unfortunately, I have no idea, how to fix this, as there seems to be no other way of saving the loudnorm-JSON to file and also no way to just run a "normal" command without tdarrs interpretation of the string around it.

richard-kramer avatar Jun 25 '22 19:06 richard-kramer

Did anybody ever figure this out? Been struggling to find a way to normalize audio :/

outpoints avatar Jul 07 '22 00:07 outpoints

I came here as I am also on linux and facing this issue

deathbybandaid avatar Jul 29 '22 12:07 deathbybandaid

Same issue here. A fix would be appreciated.

XenHat avatar Aug 11 '22 19:08 XenHat

+1, same issue here.

RoarkGit avatar Aug 12 '22 17:08 RoarkGit

Is anyone working on this? Looks like (as of November 2022) this code hasn't been updated in the repo in at least 11 months. It doesn't show that it is assigned to anyone.

As others have reported, if I run the code manually, there's no problem and it creates the file as expected, but from inside tdarr, no luck.

dhoffman98 avatar Nov 24 '22 04:11 dhoffman98

Also dealing with this issue currently, running tdarr in docker and getting the same error as OP.

gouthamravee avatar Dec 16 '22 05:12 gouthamravee

Bubbling this up, it seems to me this could be fixed by adding an additionalParams section to the response that allows arbitrary bash commands after the ffmpeg/handbrake command is generated.

Something like:

 const response = {
        response.preset = `<io>-af loudnorm=I=${loudNorm_i}:LRA=${lra}:TP=${tp}:print_format=json -f null NUL -map 0 -c copy -metadata NORMALISATIONSTAGE="FirstPassComplete"`
        response.container = '.mkv'
        response.handBrakeMode = false
        response.FFmpegMode = true
        response.reQueueAfter = true;
        response.processFile = true
        Here --> response.additionalParams = `2>"${logOutFile}"`
        response.infoLog += "Normalisation first pass processing \n"
        return response
  };

Since what I'm seeing is the below in which the path to the media file is always tacked on last:

2023-03-20T22:55:31.889Z LoGeB0RlC:Node[vega]:Worker[kmIm4Wig1]:Args: -i /data/media/movies/Movie/Movie.mkv -af loudnorm=I=-23.0:LRA=7.0:TP=-2.0:print_format=json -f null NUL -map 0 -c copy -metadata NORMALISATIONSTAGE="FirstPassComplete" 2>"/data/media/movies/Movie/Movie.out" /data/transcode/Movie.mkv

Anthony-Smith-Github avatar Mar 20 '23 23:03 Anthony-Smith-Github

I've been able to get it close to working. Instead of using response.preset, I'm letting it preprocess the file using child_process

   ...
    let volumeData;
    volumeData = JSON.parse(require("child_process").execSync(`ffmpeg -i "${currentfilename}" -af loudnorm=I=${loudNorm_i}:LRA=${lra}:TP=${tp}:print_format=json -vn -sn -dn -f null /dev/null -map 0 -c copy -metadata NORMALISATIONSTAGE="FirstPassComplete" 2>"${logOutFile}"`).toString())


    //check for previous pass tags
    ...

Unfortunately, the ffmpeg command itself doesn't work properly. The output file stores the entirety of the ffmpeg output including the statuses. I've tried limiting this using -no_header -nostats, but it still had some logging. I also tried using -loglevel with varying levels, but none had the json output and nothing else.

I think you might be able to adjust the command by adding this onto the end:

&& RESULT=$(cat "${logOutFile}" | grep "{" -A 11) && echo ${RESULT} >"${logOutFile}"

This is just a very hacky and breakable workaround, though. It's letting it output all the data to the file, then reading the file, cutting out only the lines starting with "{" along with the eleven lines after, and saving that.

droans avatar Apr 01 '23 00:04 droans

Adding another "doesn't work for me" to the list. Ticket has almost been opened a year now.

phoenixaus avatar Apr 02 '23 04:04 phoenixaus

I made a rough attempt to put @droans idea into the script, but no luck. Also I don't know JS.

This generates a .out file with the correct JSON values and I removed the audio filtering done in the response. The response only adds the Normalisation stage metadata tag. This completes successfully after generating the .out file but it still doesn't get past the first normalisation stage because it jumps to the "Unknown normalisation stage" instead of the second stage.

Running FFMPEG as a raw command doesn't work if it's on a node without FFMPEG in the PATH.

I found the JSON values can't be stored in a variable because they lose the quote marks. Maybe loudnorm values can be added as metadata tags?

    console.log("New way to create normalisation values. \n")
    let volumeDataRaw;
    volumeDataRaw = require("child_process").execSync(`ffmpeg -i "${currentfilename}" -af loudnorm=I=${loudNorm_i}:LRA=${lra}:TP=${tp}:print_format=json -vn -sn -dn -f null /dev/null -map 0 -c copy -metadata NORMALISATIONSTAGE="FirstPassComplete" 2>"${logOutFile}"`).toString()

    let processTest1;
    processTest1 =  require("child_process").execSync(`cat "${logOutFile}" | grep "{" -A 11 > "${logOutFile}.tmp"`).toString()
    processTest2 = require("child_process").execSync(`mv "${logOutFile}.tmp" "${logOutFile}"`).toString()
    let volumeData;
    volumeData = JSON.parse(require("child_process").execSync(`cat "${logOutFile}"`).toString())
    console.log("Finished generating .out file")
    //check for previous pass tags
    if (typeof probeData.format === "undefined" || typeof probeData.format.tags.NORMALISATIONSTAGE === "undefined" || probeData.format.tags.NORMALISATIONSTAGE === "" || file.forceProcessing === true) {

        //no metadata found first pass is required
        console.log("Searching for audio normailisation values")
        response.infoLog += "Searching for required normalisation values. \n"
        var loudNormInfo = "";

        //Do the first pass, output the log to the out file and use a secondary output for an unchanged file to allow Tdarr to track, Set metadata stage
        response.preset = `<io>-f null NUL -map 0 -c copy -metadata NORMALISATIONSTAGE="FirstPassComplete"`

chipfox avatar Apr 02 '23 18:04 chipfox

I've made a PR to fix this: https://github.com/HaveAGitGat/Tdarr_Plugins/pull/399

@chipfox yeah you could do it that way and use otherArguments.ffmpegPath but main downside there is you get no feedback on the status.

The way I've done it is instead of creating a log file (can't do this with childProcess.spawn) it reads from the job report on the server and parses the text to get the loudNormValues

Will merge the PR tomorrow or later today if it works okay..

HaveAGitGat avatar Apr 07 '23 16:04 HaveAGitGat

Merged: https://github.com/HaveAGitGat/Tdarr_Plugins/pull/399

HaveAGitGat avatar Apr 08 '23 13:04 HaveAGitGat

Does this update get beyond the first stage for anyone?

chipfox avatar Apr 10 '23 00:04 chipfox

No, not for me. If you find a fix, certainly shout out!

phoenixaus avatar Apr 10 '23 12:04 phoenixaus

The ${process.env.serverIp} variable was coming up blank for me. I replaced it with my server's IP and now it's working.

mattwik1 avatar Apr 10 '23 15:04 mattwik1

The ${process.env.serverIp} variable was coming up blank for me. I replaced it with my server's IP and now it's working.

It's working as in finishing the second pass, or provides a false positive after the first pass?

chipfox avatar Apr 11 '23 00:04 chipfox

Made no difference to mine. I think the issue is in writing the results of the 1st pass to the log, or processing these in the second pass. I cannot see where the second pass is being attempted. I may have a different issue though, full log below, but the failure is around this:

2023-04-11T11:45:39.766Z Pre-processing - Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation 2023-04-11T11:45:39.766Z Searching for required normalisation values. 2023-04-11T11:45:39.766Z Normalisation first pass processing 2023-04-11T11:45:39.766Z 2023-04-11T11:45:39.784Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:Worker will process 2023-04-11T11:45:39.801Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:[Step W04] [C3] Preparing command 2023-04-11T11:45:39.818Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:Cache file stem: /temp 2023-04-11T11:45:39.837Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:Cache file path: /temp/FileName-TdarrCacheFile-kIhJptC8S.avi 2023-04-11T11:45:39.853Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:Create transcode args 2023-04-11T11:45:39.869Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:Args: -i /temp/FileName-TdarrCacheFile-VkepBiFsi.avi -af loudnorm=I=-23.0:LRA=7.0:TP=-2.0:print_format=json -f null NUL -map 0 -c copy -metadata NORMALISATIONSTAGE=FirstPassComplete /temp/FileName-TdarrCacheFile-kIhJptC8S.avi 2023-04-11T11:45:39.884Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:Getting source file size 2023-04-11T11:45:39.901Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:Source file size: 0.31442977115511894 2023-04-11T11:45:39.918Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:Performing safety check on worker config to see if old transcode args/container match new ones 2023-04-11T11:45:39.933Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:Safety check [-error-]:The new transcode arguments were the exact same as the last ones meaning 2023-04-11T11:45:39.933Z the file/worker would most likely be stuck in an infinite transcode loop if not stopped. 2023-04-11T11:45:39.933Z 2023-04-11T11:45:39.933Z 2023-04-11T11:45:39.933Z Last arguments: <io>-af loudnorm=I=-23.0:LRA=7.0:TP=-2.0:print_format=json -f null NUL -map 0 -c copy -metadata NORMALISATIONSTAGE=FirstPassComplete in .avi 2023-04-11T11:45:39.933Z 2023-04-11T11:45:39.933Z New arguments: <io>-af loudnorm=I=-23.0:LRA=7.0:TP=-2.0:print_format=json -f null NUL -map 0 -c copy -metadata NORMALISATIONSTAGE=FirstPassComplete in .avi 2023-04-11T11:45:39.933Z 2023-04-11T11:45:39.933Z Plugin Local Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation 2023-04-11T11:45:39.933Z 2023-04-11T11:45:39.933Z 2023-04-11T11:45:39.933Z Check your plugin stack or transcode settings to make sure that you have conditions to prevent an infinite transcode loop 2023-04-11T11:45:39.933Z 2023-04-11T11:45:39.933Z 2023-04-11T11:45:39.949Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:[Step W10] Worker processing end 2023-04-11T11:45:39.964Z OevcCMEDz:Node[MyInternalNode]:Worker[lone-liger]:Successfully updated server with verdict: transcodeError Error Log.txt

phoenixaus avatar Apr 11 '23 02:04 phoenixaus

The ${process.env.serverIp} variable was coming up blank for me. I replaced it with my server's IP and now it's working.

It's working as in finishing the second pass, or provides a false positive after the first pass?

It's completing the second pass.

mattwik1 avatar Apr 11 '23 14:04 mattwik1

@phoenixaus ty for the log. Seems that the -metadata NORMALISATIONSTAGE=FirstPassComplete is not being applied to the new file correctly. I think this is a limitation of .avi files as they may not support custom tags like mkv does.

So quick solution would be to use the remux plugin to remux to mkv before using this plugin. @chipfox probably same for you.

Alternatively we'd need to use a different metadata tag such as copyright which is supported by avi.

HaveAGitGat avatar Apr 13 '23 04:04 HaveAGitGat

So I ran this on mkv, mp4, wmv, mov and avi and only works for mkv and wmv FYI as the others don't support the NORMALISATIONSTAGE metadata tag.

HaveAGitGat avatar Apr 13 '23 04:04 HaveAGitGat

This plugin was originally set to output mkv only so I've updated it with that. Should now work.

HaveAGitGat avatar Apr 13 '23 04:04 HaveAGitGat

@HaveAGitGat I've still got an issue. its filing with: Pre-processing - Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation☒Plugin error! Error: Error: getaddrinfo EAI_AGAIN undefined

I've attached the full log and a snip of the stack. Really appreciate your help with this! 0aVr822Hm-log.txt Stack

phoenixaus avatar Apr 15 '23 06:04 phoenixaus

@phoenixaus in the plugin there's this line:

const serverUrl = `http://${process.env.serverIp}:${process.env.serverPort}`;

Try putting in your server IP and Port e.g.

const serverUrl = 'http://localhost:8266';

HaveAGitGat avatar Apr 15 '23 17:04 HaveAGitGat

@HaveAGitGat thank you for looking into this plugin again.

I had the same serverURL issue, fixed that with your suggestion but now I'm getting the error below

Pre-processing - Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation☒Plugin error! Error: Error: Failed to find loudnorm in report, please rerun

I'm running only 1 instance of Tdarr using the built in node as a docker container. I'm not seeing an output file from the plugin in either the cache directory or the file's original directory

gouthamravee avatar Apr 19 '23 00:04 gouthamravee

@gouthamravee I struck that too, but only intermittently. I updated this line in the plugin from 10000 to 20000 to see if it needed more time to process the log. Not sure if it fixed it, but I haven't had the error again. // wait for job report to be updated by server, await new Promise((resolve) => setTimeout(resolve, 20000));

phoenixaus avatar Apr 19 '23 01:04 phoenixaus

@phoenixaus I tried a value of 30000 and 20000, getting the same error.

idk if this is useful but this is the log portion from the stage that fails

1

2023-04-18T21:32:34.334Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[Step W03] [C2] Analysing file - running plugins

2

2023-04-18T21:32:34.334Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:New cache file has already been scanned, no need to scan again

3

2023-04-18T21:32:34.335Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Updating Node relay: Processing

4

2023-04-18T21:32:34.335Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/2] Checking file frame count

5

2023-04-18T21:32:34.336Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/2] Frame count 0

6

2023-04-18T21:32:34.337Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Transcode task, determining transcode settings

7

2023-04-18T21:32:34.337Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin stack selected

8

2023-04-18T21:32:34.338Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin: 52HBc2noV: Tdarr_Plugin_MC93_Migz6OrderStreams

9

2023-04-18T21:32:34.339Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/5] Reading plugin

10

2023-04-18T21:32:34.339Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/5] Plugin read

11

2023-04-18T21:32:34.340Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[3/5] Installing dependencies

12

2023-04-18T21:32:34.340Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[4/5] Running plugin

13

2023-04-18T21:32:34.341Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:{"pluginInputs":{}}

14

2023-04-18T21:32:34.341Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[5/5] Running plugin finished

15

2023-04-18T21:32:34.342Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin: yYqnKLBzz: Tdarr_Plugin_MC93_Migz2CleanTitle

16

2023-04-18T21:32:34.342Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/5] Reading plugin

17

2023-04-18T21:32:34.343Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/5] Plugin read

18

2023-04-18T21:32:34.343Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[3/5] Installing dependencies

19

2023-04-18T21:32:34.344Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[4/5] Running plugin

20

2023-04-18T21:32:34.344Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:{"pluginInputs":{"clean_audio":false,"clean_subtitles":false,"custom_title_matching":""}}

21

2023-04-18T21:32:34.345Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[5/5] Running plugin finished

22

2023-04-18T21:32:34.346Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin: kuwfUn9ru: Tdarr_Plugin_rr01_drpeppershaker_extract_subs_to_SRT

23

2023-04-18T21:32:34.346Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/5] Reading plugin

24

2023-04-18T21:32:34.347Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/5] Plugin read

25

2023-04-18T21:32:34.347Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[3/5] Installing dependencies

26

2023-04-18T21:32:34.348Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[4/5] Running plugin

27

2023-04-18T21:32:34.349Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:{"pluginInputs":{"remove_subs":"yes"}}

28

2023-04-18T21:32:34.349Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[5/5] Running plugin finished

29

2023-04-18T21:32:34.350Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin: lxkfOSUaF: Tdarr_Plugin_x7ac_Remove_Closed_Captions

30

2023-04-18T21:32:34.350Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/5] Reading plugin

31

2023-04-18T21:32:34.351Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/5] Plugin read

32

2023-04-18T21:32:34.351Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[3/5] Installing dependencies

33

2023-04-18T21:32:34.352Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[4/5] Running plugin

34

2023-04-18T21:32:34.352Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:{"pluginInputs":{}}

35

2023-04-18T21:32:34.352Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[5/5] Running plugin finished

36

2023-04-18T21:32:34.353Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin: ZChA90A0R: Tdarr_Plugin_vdka_Tiered_NVENC_CQV_BASED_CONFIGURABLE

37

2023-04-18T21:32:34.354Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/5] Reading plugin

38

2023-04-18T21:32:34.354Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/5] Plugin read

39

2023-04-18T21:32:34.355Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[3/5] Installing dependencies

40

2023-04-18T21:32:34.355Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[4/5] Running plugin

41

2023-04-18T21:32:34.355Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:{"pluginInputs":{"sdCQV":"21","hdCQV":"23","fullhdCQV":"25","uhdCQV":"28","bframe":"0","ffmpeg_preset":"slow"}}

42

2023-04-18T21:32:34.356Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[5/5] Running plugin finished

43

2023-04-18T21:32:34.356Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin: dLfXS0ckJ: Tdarr_Plugin_MC93_Migz3CleanAudio

44

2023-04-18T21:32:34.357Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/5] Reading plugin

45

2023-04-18T21:32:34.357Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/5] Plugin read

46

2023-04-18T21:32:34.358Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[3/5] Installing dependencies

47

2023-04-18T21:32:34.358Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[4/5] Running plugin

48

2023-04-18T21:32:34.359Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:{"pluginInputs":{"language":"eng,spa,jap,und","commentary":false,"tag_language":"eng","tag_title":"true"}}

49

2023-04-18T21:32:34.359Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[5/5] Running plugin finished

50

2023-04-18T21:32:34.360Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin: dFyEJSOG7: Tdarr_Plugin_MC93_Migz5ConvertAudio

51

2023-04-18T21:32:34.360Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/5] Reading plugin

52

2023-04-18T21:32:34.361Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/5] Plugin read

53

2023-04-18T21:32:34.361Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[3/5] Installing dependencies

54

2023-04-18T21:32:34.362Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[4/5] Running plugin

55

2023-04-18T21:32:34.362Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:{"pluginInputs":{"aac_stereo":"true","downmix":"true"}}

56

2023-04-18T21:32:34.363Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[5/5] Running plugin finished

57

2023-04-18T21:32:34.364Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin: 2Ui_9trEQ: Tdarr_Plugin_00td_action_remove_audio_by_channel_count

58

2023-04-18T21:32:34.364Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/5] Reading plugin

59

2023-04-18T21:32:34.365Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/5] Plugin read

60

2023-04-18T21:32:34.365Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[3/5] Installing dependencies

61

2023-04-18T21:32:34.366Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[4/5] Running plugin

62

2023-04-18T21:32:34.366Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:{"pluginInputs":{"channelCounts":"19,12,10,8,6,4"}}

63

2023-04-18T21:32:34.367Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[5/5] Running plugin finished

64

2023-04-18T21:32:34.367Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin: e-RCPinha: Tdarr_Plugin_00td_action_remux_container

65

2023-04-18T21:32:34.368Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/5] Reading plugin

66

2023-04-18T21:32:34.368Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/5] Plugin read

67

2023-04-18T21:32:34.368Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[3/5] Installing dependencies

68

2023-04-18T21:32:34.369Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[4/5] Running plugin

69

2023-04-18T21:32:34.369Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:{"pluginInputs":{"container":"mkv"}}

70

2023-04-18T21:32:34.370Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[5/5] Running plugin finished

71

2023-04-18T21:32:34.370Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Plugin: NUmEh3NwTH: Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation

72

2023-04-18T21:32:34.371Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[1/5] Reading plugin

73

2023-04-18T21:32:34.371Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[2/5] Plugin read

74

2023-04-18T21:32:34.371Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[3/5] Installing dependencies

75

2023-04-18T21:32:35.374Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:[4/5] Running plugin

76

2023-04-18T21:32:35.374Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:{"pluginInputs":{"i":"-23.0","lra":"7.0","tp":"-2.0"}}

77

2023-04-18T21:32:54.890Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Error Error: Error: Failed to find loudnorm in report, please rerun

78

2023-04-18T21:32:54.891Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Worker config: {

79

2023-04-18T21:32:54.891Z "processFile": false,

80

2023-04-18T21:32:54.891Z "preset": "",

81

2023-04-18T21:32:54.891Z "container": "",

82

2023-04-18T21:32:54.891Z "handBrakeMode": false,

83

2023-04-18T21:32:54.891Z "FFmpegMode": true,

84

2023-04-18T21:32:54.891Z "reQueueAfter": true,

85

2023-04-18T21:32:54.891Z "infoLog": "File is already in mkv \n",

86

2023-04-18T21:32:54.891Z "handbrakeMode": "",

87

2023-04-18T21:32:54.891Z "ffmpegMode": true,

88

2023-04-18T21:32:54.891Z "error": true,

89

2023-04-18T21:32:54.891Z "cliToUse": "ffmpeg"

90

2023-04-18T21:32:54.891Z }

91

2023-04-18T21:32:54.891Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Worker log:

92

2023-04-18T21:32:54.891Z Pre-processing - Tdarr_Plugin_MC93_Migz6OrderStreams

93

2023-04-18T21:32:54.891Z ☑ Streams are in expected order.

94

2023-04-18T21:32:54.891Z

95

2023-04-18T21:32:54.891Z Pre-processing - Tdarr_Plugin_MC93_Migz2CleanTitle

96

2023-04-18T21:32:54.891Z ☑File has no title metadata

97

2023-04-18T21:32:54.891Z

98

2023-04-18T21:32:54.891Z Pre-processing - Tdarr_Plugin_rr01_drpeppershaker_extract_subs_to_SRT

99

2023-04-18T21:32:54.891Z No subs in file to extract!

100

2023-04-18T21:32:54.891Z

101

2023-04-18T21:32:54.891Z Pre-processing - Tdarr_Plugin_x7ac_Remove_Closed_Captions

102

2023-04-18T21:32:54.891Z ☑Closed captions have not been detected on this file

103

2023-04-18T21:32:54.891Z

104

2023-04-18T21:32:54.891Z Pre-processing - Tdarr_Plugin_vdka_Tiered_NVENC_CQV_BASED_CONFIGURABLE

105

2023-04-18T21:32:54.891Z ☑File is a video!

106

2023-04-18T21:32:54.891Z ☑File is already in hevc!

107

2023-04-18T21:32:54.891Z

108

2023-04-18T21:32:54.891Z Pre-processing - Tdarr_Plugin_MC93_Migz3CleanAudio

109

2023-04-18T21:32:54.891Z ☑File doesn't contain audio tracks which are unwanted or that require tagging.

110

2023-04-18T21:32:54.891Z

111

2023-04-18T21:32:54.891Z Pre-processing - Tdarr_Plugin_MC93_Migz5ConvertAudio

112

2023-04-18T21:32:54.891Z ☑File contains all required audio formats.

113

2023-04-18T21:32:54.891Z

114

2023-04-18T21:32:54.891Z Pre-processing - Tdarr_Plugin_00td_action_remove_audio_by_channel_count

115

2023-04-18T21:32:54.891Z File only has 1 audio stream, skipping plugin

116

2023-04-18T21:32:54.891Z Pre-processing - Tdarr_Plugin_00td_action_remux_container

117

2023-04-18T21:32:54.891Z File is already in mkv

118

2023-04-18T21:32:54.891Z

119

2023-04-18T21:32:54.891Z Pre-processing - Tdarr_Plugin_NIfPZuCLU_2_Pass_Loudnorm_Audio_Normalisation☒Plugin error! Error: Error: Failed to find loudnorm in report, please rerun

120

2023-04-18T21:32:54.891Z

121

2023-04-18T21:32:54.892Z iVGa7FifO3:Node[CraftyCaper]:Worker[known-koi]:Worker config [-error-]:

gouthamravee avatar Apr 19 '23 01:04 gouthamravee

@gouthamravee I struck that too, but only intermittently. I updated this line in the plugin from 10000 to 20000 to see if it needed more time to process the log. Not sure if it fixed it, but I haven't had the error again. // wait for job report to be updated by server, await new Promise((resolve) => setTimeout(resolve, 20000));

I'm also only experiencing it intermittently. Doing this didn't fix it for me though

Dart2112 avatar Apr 19 '23 07:04 Dart2112

Yeah @HaveAGitGat , I'm striking this issue a lot more now as well.

I'm also seeing this in the log consistently, and haven't been able to address it:

[INFO] Tdarr_Node - The following external module needs to be installed for a plugin:[email protected] ZA0SuJt5Ti-log.txt

phoenixaus avatar Apr 28 '23 12:04 phoenixaus