调试LiveKit报错RoomClosed问题

LiveKit框架简述:

一个非常强大的开源框架------LiveKit Agents,特别适合那些想要构建实时、多模态 AI Agent 的开发者。这个工具能让你的 AI Agent 通过语音、视频和数据通道与用户互动,不仅支持语音助手、实时翻译,还能处理各种复杂的多模态任务。是OpenAI的服务提供商之一。

主要特性:

• 实时音视频传输:使用 LiveKit API,能够稳定地将语音和视频从用户设备传输到服务器,体验非常流畅。

• 任务处理超简单:它内置了语音转文本、文本转语音等常见任务的抽象,非常方便,让你不用再纠结于底层逻辑。

• 扩展性强:这个框架支持集成 OpenAI、Google 等多家服务商的插件,灵活度很高,你可以根据需求自定义插件。

• 端到端支持:无论是本地开发还是生产部署,LiveKit Agents 都能无缝对接,简直就是一键搞定。

• 极佳的扩展能力:它的 Agent 编排和负载均衡功能让扩展变得超容易,特别适合需要高并发支持的场景。

• 全球优化:如果你使用 LiveKit Cloud,语音和视频传输还能通过全球边缘网络,确保低延迟、不卡顿。

问题:本人使用LiveKit的python sdks在香橙派上构建一个客户端,用来和web端进行语音通话,运行起来后,web端的Participant执行disconnect操作退出房间后(此时房间内只剩香橙派客户端),香橙派客户端会在20s后收到如下日志信息:

026-03-19 22:46:03,755 - livekit - DEBUG - ffi_event_callback - 174 - tungstenite::protocol:666:tungstenite::protocol - Received close frame: Some(CloseFrame { code: Normal, reason: "" })
2026-03-19 22:46:03,776 - livekit - INFO - ffi_event_callback - 174 - livekit::room:1506:livekit::room - disconnected from room with reason: RoomClosed

经过检查代码,确定没有在客户端执行过disconnect操作,基本确定是服务器关闭的房间。

经过测试,如果web端一直在房间里,客户端执行disconnect退出房间后,过20s后再进入房间,还是能正常和web端进行通话,说明客户端退出房间后,只留web端在房间里,服务器并没有关闭房间。

参考livekit的官方说明文档:

Participant management | LiveKit Documentation

参与者类型分5种,而我的代码是参考的sdks里的示例代码,参与者类型为agent

当你的设备端(可能被标记为 AGENT 或类似角色)断开后,服务器会将其视为一个需要清理的"录制代理"或"服务端进程",从而关闭房间。而网页端作为一个标准的"最终用户"参与者,只要它还在房间里,房间就会保持开启。这种差异是 LiveKit 设计的一部分,用于优化资源管理。

解决:将agent =True改为False即可

相关推荐
音视频牛哥18 小时前
大牛直播SDK(SmartMediaKit)Windows平台RTSP/RTMP直播播放SDK集成说明(C++版)
windows·音视频·实时音视频·windows rtsp播放器·windows rtmp播放器·超低延迟rtsp播放器·超低延迟rtmp播放器
REDcker21 小时前
RGB与YUV像素格式详解
音视频·实时音视频·视频编解码·yuv·rgb
天上路人2 天前
A-59F所有应用模式说明
人工智能·硬件架构·音视频·语音识别·实时音视频
Highcharts.js2 天前
数学函数双曲线音频图表(y=1/x 双曲线)|图表代码示例
前端·react.js·实时音视频·highcharts·音频图表·双曲线图表
音视频牛哥2 天前
SmartMediaKit 面向企业级场景的低延迟实时音视频解决方案
华为·实时音视频·harmonyos·rtsp服务器·超低延迟rtsp播放器·超低延迟rtmp播放器·实时音视频sdk
DogDaoDao3 天前
视频直播技术全栈深入解析:从入门到精通
人工智能·音视频·实时音视频·视频编解码·视频直播
Soari3 天前
挑战 100ms 延迟极限:深度拆解 dograh,构建企业级开源 WebRTC 实时语音智能体平台
开源·大模型·webrtc·实时音视频·voiceagent·语音智能体·dograh
DogDaoDao4 天前
Android MediaCodec 全面详解:从入门到精通
android·音视频·实时音视频·视频编解码·短视频·视频直播·mediacodec
喵了几个咪4 天前
Kratos WebRTC 传输中间件:H5游戏P2P实时音视频与数据通信实战
游戏·微服务·中间件·golang·webrtc·实时音视频·kratos
DogDaoDao7 天前
AV1 环路滤波器深度解析:av1_loopfilter.c 源码原理详解
音视频·实时音视频·视频编解码·av1·vp9·libaom·环路滤波