我们正在创建一个基于Web浏览器的音乐流媒体服务,该服务可以传输包含单独的同步音轨的文件.文件基本上是mp4s,但有一些额外的框.
流式传输将遵循MPEG-DASH标准,并且希望不重新发明轮子(例如,有dash.js).
更新160525 - 添加更多背景:
MPEG-DASH是项目的一项要求,无论是其功能(适应性,简易服务器设置等),还是因为我正在研究的项目只使用MPEG标准.
流本身是静态文件的按需播放,即没有直播.播放将有两种模式; 一个只播放曲目的静态模式,以及一个用户可以改变音量,平移等的交互模式.现在,静态播放很好.
现在,流式同步多轨音频似乎并不是最常见的事情,我遇到了几个问题:
MPEG-DASH似乎高度关注视频流.
是否有任何关于纯音频流的文档或指南,我无法找到?
AFAIK,<video>和<audio>元素一次只支持一个音轨.它们提供了大量的魔术通道MediaSource.addSourceBuffer(),可以对输入缓冲区进行即时解码.
解决这个问题的两种可能方法是:
<audio>元素并手动同步它们AudioNode为每个轨道创建s并手动同步它们.这意味着我们必须处理解码有没有其他或更好的方法来流式传输多个同步音轨?
dash.js参考播放器遵循DASH-AVC/264指南,根据我的理解,该指南解决了视频流,并将同时播放的音频轨道的数量限制为一个.
它还使用HTML5 <video>元素,这导致上面的问题.
它,然而,含有巨大数额的DASH相关的功能,如自适应流,MPD清单解析等等等等.
dash.js是多轨音乐流媒体的最佳选择,还是最终成为黑客?
如果我误解了任何事情,我非常乐意回答问题或纠正错误!
javascript audio-streaming html5-audio mpeg-dash web-audio-api
我一直在检查Web Audio API文档和教程,但还没有想到如何解决这个问题.
假设我通过XMLHttpRequest加载了几个wav文件,然后创建了buffersources.我知道我可以安排精确播放的时间.但是,如果我不想播放它们,而是想要将它们存储在缓冲区中,那该怎么办呢?
一个真实的例子:我想创建一个简单的音序器,你可以在其中安排鼓,然后将整个混音导出到wav(不使用RecorderJS或其他东西录制).任何想法,图书馆?
我想组合音频片段,彼此叠加,以便它们同步播放并保存在新的音频文件中.任何帮助将非常感激.我已经在线进行了一些挖掘工作,但是无法找到关于Javascript音频编辑库(例如)的许多工具是否可用的确切答案.