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在线音视频会议系统的主要内容,如果未能解决你的问题,请参考以下文章
使用 HTML5 或 Javascript 的 P2P 视频会议