SuperAPI AI 工具集

zoom-rtms

智能体与模型

查看项目

更新于 10-15 16:51

技能介绍

用途:RTMS(Zoom Realtime Media Streams)是后端媒体摄取服务,用于实时获取 Zoom 会议、网络研讨会、Video SDK 会话以及 Contact Center Voice 的音频、视频、屏幕共享、转录和聊天数据,不依赖参会机器人。它本身不是前端 UI SDK,处理由事件触发:后端先等待 RTMS 开始 webhook 事件,再开始流处理。常见架构是后端处理 RTMS 输出,再经 WebSocket、SSE 等传给 Zoom App SDK 前端做展示与交互。

主要能力:音频支持 PCM(L16)、G.711、G.722、Opus;视频与屏幕共享支持 H.264、JPG、PNG;转录与聊天为 JSON 文本。媒体类型用位掩码组合:音频 1、视频 2、屏幕共享 4、转录 8、聊天 16、全部 32,如音频加转录为 1|8=9。支持产品包括 Meetings(meeting.rtms_started/stopped,用 meeting_uuid)、Webinars(webinar.rtms_started/stopped,仍用 meeting_uuid)、Video SDK(session.rtms_started/stopped,用 session_id)和 Contact Center Voice(产品专属事件与标识)。

使用方式:推荐先用 build-zoom-bot,再参考本技能。两种实现路径:SDK(@zoom/rtms,适合多数场景,自动处理 WebSocket)和手动 WebSocket(适合自定义协议或非 SDK 语言)。SDK 需 Node.js 20.3.0+(推荐 24 LTS)或 Python 3.10+,并需启用 RTMS 的 Zoom General App 或 Video SDK App、webhook 端点与接收流的服务器。SDK 环境变量示例:ZM_RTMS_CLIENT、ZM_RTMS_SECRET、ZM_RTMS_PORT(默认 8080)、ZM_RTMS_PATH(默认 /)、ZM_RTMS_LOG_LEVEL、ZM_RTMS_LOG_FORMAT、ZM_RTMS_LOG_ENABLED。手动实现需 ZOOM_CLIENT_ID、ZOOM_CLIENT_SECRET、ZOOM_SECRET_TOKEN。签名方式为 HMAC-SHA256,消息格式为 clientId,idValue,streamId。需在 Zoom Marketplace 配置事件订阅与 RTMS 相关作用域。

限制与注意:同一会话只允许一个连接,新连接会踢掉旧连接;webhook 必须立即返回 200,否则会重试产生重复连接;必须响应心跳(msg_type 12 回 msg_type 13),否则连接断开;断线重连需自行实现,媒体保活约 65 秒、信令约 60 秒。转录语言可通过 src_language 与 enable_lid: false 固定语言;VIDEO_SINGLE_INDIVIDUAL_STREAM 一次只支持单个参会者视频,新订阅请求会覆盖旧选择;可用 STREAM_CLOSE_REQ/STREAM_CLOSE_RESP 优雅关闭。网络研讨会目前确认仅小组面板成员流可用,参会者流可能不是独立流。

官方文档:https://developers.zoom.us/docs/rtms/;JS SDK:https://zoom.github.io/rtms/js/;Python SDK:https://zoom.github.io/rtms/py/;示例仓库:https://github.com/zoom/rtms-samples。需 RTMS 访问权限时可在 Zoom Developer Forum 提交用例申请。