我一直在玩节点和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分钟或者其他时间
谢谢
OK,
经过一番努力,我找到了解决这个问题的办法。
MediaSource API是我正在寻找的…
var mediaSource = new MediaSource();
var sourceBuffer = mediaSource.addSourceBuffer('video/webm; codecs="vorbis,vp8"');
sourceBuffer.append(new Uint8Array(data));
这个链接提供了解决方案…
http://html5-demos.appspot.com/static/media-source.html