From 66c32cd819fa4e8b73bd51bf89b8bc6ff18d9d2d Mon Sep 17 00:00:00 2001 From: Mikael Finstad Date: Mon, 27 Apr 2020 13:56:12 +0800 Subject: [PATCH] improve progress reading --- src/ffmpeg.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ffmpeg.js b/src/ffmpeg.js index 4b182bec..cb051ddf 100644 --- a/src/ffmpeg.js +++ b/src/ffmpeg.js @@ -76,8 +76,12 @@ function handleProgress(process, cutDuration, onProgress) { const rl = readline.createInterface({ input: process.stderr }); rl.on('line', (line) => { + // console.log('progress', line); + try { - const match = line.match(/frame=\s*[^\s]+\s+fps=\s*[^\s]+\s+q=\s*[^\s]+\s+(?:size|Lsize)=\s*[^\s]+\s+time=\s*([^\s]+)\s+/); // eslint-disable-line max-len + let match = line.match(/frame=\s*[^\s]+\s+fps=\s*[^\s]+\s+q=\s*[^\s]+\s+(?:size|Lsize)=\s*[^\s]+\s+time=\s*([^\s]+)\s+/); + // Audio only looks like this: "line size= 233422kB time=01:45:50.68 bitrate= 301.1kbits/s speed= 353x " + if (!match) match = line.match(/(?:size|Lsize)=\s*[^\s]+\s+time=\s*([^\s]+)\s+/); if (!match) return; const str = match[1];