diff --git a/src/utils/parseProgress.js b/src/utils/parseProgress.js deleted file mode 100644 index b401253..0000000 --- a/src/utils/parseProgress.js +++ /dev/null @@ -1,45 +0,0 @@ -let duration = 0; -let frames = 0; -let readFrames = false; -let ratio = 0; - -const ts2sec = (ts) => { - const [h, m, s] = ts.split(':'); - return (parseFloat(h) * 60 * 60) + (parseFloat(m) * 60) + parseFloat(s); -}; - -module.exports = (message, progress) => { - if (typeof message === 'string') { - if (message.startsWith(' Duration')) { - const ts = message.split(', ')[0].split(': ')[1]; - const d = ts2sec(ts); - progress({ duration: d, ratio }); - if (duration === 0 || duration > d) { - duration = d; - readFrames = true; - } - } else if (readFrames && message.startsWith(' Stream')) { - const match = message.match(/([\d.]+) fps/); - if (match) { - const fps = parseFloat(match[1]); - frames = duration * fps; - } else { - frames = 0; - } - readFrames = false; - } else if (message.startsWith('frame') || message.startsWith('size')) { - const ts = message.split('time=')[1].split(' ')[0]; - const t = ts2sec(ts); - const f = parseFloat(message.match(/frame=\s*(\d+)/)[1]); - if (frames) { - ratio = Math.min(f / frames, 1); - } else { - ratio = t / duration; - } - progress({ ratio, time: t }); - } else if (message.startsWith('video:')) { - progress({ ratio: 1 }); - duration = 0; - } - } -};