我正在开发一个需要流式传输和同步多个音频文件的Web应用程序.为此,我使用
Web Audio API over HTML5音频标签,因为定时音频的重要性.
目前,我正在使用FFMPEG的分段功能将音频文件编码并分段为更小的块.我分割它们的原因是我可以从文件中间开始流式传输而不是从头开始(否则我只是使用UNIX split,as shown here分割文件.问题是当我对音频片段进行分组时回到一起,我得到段之间的音频流行音乐.
如果我在.wav文件中使用PCM编码(pcm_s24le)对段进行编码,则回放是无缝的,这使我相信编码器正在填充文件的开头或结尾.由于我将处理许多不同的音频文件,使用.wav将需要太多的带宽.
我正在寻找以下解决方案之一:
>如何无缝分割编码的音频文件,
>如何强制编码器使用ffmpeg(或其他实用程序)填充音频帧,或者
>在不使用音频标签的情况下,流式传输音频(从任意音轨时间开始)的更好方法是什么?
系统信息
>自定义node.js服务器
>上传音频文件后,node.js将数据传输到ffmpeg的编码器中
>需要使用HTML5 Web Audio API支持的编码
>服务器通过WebSockets套接字一次发送1个音频块
提前致谢.我试图尽可能清楚,但如果你需要澄清,我会非常愿意提供它.