Я пишу простой онлайн-инструмент для конвертации с использованием FFMPEG и Node.js. Я пытаюсь выяснить, как анализировать каждую строку выходных данных преобразования, полученных от FFMPEG, и отображать только соответствующие результаты на стороне клиента в браузере. В моем случае мне нужен счетчик времени кодирования, который FFMPEG выдает в командной строке.
Моя функция до сих пор:
function metric(ffmpeg, res) {
ffmpeg.stdout.on('data', function(data) {
res.writeHead(200, {'content-type': 'text/html'});
res.write('received upload:\n\n');
console.log(data);
});
ffmpeg.stderr.on('data', function (data) {
var temp += data.toString();
var lines = temp.split('\n');
//for debugging purposes
for(var i = 0;i<lines.length;i++) {
console.log('this is line: ' + i + '----' + lines[i]);
}
res.write(lines);
});
ffmpeg.on('exit', function (code) {
console.log('child process exited with code ' + code);
res.end();
});
}
В результате возвращается несколько массивов, каждый из которых включает в себя данные из предыдущего массива, а также следующий блок данных. Например, функция возвращает массив 1: {0 => A, 1 => B}, массив 2: {0 => A, 1 => B, 2 => C}, массив 3: {0 => A, 1 => B, 2 => C, 3 => D} и так далее.
Я довольно новичок в Node, так что, возможно, мне не хватает чего-то простого. Любое руководство будет высоко ценится!