上传流程描述

1. 上传准备

(1)用户登录 login 先完成用户登录,从而视频将上传到该账号下。

具体API详见"请求用户授权"

(2)刷新用户授权码 token_refresh

当旧的access_token过期后,此接口用来刷新access_token,用来避免每日登录。具体API请见"刷新AccessToken"

2. 正常上传

流程说明

1. create:连接开放平台上传接口服务器,服务器端会返回upload_token以及upload_server_uri。

1.1 创建上传任务,获取上传token,调用创建上传任务接口,返回upload_token以及upload_server_uri。

1.2 保存视频信息及上传阶段产生的数据,调用保存上传信息

2. create_file:连接上传服务器(通过upload_server_uri解析出上传服务器IP地址,以下所述上传服务器,均指此IP地址对应的服务器)。主要目的是创建上传文件,提交上传文件信息。

3. new_slice:连接上传服务器,以upload_token作为参数,请求创建slice_task_id,获取第一个上传分片的开始位置offset,分片长度等。

4. upload_slice:连接上传服务器,上传分片。

5. check: 连接上传服务器,以upload_token作为参数,检查上传任务是否完成。返回结果如下:

* status=1:文件上传完成,并且全部确认写入磁盘;
* status=2:文件上传中,全部分片上传任务已经分派,见返回字段transferred_percent;
* status=3:文件上传中,所有分片上传任务都已完成,但是依然有的分片还未确认写入磁盘,见返回字段confirmed_percent;
* status=4:文件上传中,还有分片上传任务未分配。

6. commit: 连接上传服务器,确认上传过程结束,提交上传任务。(V3版本接口分为2个步骤)

6.1 提交上传任务,请求提交上传任务

6.2 保存上传信息,请求保存上传信息

3. 视频续传

流程说明

1. check:连接上传服务器(客户端需要记录之前通过upload_server_uri解析出的服务器IP地址),检查上传任务是否完成。返回结果如下:

* status=1:文件上传完成,并且全部确认写入磁盘;
* status=2:文件上传中,全部分片上传任务已经分派,见返回字段transferred_percent;
* status=3:文件上传中,所有分片上传任务都已完成,但是依然有的分片还未确认写入磁盘,见返回字段confirmed_percent;
* status=4:文件上传中,还有分片上传任务未分配。

2. upload(分为两种情况):

(1)如果check返回4,则通过调用new_slice、upload_slice上传分片;

(2)如果check返回2或者3则需等待一段时间(比如:60秒)后再次发出check请求。

3. commit:连接上传接口服务器,确认上传过程结束,(1)提交上传任务 (2)保存上传信息。