html - 使用 Node 将视频流式传输到 HTML5

标签 html node.js websocket video-streaming html5-video

我一直在尝试使用 node 和 websockets,并构建了一个使用 websockets 流式传输音频的小型测试应用程序。服务器使用 createReadStream 分解 mp3,使用 node-throttle 限制流,并使用“ws”模块感知二进制数据。 在客户端,我在 websocket 上获取 block 并使用 decodeAudioData ( http://www.html5rocks.com/en/tutorials/webaudio/intro/ ) 解码和播放 block 。一切正常。

接下来我想做的是以相同的方式将视频流式传输到 HTML5 视频标签。但是我真的无法在网上找到任何引用资料来以与我上面的音频测试相同的方式实现这一点。

“decodeAudioData”是否有对应的视频?

我可以将数据 block 输入视频标签吗?

我有一个类似的示例正在运行,我从...中提取的

https://gist.github.com/paolorossi/1993068

但这并不是我真正想要的。首先,它似乎并没有真正流向我。客户端在播放之前将其全部缓冲。 此外,与我的音频测试类似,我希望在服务器端限制流,以便当新客户端连接时,他们可以在当前的任何点加入视频。即 30 分钟或其他时间。

谢谢

最佳答案

好的,

经过大量搜索,我找到了解决方案。

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

关于html - 使用 Node 将视频流式传输到 HTML5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15806696/

相关文章:

html - 媒体查询不工作

html - MacOS Safari 文本阴影丢失

sql - Bookshelfjs ORM 如何获取或查看其构建的 SQL 语句

kubernetes - 通过Kubernetes的Azure Websocket连接,使用代码1006断开许多连接

javascript - HTML jQuery 表单每次点击提交一次就会提交越来越多的次数

javascript - 根据两个输入的太阳替换输入值

node.js - 在 MongoDB 中按 INC 值查找文档

node.js - 在android上卸载node和npm?

database - Webapp服务器数据存储: Memory vs database

javascript - 使用套接字 io 将数据传递到 html 表