@ -7,7 +7,7 @@ function details() {
id : "Tdarr_Plugin_fd5T_Sparticus_4K_AC3_No_Subs" ,
Name : "Sparticus 4K +AC3 No Subs Original container" ,
Type : "Video" ,
Description : ` This plugin for 4K video removes subs and adds a main AC3 track if only a commentary AC3 track exists . The output container is the same as the original file. \n \n
Description : ` This plugin for 4K video removes subs . If no AC3 track exists, it adds one. If only an AC3 commentary track exists, it adds a new AC3 main track . The output container is the same as the original file. \n \n
` ,
Version : "1.00" ,
Link : "https://github.com/HaveAGitGat/Tdarr_Plugin_hk75_Drawmonster_MP4_ac3_No_Subs_No_metaTitle"
@ -22,13 +22,13 @@ function plugin(file) {
var response = {
processFile : false ,
preset : '' ,
container : '.mp4' ,
handBrakeMode : false ,
FFmpegMode : false ,
reQueueAfter : false ,
infoLog : '' ,
processFile : false ,
preset : '' ,
container : '.mp4' ,
handBrakeMode : false ,
FFmpegMode : false ,
reQueueAfter : false ,
infoLog : '' ,
}
@ -51,6 +51,7 @@ function plugin(file) {
} else {
var jsonString = JSON . stringify ( file )
var ffmpegDataString = JSON . stringify ( file . ffProbeData )
@ -65,17 +66,17 @@ function plugin(file) {
for ( var i = 0 ; i < file . ffProbeData . streams . length ; i ++ ) {
for ( var i = 0 ; i < file . ffProbeData . streams . length ; i ++ ) {
try {
try {
if ( file . ffProbeData . streams [ i ] . codec _name . toLowerCase ( ) == "ac3" && file . ffProbeData . streams [ i ] . tags . title . toLowerCase ( ) == "commentary" ) {
if ( file . ffProbeData . streams [ i ] . codec _name . toLowerCase ( ) == "ac3" && file . ffProbeData . streams [ i ] . tags . title . toLowerCase ( ) == "commentary" ) {
hasAC3Commentary = true
}
} catch ( err ) { }
} catch ( err ) { }
}
@ -84,52 +85,90 @@ function plugin(file) {
if ( ! ! hasAC3Commentary && ac3TrackCount == 1 ) {
if ( ! ! hasAC3Commentary && ac3TrackCount == 1 ) {
hasOneAC3TrackCommentary = true
} else {
} else {
hasOneAC3TrackCommentary = false
}
var hasNoAC3Track
if ( ac3TrackCount == 0 ) {
hasNoAC3Track = true
} else {
hasNoAC3Track = false
}
if ( hasOneAC3TrackCommentary && jsonString . includes ( "subrip" ) ) {
response . infoLog += "File has one AC3 track (commentary) and has subs"
if ( hasOneAC3TrackCommentary && jsonString . includes ( "subrip" ) ) {
response . infoLog += "File has only one AC3 track (commentary) and has subs"
response . preset = '-sn,-map 0:v -map 0:a:0 -map 0:a -map 0:s? -map 0:d? -c copy -c:a:0 ac3'
response . reQueueAfter = true ;
response . processFile = true ;
return response
}
if ( hasNoAC3Track && jsonString . includes ( "subrip" ) ) {
response . infoLog += "File has no AC3 track and has subs"
response . preset = '-sn,-map 0:v -map 0:a:0 -map 0:a -map 0:s? -map 0:d? -c copy -c:a:0 ac3'
response . reQueueAfter = true ;
response . processFile = true ;
return response
}
if ( ! ! hasOneAC3TrackCommentary == true ) {
response . infoLog += " File has only one AC3 track (commentary)!"
response . preset = ',-map 0:v -map 0:a:0 -map 0:a -map 0:s? -map 0:d? -c copy -c:a:0 ac3'
response . reQueueAfter = true ;
response . processFile = true ;
return response
} else {
response . infoLog += " File does not have only one AC3 track (commentary)!"
}
if ( ! ! hasOneAC3TrackCommentary == true ) {
response . infoLog += " File has one AC3 track (commentary)"
if ( hasNoAC3Track ) {
response . infoLog += " File has no AC3 track!"
response . preset = ',-map 0:v -map 0:a:0 -map 0:a -map 0:s? -map 0:d? -c copy -c:a:0 ac3'
response . reQueueAfter = true ;
response . processFile = true ;
return response
} else {
response . infoLog += " File does not have one AC3 track (commentary)"
} else {
response . infoLog += " File has AC3 track! "
}
if ( jsonString . includes ( "subrip" ) ) {
response . infoLog += " File has subs"
if ( jsonString . includes ( "subrip" ) ) {
response . infoLog += " File has subs!"
response . preset = '-sn, -c:v copy -c:a copy'
response . reQueueAfter = true ;
response . processFile = true ;
return response
} else {
} else {
response . infoLog += " File has no subs"
}