使用节点将视频流式传输到HTML5

问题描述:

我一直在玩节点和websockets,并构建了一个小型测试应用程序,它使用websockets传输音频。服务器使用createReadStream分解mp3,使用node-throttle限制流并使用“ws”模块传感二进制数据。 在客户端,我拿起websocket上的块并使用decodeAudioData(http://www.html5rocks.com/en/tutorials/webaudio/intro/)来解码和播放块。这一切都相对确定。使用节点将视频流式传输到HTML5

我很好奇接下来要做的是以相同的方式将视频流式传输到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