1) Bug fix for CleanTitle where if the title of an audio/substeam didn't exist it would exit that loop but not increment the Id of the track. Was causing the plugin to loop in some cases.
2) Modify both FFMPEG plugins to treat VP9 codec in a similiar way to HEVC. I.e if a file is already in VP9 codec don't transcode it to HEVC as VP9 is already heavily compressed in a similiar way to HEVC. Plugin itself still outputs files as HEVC
1) Update to CleanTitle plugin to allow user input custom matching title, allows to remove more then just the default of something with 3 full stops.
2) Update to both FFMPEG plugins to fix a bug where if the force_conform option was enabled and a stream had no codec_name it would cause the plugin to error out.
1) Add input to enable bframes. - ffmpegGPU plugin
2) Add timed_id3 has codec type to remove for mkv/mp4 if force_conform is enabled. - Both ffmpeg plugins
3) max_muxing_queue_size change to 9999 as this number is still too low in some cases.
changed example values to sane numbers that would give the typical compression results people might expect from such a plugin, should someone decide to just, use what it says instead of testing and finding the right value for their use
Plugin uses a two pass approach to loud norm volume normalization. Achieved by writing the output of ffmpeg to a temp file in the source directory alongside the video file. This is read during the second pass to get the required values. Temp file is removed after second pass. MKV is required to allow the file to have custom metadata so the plugin knows what stage it is up to.
Tiered NVENC plugin based on choosing CQ:V value per resolution. (cq:v is nvenc equivalent of crf)
Based originally on iiDrakeii's "Tiered FFMPEG NVENC settings depending on resolution" plugin.
Fixed an issue with processing ts files as well as modified the check
for already processed to check video encoding, video resolution height,
and audio codec.
Improved handling of bitrates (especially when video bitrate could not be determined). Instead of failing when bitrate is NaN, use a sensible default. Bug fixes.
- Added another 25% to resulting HEVC bitrate (Personal Preference)
- Better selection of best audio stream (Language/Channels/Bitrate) (Bug)
- Removed usage of Tdarr ffmpeg object in favor of internal object :-( (There was some mixing causing issues)
- Improved handling of converting video bit rate from 10 to 8 and 8 to 10 (Enhancement)
- Better handling of knowing when script has already been run on a file (Enhancement)
- Removed ffmpeg command output from script (Unnecessary)
- TODO: Need to move video decision out of stream loop similar to audio decisions
if inputs isn't defined, then inputs.container causes a plugin error that is not caught by the if(inputs.container == "")
this change checks the inputs first
1) Update both plugins transcode plugins with new "force_conform" option.
2) Add "png" to codec image types to be removed.
3) Update GPU plugin to check for 10Bit files instead of just HDR.
- Added @10% to target video bitrate
- Audio track selection now works better
- Added more to the documentation (A round the additional programs needed)
- Modified some of the user feedback to be clearer
- Cleaned up the usage of " vs. '
- Tested to work with the 10bit flag set to false
Change both ffmpeg plugins reQueueAfter to false. These plugins should not need to be requeued and worked on again.
Move mkv data stream check to after extraArguments var creation so that it works as intended.
Both plugins checked for the existance of file.ffProbeData.streams[i].tags.language. But when .tags is completely missing then it would fail.
Modified plugins to check for .tags before then checking for .language
1) Set bufsize at a variable level dependant on bitrate. (Thanks winsome)
2) Add variable to enable transcoding files to 10bit if preferred.
3) Added two options to GPU transcode plugin after extensive testing/research with different options.
*-cq:v 19
*-rc-lookahead:v 32
4) Modify bitrate cutoff check to completely skip file if below cutoff, rather then check if it should be remuxed.
5) Tidy up some wording.
1) Ran all plugins through javascript formatter to make them look nicer/ have correct javascript formatting.
2) Added comments to all plugins.
3) Modified all plugins that have checks for inputs to check for existance of inputs itself.
4) Modify 5ConvertAudio so that you can just put "true" in a single input, rather then having to put false in the opposing one. If only 1 action is wanted.
5) Fix for 3CleanAudio & 4CleanSubs where if language meta was completely missing then plugins would not set it to the specified tag language.
6) Correct 4CleanSubs input title of "tag_title" to "tag_language"
Uses iiDrakeii's filter, and crops video files when letterboxing is detected.\nThis uses the FFMPEG NVENC transcoding(hw).\nIf a file is 4K it will be scaled down to 1080p.\nNow with user definable bitrates!(since 1.104 beta)\nCreated by @control#0405
Reinclude iiDrakeii_Not_A_Video_Mjpeg_Fix, warning needs to be given in a future update before removing plugin due to the fact people may still be using this plugin.
Remove iiDrakeii_Not_A_Video_Mjpeg_Fix plugin as this was resolved in Tdarr.
Create new plugin to strip out image format tracks, currently mjpeg & png.
1) New plugin that uses CPU to convert to H265.
2) Change to FFMPEG NVidia plugin to specifiy bitrate cutoff.
3) Fix random infolog "2" in CleanTitle
4) Update descriptive audio check in CleanAudio and CleanSubs to look for "sdh"
5) Correct OrderStreams mentioning that "Audio not first" when audio should be second.
Corrected Logic to remove mjpeg streams due to error when they are processed.
Corrected Logic to add mux queue size on specific audio formats due to ffmpeg bug.
Changed how the Map is created in corrolation with Mjpeg fix.
Specifically tuned for use with Animation, primarily Anime with English subtitles. Preserves Subtitles; Metadata; Attachments; Fonts and Styling. CRF 18 to keep as much quality as reasonable, while keeping file sizes low. Audio converted to AAC 512K for compatibility. Have used `x265-params`, as it seems the source script I used failed to do so, and the variables were not being read properly. Medium preset, need a reasonably fast CPU/Server. 10-Bit video output to help curb banding.
force processing will make sure the file gets transcoded even if the filters don't match. It will still look at the resolution, the file won't be cropped.
If the container doesn't match the preferred container and all filters already match it will be muxed to the desired container.
1) Fixed bug with Migz1FFMPEG where sometimes duration was not available, get duration from stream 0, if duration still not available then exit plugin.
2) Fixed bug with Migz1FFMPEG where it would fail if using mkv and source has a data stream (mkv does not support data streams).
3) Fixed bug with Migz2CleanTitle where if title info did not exist at all it would fail rather then skip.
1) Transcode plugin using nvidia GPU.
2) Plugin to clean title metadata from video if detected. This only cleans the title, the current plugin cleans all metadata if title is detected.
3) Plugin to clean audio, remove unwanted languages & tag unknown language tracks.
4) Plugin to clean subtitles, remove unwanted languages & tag unknown language tracks.
5) Plugin to convert stereo tracks to AAC and/or create downmix audio tracks.
6) Organise streams into order.
Updated for 1.104 beta to support inputs.
change install_packages to yes to automatically install the node_module that is required for this plugin.
ISO-639-2 node module can now be installed on any system automatically!
Only tested on Linux but should hypothetically work on other OS too.
Uses iiDrakeii's filter, and crops video files when letterboxing is detected.
This uses the FFMPEG NVENC transcoding(hw).
If a file is 4K it will be scaled down to 1080p.
Now with user definable bitrates!(since 1.104 beta)
Updated for 1.104 beta to support inputs.
change install_packages to yes to automatically install the node_module that is required for this plugin.
ISO-639-2 node module can now be installed on any system automatically!
Only tested on Linux but should hypothetically work on other OS too.
Plugin that checks for unwanted audio, per 1.104 beta you can change the languages yourself from within Tdarr!
Untill you enter a value it keep english tracks by default.
Undefined languages are kept to prevent videos without sound.
If you would like to keep track of the languages you have for each file you can use the 'special' option.
-Added mitigation for embeded pictures to avoid errors during transcode.
-added mitigation for mkv unsupported subtitle codec. (codec mov_text converts to srt)
-Cleaned up unnecessary code.
"Segmentation Fault" error when truehd audio caused by truehd stream
Added search for truehd stream
-max_muxing_queue_size 1024 added to encode cli code to account for error
Changed conversion of bytes to KB from 1024 to 1000
Added infolog for bitrate
Files now check if bitrate is lower then default set bitrate. If lower decreases bitrate by percentage and converts.
Added -a53cc 0 to remove Closed Captioning Issues (closed captioning no longer kept)
All plugins should requeue the file afterwards in case a plugin stack is being used. I’ll update the plugin tutorial/documentation on Monday to reflect this.