页面录制场景下,网络异常等偶然因素可能会造成以下问题:
为了避免上述问题导致的录制内容与预期不一致,声网建议你按照以下方案保障页面录制的可靠性。
你可以参考如下方案来保障页面录制的可靠性。
建议你通过如下步骤确认录制服务已成功启动:
start
请求成功,即成功获得 sid (录制 ID)。如果 start
请求失败,需要根据状态码采取相应措施:40x
,则表示请求参数错误,需要进行排查。50x
,可使用相同的参数重试多次,直到成功返回 sid
为止。建议使用退避策略,如第一次等待 3 秒后重试、第二次等待 6 秒后重试、第三次等待 9 秒后重试,以免超过 QPS 限制导致失败。如果三次重试均失败,建议更换 UID 再次调用 acquire
, 获得一个新的 resource ID,并用该 resource ID 再次调用 start
方法。65
,需要使用相同的参数再次调用 start
。建议使用退避策略重试两次,如第一次等待 3 秒后重试、第二次等待 6 秒后重试。sid
之后的 5 秒后,使用退避策略调用 query 方法,例如依次间隔 5 秒、10 秒、15 秒调用。如果 query
请求成功,且 serverResponse
中的 status
参数值为 4
或 5
,则表示录制服务已成功启动。如果在获得 sid
之后的 90 秒后 status
仍非 4
或 5
, 则可以认为录制未启动或成功后超时退出。开始页面录制前,你需要自行完成待录制页面的检测逻辑,以实现以下方案:
start
开始页面录制时,页面录制浏览器访问并加载待录制页面。sid
(录制周期的唯一标识)通知业务服务端录制服务启动成功。在实现待录制页面检测逻辑的前提下,当待录制页面录制加载失败,业务服务端未收到回调时,声网推荐你重新发起录制请求。
开通消息通知服务并订阅 71 web_recorder_stopped
回调事件,当业务服务器收到 web_recorder_stopped
回调,且 code 不为 0
,表示页面录制异常停止,声网推荐你重新发起新的录制。