目前的文件上传,采用的是post http form-data的(基于multipart/form-data)的方式。
- 了解VSaaSInfo.txt
vsaasInfo.txt是一个设备端保存服务器相关信息的文件,一般是APP会把相关的信息,通过AVAPI发送给设备端,设备端SDK收到后,会通过回调返回给应用层保存。
以下是一个vsaasinfo的例子:
{ "args": { "url": "https://cn-vsaasapi-tutk.kalay.net.cn/vsaas/api/v1/stream/stream_url/TUTKOITUVOAXGUWJFWJTEDKA9T3WP7348G6GUH71?stoken=S9s41Xlz-tCYrHpCJdh_4pwUy7bKqrmj9g-Ga7feNpSN3PTFDkTMITw274wsnmOu_1uhfvljy-dFjTLE2tUTQdOYizlFq2BzwZ95ekVR_IbgPnpkKwaHC78lPLzAMc0ASkfV16BQjqMF8wu_-rsk9g==", "header": { "Authentication": "Bearer cumweamhl18l7w7kmdr9", "User-Agent": "TUTK Device" } }, "func": "setCloudRecordingEndpoint" }
其中:
url是vsaas后台服务器的地址,这个将用以后面的图片推送
header是http header信息,这个将用以后面的图片推送
func是功能的名称。
- 获取推图地址
用以获取云端推图的地址。
请求
HTTP请求
Get https://host:port/vsaas/api/v1/stream/stream_url/{UDID}?protocol={protocol}&stoken={stoken}&event_id={event_id}&starttime={timestamp}&media_type={media_type}
参数
stoken : String
查看vsaasinfo。
event_id:String
事件ID。
protocol:String
此处使用"upload"。
starttime: String
秒级时间戳。这个时间需要跟推图的图片命名时间(毫秒级,1000倍的关系)相同。
UDID : String
设备UDID,查看vsaasinfo.
media_type:String
此处填2,用以表示media是图片
回复
应答码
200: 成功
400: 参数错误
例子
请求
curl https://cn-vsaasapi-tutk.kalay.net.cn/vsaas/api/v1/stream/stream_url/TUTKOITUVOAXGUWJFWJTEDKA9T3WP7348G6GUH71?stoken=S9s41Xlz-tCYrHpCJdh_4pwUy7bKqrmj9g-Ga7feNpSN3PTFDkTMITw274wsnmOu_1uhfvljy-dFjTLE2tUTQdOYizlFq2BzwZ95ekVR_IbgPnpkKwaHC78lPLzAMc0ASkfV16BQjqMF8wu_-rsk9g==&protocol=upload&event_id=999&starttime=1720082145&media_type=2
回应
{ "code": 1, "message": "", "result": { "contract_type": "event", "disable_thumbnail": false, "event_duration": 7, "event_recording_max_length": 30, "max_storage_size": 100, "media_type": 255, "recording_max_kbps": 1024, "url": "https://cn-vpstream01-tutk.kalay.net.cn:8080/post_stream/v1/TUTKOITUVOAXGUWJFWJTEDKA9T3WP7348G6GUH71?OTP=5E44DCADE2112F836610&event_id=999&starttime=1720082145&stoken=S9s41Xlz-tCYrHpCJdh_4pwUy7bKqrmj9g-Ga7feNpSN3PTFDkTMITw274wsnmOu_1uhfvljy-dFjTLE2tUTQdOYizlFq2BzwZ95ekVR_IbgPnpkKwaHC78lPLzAMc0ASkfV16BQjqMF8wu_-rsk9g%3D%3D", "video_max_fps": 25, "video_max_height": 200, "video_max_width": 200, "vsaas_type": "aws" } }
其中的url,就是推图片的url。
- 推图片到云端
上传图片到云端
请求
HTTP请求
POST url
此处的url,来自于上一步的http应答。
参数
头
Content-Type: multipart/form-data;
参数
OTP : String
已经包含在上一步获取的url中了
stoken : String
已经包含在上一步获取的url中了
event_id:String
已经包含在上一步获取的url中了
starttime: String
已经包含在上一步获取的url中了
UDID : String
已经包含在上一步获取的url中了
可选参数
tags: String
标签
请求 form-data: media_file
Content-Disposition: form-data; name="media_file";filename="1570011960000_D5000.ts"
filename: String
命名规则:
{毫秒级的时间戳}_D0E.jpg,例如:1720082145000_D0E.jpg
Content-Type: image/jpg
文件内容: 二进制数据
回复
Response Codes
200
400
403
例子
Request
curl -XPOST -F 'media_file=@1720082145000_D0E.jpg;type=image/jpg' 'https://cn-vpstream01-tutk.kalay.net.cn:8080/post_stream/v1/TUTKOITUVOAXGUWJFWJTEDKA9T3WP7348G6GUH71?OTP=5E44DCADE2112F836610&event_id=999&starttime=1720082145&stoken=S9s41Xlz-tCYrHpCJdh_4pwUy7bKqrmj9g-Ga7feNpSN3PTFDkTMITw274wsnmOu_1uhfvljy-dFjTLE2tUTQdOYizlFq2BzwZ95ekVR_IbgPnpkKwaHC78lPLzAMc0ASkfV16BQjqMF8wu_-rsk9g%3D%3D'