12

我正在尝试使用 websockets 将(WebM 或 MP4)视频从 Node.js 流式传输到 HTML5(websocket 库在服务器和客户端上都是 Socket.IO)。使用的浏览器是最新版本的 Chrome(版本 26.0.1410.64 m)。

我在这里看到可以使用 MediaSource 对象从文件中推送视频标签中的视频流。

我的想法是从 websocket 而不是文件中读取数据块。有人可以发布一个使用 websockets 来完成的示例或解释我如何做到这一点吗?

提前致谢。

4

1 回答 1

3

除了文本(字符串)消息之外,WebSocket API 还允许您发送 二进制数据,这对于实现二进制协议特别有用。这种二进制协议可以是标准的 Internet 协议,通常位于 TCP 之上,其中有效负载可以是BlobArrayBuffer

// Send a Blob
var blob = new Blob("blob contents");
ws.send(blob);

// Send an ArrayBuffer
var a = new Uint8Array([8,6,7,5,3,0,9]);
ws.send(a.buffer);

Blob 对象在与 JavaScript 文件 API 结合用于发送和接收文件(主要是多媒体文件图像视频音频)时特别有用。

我还建议查看 WebRTC(与 WebSockets 相关的技术)Web 实时通信(WebRTC)是增强现代 Web 浏览器通信能力的另一项努力。WebRTC 是 Web 的点对点技术。WebRTC 的第一个应用是实时语音和视频聊天。WebRTC 已经是一种引人注目的媒体应用新技术,并且有许多可用的在线示例应用程序使您能够通过 Web 使用视频和音频进行测试。请检查此链接

于 2013-07-13T20:24:40.363 回答