3

我一直在玩 node 和 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 分钟或其他任何时间。

谢谢

4

1 回答 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

于 2013-04-15T12:47:47.383 回答