This commit is contained in:
fanxb 2022-11-09 12:48:36 +08:00
parent d3b561ee3a
commit 7ed9d0b4a3

View File

@ -52,8 +52,9 @@ async function deal (basePath, maxBitRate = 2500, changeName = false, hardType)
console.log("未获取到帧率,不处理", JSON.stringify(res)); console.log("未获取到帧率,不处理", JSON.stringify(res));
continue; continue;
} }
let is10Bit = res.streams.filter(item => item.bits_per_raw_sample === '10').length > 0;
bitRate = Math.round(parseInt(bitRate) / 1000); bitRate = Math.round(parseInt(bitRate) / 1000);
bitRate = bitRate > maxBitRate ? maxBitRate : bitRate; bitRate = bitRate > maxBitRate * 2 ? maxBitRate : bitRate / 2;
let newName = null; let newName = null;
replaceTextArr.forEach(item => { replaceTextArr.forEach(item => {
if (newName == null && name.indexOf(item) > -1) { if (newName == null && name.indexOf(item) > -1) {
@ -65,7 +66,7 @@ async function deal (basePath, maxBitRate = 2500, changeName = false, hardType)
newName = name.substr(0, index) + ".h265" + name.substr(index); newName = name.substr(0, index) + ".h265" + name.substr(index);
} }
let newFilePath = path.join(basePath, newName); let newFilePath = path.join(basePath, newName);
let cmdStr = `ffmpeg.exe ${hwType} ${decodeType} -i "${filePath}" ${encodeType} -maxrate ${bitRate}K -acodec aac -strict -2 -ab 256K "${newFilePath}"`; let cmdStr = `ffmpeg.exe ${hwType} ${is10Bit ? "" : decodeType} -i "${filePath}" ${encodeType} -maxrate ${bitRate}K -c:a copy -y "${newFilePath}"`;
console.log(cmdStr); console.log(cmdStr);
let changeRes = cmd.execSync(cmdStr, { encoding: 'utf-8' }); let changeRes = cmd.execSync(cmdStr, { encoding: 'utf-8' });
console.log(changeRes); console.log(changeRes);
@ -93,6 +94,6 @@ async function deal (basePath, maxBitRate = 2500, changeName = false, hardType)
} }
} }
(async () => { (async () => {
await deal("Z:\\userData\\视频\\剧集\\美剧\\亿万.Billions", 2500, true, "cuda"); await deal("Z:\\userData\\视频\\剧集", 2500, true, "cuda");
})(); })();