我一直在玩节点和websockets,并构建了一个小型测试应用程序,使用websockets传输音频。服务器使用createReadStream拆分mp3,使用node-throttle限制流,并使用“ws”模块感知二进制数据。 在客户端,我在websocket上拾取块并使用decodeAudioData(http://www.html5rocks.com/en/tutorials/webaudio/intro/)来解码和播放块。一切都比较好。
我接下来要做的就是以相同的方式将视频流式传输到HTML5视频标签。但我无法在网上找到任何参考资料来实现这一点,就像我上面的音频测试一样。
“decodeAudioData”是否有相应的视频?
我可以将数据块提供给视频代码吗?
我有一个类似的样本运行,我从... ...
https://gist.github.com/paolorossi/1993068
但这并不是我想要的。首先,它似乎并没有真正流向我。客户端在播放之前将其全部缓冲。 此外,与我的音频测试类似,我希望在服务器端限制流,以便在新客户端连接时,他们可以在当前所处的任何位置加入视频。即30分钟或其他什么。
由于
答案 0 :(得分:8)
行,
我经过多次搜索后找到了解决方案。
我正在寻找MediaSource API ......
var mediaSource = new MediaSource();
var sourceBuffer = mediaSource.addSourceBuffer('video/webm; codecs="vorbis,vp8"');
sourceBuffer.append(new Uint8Array(data));
此链接提供了解决方案......