灵光一闪

灵感:Meeting Kit

我最近在使用 Agora SDK 开发一个视频会议软件,在开发各种视频会议的细节功能时,我不由得疑惑。为什么一定要开发会议当中的一些基础功能 —— 比如静音、踢人、设置设备、会议聊天。

当然, 这些东西开发起来并不复杂 —— 你只需要基于 Agora SDK 就可以开发出来,只是我在想,这些非常基础的功能,能否有一些现成的功能 (是的,我非常懒)。

所以,我在想,能否有一个 SDK ,可以帮助我简化一下视频会议的开发(视频会议算是一个非常普适/标准)。

开源项目: Meeting Kit

Features

  • 开箱即用的视频会议功能
    • 静音 / 设置音频设备
    • 视频分享 / 设置视频设备
    • 屏幕分享 / 自定义屏幕分享设备类型(包含默认值,可自定义)
    • 虚拟背景功能 / 支持自定义虚拟背景 Template
    • 信号状态链接功能
    • 自定义功能区
    • 不同布局模式(可参考腾讯会议、Zoom 等视频软件)
    • 录屏功能
  • 配置 APPID & Token 即可初始化一个标准的视频会议应用。
  • 自定义各组件样式
  • 支持导出部分功能作为一个单独的组件在外部使用(比如需要传入 Client 和 Track)

项目的长期发展

  • 支持底层替换
    • 可以支持 Agora、AWS、腾讯云、自建 WebRTC 中转节点(Premium Plugin?)
  • 支持多种常用开发方案
    • 或许可以作为一个独立的 Organization,下辖 React、Vue、Flutter、iOS、Android 插件。
  • 支持更多功能的插件
    • 比如美颜,可能需要 WebAssembly
    • 比如 Memoji
  • 产出课程 (Premium)

现有项目对比

  • Agora-RTC-React/Agora-RTM-React:这两个项目虽然简化了 Agora SDK 在 React 生态下的使用,但对于开发者来说这些也仅仅是简化了开发,对于开箱即用的应用而言,还是有限。

灵感:Meeting Kit》有3个想法

  1. Kyle

    Meeting Kit 最终的形式是一套 组件库,而不是一个完整应用吧。类似于 weui库、elementUI 等组件库吧?

    核心:每个组件包括业务逻辑 + UI。

    比如 静音 组件,它有两种状态,静音与非静音,基于这两种状态会有逻辑和前端的交互UI,逻辑最终是要和选择的音视频厂商的SDK打交道。

    回复
    1. 白宦成 文章作者

      是的。是一个可以快速嵌入到业务系统的方案。比如我现在有个棋牌应用,我希望开一个语音房。那我接入一个组件,并关闭视频功能,就可以实现语音房的能力。

      回复

发表评论

您的电子邮箱地址不会被公开。