Flutter集成Agora云录制异常:仅客户端音视频可录制,远端无内容
排查Agora云录制仅捕获本地音视频的问题
根据你的代码和描述,核心问题出在合流录制的订阅配置上,以下是具体排查和修复方案:
1. 订阅用户组配置错误(关键原因)
你的recordingConfig中设置了"subscribeUidGroup": 0,在Agora合流(mix)模式下,这个参数的含义是仅订阅请求中指定的uid(即你的local_uid)的流,因此远端用户的音视频流不会被录制。
修复方案:
将subscribeUidGroup修改为1,表示订阅频道内所有用户的流:
"recordingConfig": { "channelType": 0, "streamTypes": 2, "audioProfile": 1, "videoStreamType": 0, "subscribeUidGroup": 1, // 修改此处为1 "streamType": ["hls", "mp4"] }
如果需要指定录制特定用户的流,可以设置subscribeUidGroup: 2,同时添加subscribeUids字段列出目标uid:
"recordingConfig": { // 其他参数保持不变 "subscribeUidGroup": 2, "subscribeUids": ["本地uid", "远端uid1", "远端uid2"], // 注意uid类型要与频道内一致 "streamType": ["hls", "mp4"] }
2. 确认uid参数的一致性
你在请求体中将uid设为字符串"$local_uid",需要确保客户端加入频道时使用的uid类型与该值一致(比如客户端用int类型,这里建议直接传数字类型,避免因类型不匹配导致订阅失败):
"uid": local_uid, // 去掉引号,直接传递数字类型
3. 补充检查项
- 确认远端用户已成功加入频道,且音视频流正常发送(可通过Agora控制台的频道监控功能查看流状态)。
- 核对
streamTypes参数:你设置的2表示同时录制音视频,若远端用户仅发送音频或视频,需对应调整该值(1=仅音频,0=仅视频)。 - 查看云录制回调日志:通过Agora控制台的云录制记录,检查是否有远端流订阅失败的提示,进一步定位问题。
内容的提问来源于stack exchange,提问作者Sunil Chaudhary
相关产品推荐
相关产品推荐

