使用Node将视频流传输到HTML5页面

3
我一直在尝试使用node和websockets,并建立了一个小型的测试应用程序,使用websockets流式传输音频。服务器使用createReadStream分解mp3文件,使用node-throttle限制流速,并使用“ws”模块发送二进制数据。客户端通过websocket接收块并使用decodeAudioData (http://www.html5rocks.com/en/tutorials/webaudio/intro/)解码和播放块。它基本上可以正常工作。
我想尝试的下一步是以同样的方法向HTML5 video标签流式传输视频。但是我真的找不到任何关于如何以与上面我的音频测试相同方式实现这一点的参考资料。
是否有适用于“decodeAudioData”的视频等效物?
我能否将数据块馈送到视频标记?
我从以下网址拾取了类似的示例... https://gist.github.com/paolorossi/1993068 但这不是我要找的。首先,它对我来说似乎并没有流式传输。客户端在播放之前会缓冲所有内容。 此外,与我的音频测试类似,我希望在服务器端对流进行限制,以便当新客户端连接时,它们以当前视频的任何点加入该流。例如,30分钟后或其他时间点。
谢谢
1个回答

8

好的,

我在搜索了很多后找到了解决方案。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接