本项目为一套自建实时音视频通话与云端录制系统,旨在解决远程问诊场景中「Web端医生与小程序端患者进行视频面诊,并全程留存音视频档案」的业务需求。系统不依赖腾讯TRTC、声网等第三方PaaS服务,完全基于开源媒体服务器ZLMediaKit自建,实现音视频数据自持、无按量付费、合规可控。本地部署在自己服务器上,通话结束后可以自动录制视频,可以回放。
核心功能模块:
实时音视频通话:支持Web端(Vue3浏览器)与微信小程序端通过同一通话ID进入房间,进行低延迟的双向视频对话,满足远程问诊场景的实时交互需求。
画中画混流与云端录制:通话过程中,后端自动启动FFmpeg进程将两路视频流合成为「画中画」布局(主画面显示对方、小窗显示自己),并推送回媒体服务器,由ZLMediaKit实时录制为MP4文件存储于本地磁盘。
自动回调与业务关联:录制完成后,系统通过HTTP回调将视频文件路径、通话ID、订单号等信息推送至业务系统,实现视频档案与业务订单的自动关联归档。
系统采用「媒体服务器 + 业务后端 + 多端客户端」三层架构。核心设计思路是「协议桥接」:Web端使用浏览器原生WebRTC(WHIP/WHEP标准协议)推拉流,微信小程序端使用原生RTMP协议推拉流,二者通过ZLMediaKit完成WebRTC↔RTMP的双向协议转换与音频转码(Opus↔AAC),从而实现跨端互联互通。录制环节由后端Spring Boot服务通过HTTP API控制ZLMediaKit启停录制,并管理FFmpeg混流进程的生命周期。