使用websocket在视频标记中流式传输

Mas*_*ldo 8 javascript html5 google-chrome video-streaming websocket

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

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

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

提前致谢.

Sha*_*okh 5

除了文本(字符串)消息之外,WebSocket API还允许您发送 二进制数据,这对于实现二进制协议特别有用.这种二进制协议可以是通常在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);
Run Code Online (Sandbox Code Playgroud)

当与用于发送和接收文件的JavaScript File API结合使用时,Blob对象特别有用,主要是多媒体文件,图像,视频音频.

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

  • 这甚至没有解决问题。仅提及套接字,然后给出 WebRTC 的一般描述。 (2认同)