我想将音频文件转换为.wav格式并将其流式传输。实际上,流传输的目的是防止在将文件发送到客户端之前在本地存储文件。我正在使用fluent-ffmpeg执行以下代码:
ffmpeg(audioFilePath)
.noVideo()
.toFormat('wav')
.writeToStream(response, { end: true });
这将生成一个持续时间为0的.wav
文件
保存文件时,按预期方式工作:
ffmpeg(audioFilePath)
.noVideo()
.toFormat('wav')
.save('audiofile.wav');
即持续时间是正确的。我尝试将命令与.setDuration('1234')
链接在一起,但是它都不起作用。
这是对我正在流式传输文件(因此ffmpeg发送未知持续时间为0的事实)的限制吗?还是我做错了什么?
[编辑]回答了类似的问题here
“写入输出时,FFmpeg无法更新WAVE文件中的元数据 可以通过手动设置持续时间?