diff --git a/modules/merger.js b/modules/merger.js index a67b0d0..1a576c8 100644 --- a/modules/merger.js +++ b/modules/merger.js @@ -76,9 +76,7 @@ const buildCommandMkvMerge = (videoAndAudio, onlyVid, onlyAudio, subtitles, outp args.push(`-o "${output}"`); args.push( - '--no-date', - '--disable-track-statistics-tags', - '--engage no_variable_data', + '--global-tags "./tag.xml"', ); for (let vid of onlyVid) { @@ -100,6 +98,8 @@ const buildCommandMkvMerge = (videoAndAudio, onlyVid, onlyAudio, subtitles, outp '--audio-tracks 1' ); args.push('--track-name 0:[Funimation]'); + let trackName = subDict[vid.lang]; + args.push('--track-name',`1:"${trackName}"`); args.push(`--language 1:${getLanguageCode(vid.lang, vid.lang)}`); hasVideo = true; } else { @@ -107,12 +107,16 @@ const buildCommandMkvMerge = (videoAndAudio, onlyVid, onlyAudio, subtitles, outp '--no-video', '--audio-tracks 1' ); + let trackName = subDict[vid.lang]; + args.push('--track-name',`1:"${trackName}"`); args.push(`--language 1:${getLanguageCode(vid.lang, vid.lang)}`); } args.push(`"${vid.path}"`); } for (let aud of onlyAudio) { + let trackName = subDict[aud.lang]; + args.push('--track-name',`0:"${trackName}"`); args.push(`--language 0:${getLanguageCode(aud.lang, aud.lang)}`); args.push( '--no-video', @@ -123,9 +127,11 @@ const buildCommandMkvMerge = (videoAndAudio, onlyVid, onlyAudio, subtitles, outp if(subtitles.length > 0){ for (let subObj of subtitles) { - args.push('--language',`0:${getLanguageCode(subObj.language)}`); - args.push(`"${subObj.file}"`); - } + let trackName = subDict[subObj.language]; + args.push('--track-name',`0:"${trackName}"`); + args.push('--language',`0:${getLanguageCode(subObj.language)}`); + args.push(`"${subObj.file}"`); +} } else { args.push( '--no-subtitles', @@ -135,7 +141,12 @@ const buildCommandMkvMerge = (videoAndAudio, onlyVid, onlyAudio, subtitles, outp return args.join(' '); }; - +const subDict = { + 'en': 'English (United State)', + 'es': 'Español (Latinoamericano)', + 'pt': 'Português (Brasil)', + 'ja': '日本語' +}; const getLanguageCode = (from, _default = 'eng') => { for (let lang in iso639.iso_639_2) { let langObj = iso639.iso_639_2[lang];