We present video-io, a generic web component to publish or subscribe to a media stream in WebRTC (web real-time communication) applications. Unlike a call or conference room abstraction of existing video conferencing services, it uses a named stream abstraction, which is useful in many scenarios beyond just a call or conference. It keeps most of the application logic in the endpoint using the extensive application interface of this component, and keeps any vendor specific access control or signaling negotiation in a service-specific connector implementation. This allows an app developer to write once, and be able to run the web app on different servers or services. We also demonstrate its flexibility by implementing the connector for ten different existing systems and services. Decoupling the app from the hosted vendor service promotes innovation in the endpoint beyond what a single vendor locked client app can offer.
翻译:本文提出video-io——一种用于WebRTC(网页实时通信)应用中发布或订阅媒体流的通用网页组件。与现有视频会议服务采用的通话或会议室抽象不同,该组件采用命名流抽象,这种设计在通话或会议之外的多种场景中具有实用价值。组件通过其丰富的应用接口将大部分应用逻辑保留在终端,同时将特定供应商的访问控制或信令协商置于专属连接器实现中。这种架构使应用开发者只需编写一次代码,即可让网页应用在不同服务器或服务上运行。我们还通过为十种现有系统和服务实现连接器,验证了该组件的灵活性。将应用与托管供应商服务解耦的设计,能够促进终端侧创新,其潜力远超单一供应商锁定的客户端应用所能提供的功能。