声网Agora云录制stop API调用始终返回404错误如何解决
声网云录制Stop接口返回404(Failed to find worker)问题排查方案
错误返回示例
{ "resourceId": "", "sid": "", "code": 404, "serverResponse": { "command": "StopCloudRecorder", "payload": { "message": "Failed to find worker." }, "subscribeModeBitmask": 1, "vid": "" } }
根因说明
该错误的核心原因是声网服务端无法匹配到你请求的录制任务进程,常见触发场景如下:
- 录制任务已终止:此前已成功调用过stop接口结束任务,或录制过程中无可用音视频流超过最大等待时长、录制时长超过配置的最大录制时长,任务被服务端自动回收
- 请求参数不匹配:
agoraAppId、resourceId、sid三个核心参数任意一个填写错误,或mode参数和调用acquire、start接口时使用的模式不一致 - 录制任务未成功启动:调用start接口时已经返回错误,但业务逻辑误判启动成功,拿着无效的资源标识调用stop接口
- 区域不匹配:调用acquire接口时指定了录制区域,stop接口的请求接入点和指定区域不对应,服务端无法跨区域找到录制进程
排查步骤
- 核对请求参数:逐一对比stop接口传入的
agoraAppId、resourceId、sid、mode和acquire、start接口返回/使用的参数是否完全一致,不存在拼写错误、大小写不符或遗漏 - 查询任务状态:调用声云云录制的query接口查询对应任务的状态,如果query接口同样返回404,说明该录制任务确实已经终止或从未成功启动
- 核对任务生命周期:查看业务日志确认stop调用前是否已经触发过stop请求,录制启动到调用stop的时长是否超过start接口配置的
maxRecordingHour,录制过程中是否出现过所有主播断流超过30秒的情况 - 核对区域配置:确认acquire、start、stop三个接口的请求区域一致,未出现跨区域调用的情况
解决措施
- 若为参数错误:修正stop接口的请求参数,保证和启动录制阶段的参数完全匹配即可
- 若为任务已终止:无需重复调用stop接口,直接到配置的第三方存储(OSS/COS等)中检查录制文件是否生成即可;若为异常终止,可根据start或query接口返回的错误信息定位终止原因后重新发起录制
- 若为任务启动失败:优先修复start接口的报错,确认start返回成功后再存储
resourceId和sid用于后续stop调用 - 若为区域不匹配:保证三个接口的请求区域一致,或直接使用声网全球接入域名,无需指定固定区域节点
内容的提问来源于stack exchange,提问作者MUHAMMAD SHAHID RAFI C P
相关产品推荐
相关产品推荐

