html5在线音视频会议系统

Posted

技术标签:

【中文标题】html5在线音视频会议系统【英文标题】:Online audio/video conference system in html5 【发布时间】:2011-06-11 18:56:39 【问题描述】:

我试图弄清楚 html5 是否适合在线会议系统的客户端部分。 客户必须能够: 1. 显示服务器提供的实时视频,使用视频标签。 2. 与现场音频类似,使用音频标签。 3.系统也支持短信。在这里我们可以使用 websockets 4. 还有桌面共享功能。对于这种数据流,我也在考虑使用 websockets。但这是二进制数据,可以在发送前用base64编码。因此,在 html5 客户端中,必须对其进行解码、处理(它是一种专有协议)并使用画布对象(?!)将其绘制到屏幕上。

webapp 可以同时处理这么多数据吗? HTML5 是否为此做好了准备?

【问题讨论】:

【参考方案1】:

webapps 可以处理这么多的数据吗? 是的

HTML5 是否为此做好了准备? 还没有,但很快

这些都是 HTML5 正在努力解决的领域。但是,一些工作组比其他工作组走得更远,并且这些功能在浏览器中具有不同的实现级别。爱立信在这方面做了很多工作。他们有一个patched version of webkit,它支持足够的这些技术来进行可用的视频/音频会议。

在桌面共享方面,noVNC(浏览器中的 VNC 客户端)证明了这是可能的。 noVNC(免责声明:我编写了 noVNC)使用 javascript 和 Canvas 在浏览器中进行完整的 RFB/VNC 解码和渲染。它使用 WebSockets 来发送和接收数据,并通过网络进行 base64 编码/解码,因为 WebSockets 还不支持二进制数据。它使用 WebSockets 到 TCP 代理 websockify 与 VNC 服务器通信。它的表现相当不错。

这里是链接,因此一些相关标准可以工作:

HTML5 index

Full web-apps standard

Canvas

video and audio tags

Media capture

Media capture API

Device tag/element

WebSockets API

Current WebSockets protocol in Chrome/Safari

All WebSockets protocol drafts

ArrayBuffer/Typed Arrays

stream API

File API

查看各种HTML5相关技术现状的最佳去处是:http://caniuse.com

【讨论】:

您使用 noVNC 所做的工作令人印象深刻。干得好。关于音频/视频,浏览器中的当前实现是否允许显示实时流?还是只能在音频/视频标签中提供一个文件? 直播是通过 Stream API 和 File API 的结合来实现的。我添加了指向 File API 的链接。 Stream API 源于设备 API 工作。它本质上允许您以与 File API 类似的方式处理媒体流。 IE。您可以访问原始内容并将流作为文件传递给接受它们的元素(音频/视频)。 这个演示展示了一种使用画布和视频的方法:people.mozilla.com/~prouget/demos/DynamicContentInjection/…【参考方案2】:

您可能想查看爱立信实验室正在进行的工作:

https://labs.ericsson.com/developer-community/blog/beyond-html5-implementing-device-and-stream-management-webkit

另请查看新设备 API 的索引页面:

https://labs.ericsson.com/developer-community?type=blog

【讨论】:

以上是关于html5在线音视频会议系统的主要内容,如果未能解决你的问题,请参考以下文章

html HTML5视频会议Flash后备广告

HTML5的在线视频播放方案

使用 HTML5 或 Javascript 的 P2P 视频会议

文章付费阅读系统-发货100在线视频课程教育系统 v1.1

传百度要与阿里腾讯争夺在线办公市场?“百度Hi”开放520人同时在线音视频会议

在线考试系统视频教程和源码