Node / ffmpeg Аудио Длительность: н / д, когда вход является буфером - PullRequest
0 голосов
/ 07 июня 2018

В настоящее время я пытаюсь обработать звук, используя узел, но в качестве входного сигнала используется буфер.Вот как выглядит код до сих пор.

let uLawArguments = [ // arguments for ulaw extention
    '-c',
    `ffmpeg -ac 1 -ar 8000 -f mulaw -i -`
];

const ffMpeg = spawn('sh', uLawArguments);

ffMpeg.stdin.write(audioBuffer);
ffMpeg.stdin.end();
ffMpeg.stderr.pipe(process.stdout);

Ffmpeg принимает -i - в качестве аргумента для приема ввода через стандартный ввод.После прохождения через буфер, который имеет тип Channel: 1, frequency: 8000, я получаю следующий вывод:

Input #0, mulaw, from 'pipe:': Duration: N/A, bitrate: 64 kb/s Stream #0:0: Audio: pcm_mulaw, 8000 Hz, mono, s16, 64 kb/s

Мне нужно очистить продолжительность, но прежде чем я смогу даже отформатировать ее, янужно вернуть фактическую продолжительность аудио.Я думаю, что проблема в настоящее время в том, что ffmpeg выводит это в stderr, прежде чем он сможет даже полностью обработать буфер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...