Use file.ffProbeData?.format?.duration if available

This commit is contained in:
HaveAGitGat 2023-02-12 23:03:18 +00:00
parent db3fecab6a
commit fbed3a0a84
9 changed files with 54 additions and 11 deletions

View file

@ -269,7 +269,14 @@ const plugin = (file, librarySettings, inputs, otherArguments) => {
var intChapNum = 0;
var strChapNum = "";
for (var i = 0; i < file.meta.Duration; i += chapterlengthlong) {
let duration = 0;
if (parseFloat(file.ffProbeData?.format?.duration) > 0) {
duration = parseFloat(file.ffProbeData?.format?.duration)
} else {
duration = file.meta.Duration
}
for (var i = 0; i < duration; i += chapterlengthlong) {
intChapNum += 1;
strChapNum = String(intChapNum).padStart(2, '0');
@ -283,7 +290,8 @@ const plugin = (file, librarySettings, inputs, otherArguments) => {
intChapNum += 1;
strChapNum = String(intChapNum).padStart(2, "0");
var timeString = new Date((Math.floor(file.meta.Duration) - 1) * 1000).toISOString().substr(11, 12);
var timeString = new Date((Math.floor(duration) - 1) * 1000).toISOString().substr(11, 12);
strChapterFile += "CHAPTER" + strChapNum + "=" + timeString + "\n";
strChapterFile += "CHAPTER" + strChapNum + "NAME=CHAPTER " + intChapNum + "\n";