云端录制查询跟stop时出现404错误问题

用postman工具测试视频通话的录制功能,acquire可以获取到resource Id,start也可以获取到sid。但是在发送quire跟stop请求时会提示404错误。请问是什么原因,能帮我分析下吗?感谢!

通过 start 方法成功开启云端录制后,调用 query 方法返回 404 状态码,可能原因如下:

  • 云端录制启动后,录制服务会进行参数检查,如果检查出现问题,则有可能导致录制停止。请检查 transcoding 等参数设置是否正确。你可以参考如何设置录制视频的分辨率设置 transcoding
  • 第三方云存储信息有误,如 accessKeysecretKey 错误,导致录制文件上传失败。
  • clientRequest 中的 token 与待录制的频道使用的动态秘钥不一致,导致云端录制无法加入频道。
  • 云端录制启动后,频道内没有用户发流,当超过 maxIdleTime 即最长空闲频道时间后,云录制会自动退出。
  • 云端录制服务器断网或进程被杀。此时,调用 queryupdateLayout 、或 stop 均会返回 404。云端录制的故障处理中心会在 90 秒内判断故障原因,并采取相应的应对措施。你可以在一段时间后再次调用 query 方法,查询录制服务是否已恢复。详情见云端录制服务器断网、进程被杀的处理

如果按照上述步骤排查后,还是有问题,可以提供 sid,我这边查下后台数据哈。

试了几遍还是不行,还请帮忙分析一下,感谢啦!
这是我刚试的sid:0739a866194ef6364882098be364a834

从后台看到 110 报错:

从后台看到你的项目启用了 App 证书,那么必须使用动态密钥鉴权方式,即 start 时需要传入 Token。详情请参考校验用户权限文档:
https://docs.agora.io/cn/cloud-recording/token_server?platform=CPP

以下是生成 Token 的一些注意事项:
1、start 时所传的 uid、channelName 参数,需要和生成 token 时传的 uid、channelName 参数保持一致(参数类型和值都需要相同)。
2、确保时间戳参数是有效的、没有过期的。
3、如果在生成 Token 时选择了校验 uid,那么需要分别为不同 uid 的用户生成与其对应的 Token。(同一个频道内 uid 具有唯一性,为不同用户设置相同 uid 会导致互踢)

如果你目前还在集成测试阶段,我们建议可以新建一个不启用 App 证书的项目,这样使用 App ID 鉴权方式即可。当产品需要上线时,再于正式生产环境下使用 Token。

问题已解决,非常感谢!

@Zzh
您好,我也遇到了类似的问题,希望您能协助看下问题的原因。
4c70ab006143053df1aca597e04cf736
f0499820094db01038b1a087f76b7350


2个sid对应图中的2个录制进程。

应该是你的第三方云存储配置有问题哈,具体报错信息:
error code is 403, error message is You have no right to access this object because of bucket acl.

这两个SID都是这个问题吗?

是的,都是这个问题。

好的 多谢!

我的场景是这样的
1:房间只有主播一个人,此时开启录播,start成功,stop返回404
2:房间有主播一个,以及一位观众,主播start成功,stop一样返回404
3:房间有主播两个,A主播start成功,stop成功,也成功在oss生成对应视频文件

所以我的问题是,成功录制的前提条件是什么?

我是在官网下载的IOS的SDK中的demo,直接运行的。
输入房间号后,可以选择主播跟观众的

1:房间只有主播一个人,此时开启录播,start成功,stop返回404

2:房间有主播一个,以及一位观众,主播start成功,stop返回435,然后在点一次返回404

3:房间有主播两个,A主播start成功,stop成功,也成功在oss生成对应视频文件

首先需要和你明确一下哈,云录制端的 UID 不能和频道内任何一位客户端用户(无论是主播还是观众)的 UID 重复,需要保证同一个频道内 UID 的唯一性。云录制端 和 主播端,是相当于两个用户的,主播端是不能 start 的。

确保上一点没有问题后,如果还是同样的结果,请提供 sid,我们来查下后台数据。

主播端是不能 start 的
这个具体是啥意思?是不能录制视频?

就是说,需要云录制端(使用和主播端不同的 UID)去 start,录制主播端的视频。

基于您的这个说法,主播在未有任何人观看的情况下。录制视频的时候是无法录制么?
因为我现在的主播连麦视频通话都正常,在不连麦视频通话的情况下。主播怎么操作都不能录制视频即query的时候多次查询后返回404.

还有就算有人参与来,也只是录制对方的。主播的视频画面一直没有

不是这个意思。。。

你提供一下 sid 和主播 uid 吧,我来看下后台数据。

sid “e87b0397ec44968983355185cd8285c8”
主播uid 123

是不是云端录制,得额外创建一个client,设置一个uid来进行录制。
不能直接用主播的uid来录制是吧。