Skip to content

Conversation

@jordanlambrecht
Copy link
Owner

@jordanlambrecht jordanlambrecht commented May 30, 2025

Added

  • keep_8ch_audio library variable. Defaults to false. This variable is
    optional.
  • remove_commentary library variable. Defaults to false. Setting to true will
    remove any audio tracks that are flagged as commentary. This variable is
    optional. Executed in the Audio Cleaning flow.
  • Audio Transcoding flow will now automatically upmix mono tracks to stereo and
    remove the mono track.
  • Cleanup now changes file perms if enable_unraid is set to true
  • New flow!! Early logic and safety considerations have been added to a flow
    called 👋 Initialization. It can be activated using the variable
    enable_initialization. Closes Suggestion: reorder streams #12
  • audio transcoding flow now fails at the Create 2-channel aac (jp) and
    Create 2-channel aac (en) steps because 2ch AAC is mandatory. Further
    investigation is required for 'en' vs 'eng' and 'jp' vs 'jpn' language
    codes.
  • Audio transcoding now prioritizes AC3 for 6ch and AAC for 2ch. Closes Audio transcoding #6
  • Safety checks in the audio transcoding flow to ensure that a valid audio
    codec is found before scrubbing unwanted ones. This was put in place due to
    rare cases where mp2 2ch audio was not transcoding to aac 2ch and was being
    removed instead, leaving no audio track at all.
  • audio transcoding now checks for dubs to transcode in addition to japanese
    (for anime)
  • New logic for detecting external and/or unwanted subtitle types. This is still
    shaky since Tdarr does not have great subtitle handling logic. Please report
    any issues you find with subtitles.
  • Added new nvenc_preset variable to the video transcoding flow. This is
    used to set the preset for the NVENC encoder. Defaults to p7. Nvenc encoding
    now uses
    -c:0 hevc_nvenc -preset p{{{args.variables.user.use_nvenc_preset}}} -tune hq -spatial-aq 1 -temporal-aq 1 -rc-lookahead 32 -no-scenecut 1 -qmin 0 -g 250 -bf 3 -b_ref_mode middle -b_adapt 0 -fps_mode passthrough -i_qfactor 0.75 -b_qfactor 1.1. Closes Bug: NVENC disregarding quality level presets #4 and closes Error: Failed transcoding using default settings. #3

Changed

  • Audio transcoding now removes 8ch streams by default now
  • Audio transcoding now removes any AAC codecs from 6ch streams, leaving only
    AC3
  • Better audio codec removal logic
  • Video Transcoding flow now checks for small h265 movie files and does not
    transcode them if they're under 4.5gb. This is to prevent unnecessary
    transcoding of small files that are already in a good format.
  • Video Transcoding flow now renders 480p and 576p videos as 480p instead of
    up converting them to 720p. This is to prevent unnecessary upscaling of videos
    that are already in a good format.

Fixed

  • Issue with Keep Native Lang Plus Eng (anime) plugin not working. This was due
    to the global variable being used with http://, but the plugin does not want
    http:// in it's input field. Closes Issue: sonarr notification #11
  • Missing emoji in the subtitle flow lol
  • Issue with 480p videos upscaling to 1080p

BREAKING

  • I wrote 3x custom community plugins to handle the AAC 6ch removal logic.
    Please see this
    pull request. Until
    it is merged, you will need to create custom plugins into it. Please open an
    issue if you run into trouble. Referr to the [[🕹️ Custom Plugins]] wiki page
    for detailed setup instructions
  • I also wrote a custom community plugin to upmix mono tracks to stereo. Until
    it is merged, you will need to create a custom plugin and copy/paste
    this code
    into it. Referr to the [[🕹️ Custom Plugins]] wiki page for detailed setup
    instructions
  • I also wrote a custom community plugin to filter specifically by audio codec
    AND audio channel. Same deal.
    Github repo here.
    Referr to the [[🕹️ Custom Plugins]] wiki page for detailed setup instructions
  • Sonarr/Radarr IP addresses in the global config MUST NOT contain http:// or
    https:// anymore. Please update your global variables accordingly.

@jordanlambrecht
Copy link
Owner Author

@Shadowalker125 and @jaybawk if you have some free time, can you please test this version before I commit it to main? It's a huge update so I'd appreciate more eyes on it.

@jaybawk
Copy link

jaybawk commented May 30, 2025

Will throw this in tomorrow and try it out!

@jaybawk
Copy link

jaybawk commented May 31, 2025

So far getting 1 file endlessly looping through the mjpeg fix step.
image
image

Assuming the 0+1+1+1+1 is not the intended result of the math thats supposed to be going on to keep track of failures .

I use NVENC for encoding (more cost efficient on my electricity bill as well as quicker since im running a 1700x which would do like 10 frames a second max on cpu) so trying to get through that step but seems to be erroring out on execute encode. Possibly an issue on my own end although nothing has changed besides getting the new flow/changed variables. Sending some more files through to troubleshoot that.

@jordanlambrecht
Copy link
Owner Author

@jaybawk Ha! You beat me to it. I ran into the same issue. Try the new files- I switched over to JS functions for the error counting instead. Apparently Tdarr does not allow for calculations in their Set Flow Variable plugin.

@jaybawk
Copy link

jaybawk commented May 31, 2025

Do you happen to know an easier way to replaces flows with new versions? Currently a little of a hassle because of flow IDs being used throughout so you can't just delete and replace.

@jaybawk
Copy link

jaybawk commented May 31, 2025

