Я хотел бы конвертировать и передавать аудиофайл в формат .wav.На самом деле, целью потоковой передачи является предотвращение локального сохранения файла перед его отправкой клиенту.Я делаю следующий код с использованием fluent-ffmpeg:
ffmpeg(audioFilePath)
.noVideo()
.toFormat('wav')
.writeToStream(response, { end: true });
Это создаст файл .wav
с длительностью 0
. При сохранении файла работает как ожидалось:
ffmpeg(audioFilePath)
.noVideo()
.toFormat('wav')
.save('audiofile.wav');
Т.е. продолжительность правильная.Я попытался связать команду с помощью .setDuration('1234')
, но она также не работала.
Это ограничение для того факта, что я передаю файл (и, следовательно, ffmpeg отправляет неизвестную длительность 0), или я делаючто-то не так?
[Изменить] На аналогичный вопрос был дан ответ здесь
"FFmpeg не может обновить метаданные в файлах WAVE, когда выходные данные записываются поверхнедосягаемый протокол как труба ".однако можно вручную установить продолжительность?