Also before I forget a low priority change for the variable wiki page would be specifically highlighting changed or new variables for those updating. For example "use_foreign" being changed to "is_foreign"

@jaybawk
Copy link

jaybawk commented May 31, 2025

Believe I had this issues on the old version too and never cared about it. Probably another unraid permissions thing for external subtitle step. Plugin fails to install the node module.

image

@jaybawk
Copy link

jaybawk commented May 31, 2025

Don't think I had this step working with previous versions either never bothered me but figured I'd mention it for big update. Subtitle format detection not actually detecting PGS subtitles
image
image

Also noticed plugins not being detected even though they exist. Is it possible they are case sensitive? (node log showing all lower case) (showing different plugin in one screenshot I know)
image
image
image

And finally some floaters in the audio transcoding flow.
Screenshot 2025-05-31 at 3 30 30 PM

@jaybawk
Copy link

jaybawk commented May 31, 2025

Extra { on nvenc preset variable detection causing it to not see the value.
image

Searching the raw json seems this might be an issue with a few steps total. Here are all of three from this flow at least.
📼 | ❓ Is ffmpeg_preset = faster? (Line 361)
📼 | 🔎 Check Flow Variable 'nvenc_preset' and determine if it has a valid preset number set (Line 1413)
📼 | 🧮 Set Local Flow Variable 'use_nvenc_preset' to 'nvenc_preset' value (Line 1429)

Still having trouble getting through nvenc encoding though after these changes but at least it knows what preset to use.

@jordanlambrecht
Copy link
Owner Author

This is awesome feedback man, thank you for taking the time. I'm going to start knocking these out.

Do you happen to know an easier way to replaces flows with new versions? Currently a little of a hassle because of flow IDs being used throughout so you can't just delete and replace.

I wish =/ It's pretty frustrating. I've just been duplicating/making backups and overwriting the main flow

@Shadowalker125
Copy link

This is awesome feedback man, thank you for taking the time. I'm going to start knocking these out.

Do you happen to know an easier way to replaces flows with new versions? Currently a little of a hassle because of flow IDs being used throughout so you can't just delete and replace.

I wish =/ It's pretty frustrating. I've just been duplicating/making backups and overwriting the main flow

Might be worth it to put in issue in the tdarr GitHub for a new feature of replacing flows rather than just adding and deleting.

@jordanlambrecht
Copy link
Owner Author

This is awesome feedback man, thank you for taking the time. I'm going to start knocking these out.

Do you happen to know an easier way to replaces flows with new versions? Currently a little of a hassle because of flow IDs being used throughout so you can't just delete and replace.

I wish =/ It's pretty frustrating. I've just been duplicating/making backups and overwriting the main flow

Might be worth it to put in issue in the tdarr GitHub for a new feature of replacing flows rather than just adding and deleting.

Done.

@jordanlambrecht
Copy link
Owner Author

jordanlambrecht commented Jun 6, 2025

v2.2.1-beta - June 6, 2025

Added

  • Finished added emojis to 📼 Video Transcoding flow (lol)
  • 🎉 Three new library variables! Users can now set use_minimum_filesize_boundary to true or false, and
  • Anime/Foreign safety check in 💬 Handle Subtitle Cleaning.
  • 🎧 Handle Audio Cleaning now holds files for review if file size/duration
  • Alternative method for detecting font files checks fail instead of automatically failing the flow
  • 👋 Initialization now checks for and removes dvd_nav_packet codecs. Closes
    #19

Fixed

  • A few variables in the 📼 Video Transcoding flow had dangling curly brackets. Closes #20
  • 💬 Handle Subtitle Cleaning was not properly removing TTF files
  • Turns out a lot of issues were due to a community plugin error. I opened an issue with Tdarr and they added checkStreamProperty as an official plugin. Closes #9, closes #21
  • 🔊 Handle Audio Transcoding was not correctly using keep_8ch_logic

Changed

  • Subtitles will no longer be removed if library variables is_anime or is_foreign are true. It's better to have annoying subtitle formats than no subtitles at all when it comes to foreign content. Open to feedback on this ideology though
  • Tdarr_Plugin_jordy_Remove_Audio_By_Codec_Channels was officially merged with tdarr-plugins!! Users no longer need to install it as a custom plugin. Closes #22 Just kidding, only the tests were merged
  • Tdarr_Plugin_jordy_Filter_By_Audio_Codec_and_Channels was officially merged with tdarr-plugins!! Users no longer need to install it as a custom plugin

Removed

  • Mono logic and mono plugin in 🔊 Handle Audio Transcoding until I can further diagnose what's going on with it
  • Old, unused nodes in 🔊 Handle Audio Transcoding. Closes #23

Docs

  • Added page for users to contribute their encoding journey to help better account for fringe scenarios

@jaybawk
Copy link

jaybawk commented Jun 6, 2025

Will throw this in later. Hoping the next tdarr version comes out soon and not in a couple weeks so we can get that update with the replacing flows feature.

@g4m3r7ag
Copy link

It has been a few months without any commits. I'm just getting started with my configuration and just wondering if this is still being maintained or if this release might be soon and I'll just wait for that?

@Shadowalker125
Copy link

It's currently functional as is and I've been using it for quite a while. Although, it's not perfect by any means and is more of a starting point for whatever you need.

@g4m3r7ag
Copy link

@Shadowalker125 do you know if during the audio conversions does it apply DRC to normalize the loudness between dialogue and louder action scenes?

@Shadowalker125
Copy link

Shadowalker125 commented Nov 17, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

5 participants