rtc-pub 允许用户将视频文件转推到房间内,供房间内的其他用户订阅。
接口鉴权
与开启房间相同,需要在路径上带上token=
限制条件
目前转推的文件必须使用 H264 视频编码及 AAC 音频编码(采样率为44100Hz),flv封装。不符合条件的文件在转推时可能出现无法观看、音视频与源文件有较大差异等异常,可转码后再使用转推服务。
建立转推任务
路径
POST /v3/apps/<appID>/rooms/<roomID>/pub
请求参数
参数名称 | 位置 | 含义 | 备注 |
---|---|---|---|
sourceUrls | 请求体 | 转推视频的下载地址列表 | 有多个时,依次转推,即第一个源地址转推完毕后开始转推第二个,依此类推。 |
请求示例
curl -XPOST -H"Content-Type:application/json" -v https://rtc.qiniuapi.com/v3/apps/app000/rooms/room000/pub?token=<roomtoken>\
-d'{"sourceUrls":["https://video.example.com/1.mp4"]}'
返回示例
{"taskID":"1234567890_rtcaabbccddeeff1234567890"}
返回创建的转推任务ID。
列出转推任务
路径
GET /v3/apps/<appID>/rooms/<roomID>/pub
请求示例
curl -v https://rtc.qiniuapi.com/v3/apps/app000/rooms/room000/pub?token=<roomtoken>
返回示例
{"tasks":[
{"taskID":"1234567890_rtctask0","name":"rtctask0","appID":"abcdefghi","uid":1234567890,"roomID":"abcdefghi:room0","sourceUrls":["http://video.example.com/aaa-123.mp4"],"status":"running","createTime":"2021-01-01T10:00:00","startTime":"2021-01-01T10:00:01"},
{"taskID":"1234567890_rtctask1","name":"rtctask1","appID":"abcdefghi","uid":1234567890,"roomID":"abcdefghi:room0","sourceUrls":["http://video.example.com/aaa-456.mp4"],"status":"stopped","createTime":"2021-01-01T10:00:00","startTime":"2021-01-01T10:00:01","stopTime":"2021-01-01T10:01:00"}
]}
查看转推任务详情
路径
GET /v3/apps/<appID>/rooms/<roomID>/pub/<taskID>
请求示例
curl -v https://rtc.qiniuapi.com/v3/apps/app000/rooms/room000/pub/1234567890_rtctask0?token=<roomtoken>
返回示例
{"taskID":"1234567890_rtctask0","name":"rtctask0","appID":"abcdefghi","uid":1234567890,"roomID":"abcdefghi:room0",
"roomServer":"room-server-0","sourceUrls":["http://video.example.com/aaa-123.mp4"],"status":"running","createTime":"2021-01-01T10:00:00","startTime":"2021-01-01T10:00:01"}
删除转推任务
路径
DELETE /v3/apps/<appID>/rooms/<roomID>/pub/<taskID>
请求示例
curl - XDELETE -v https://rtc.qiniuapi.com/v3/apps/app000/rooms/room000/pub/1234567890_rtctask0?token=<roomtoken>
返回示例
正常返回时状态码为200,无其他信息。
开始转推任务
开始已经停止的转推任务。若转推任务处于failed/finished状态,从头开始;处于stopped状态,从停止点开始。
路径
POST /v3/apps/<appID>/rooms/<roomID>/pub/<taskID>/start
无请求体。
请求示例
curl -XPOST -H"Content-Type:application/json" -v https://rtc.qiniuapi.com/v3/apps/app000/rooms/room000/pub/1234567890_rtcaabbccddeeff1234567890/start?token=<roomtoken>
返回示例 正常返回时状态码为200,无其他信息.
停止转推任务
停止转推任务,相当于视频播放中的暂停。
路径
POST /v3/apps/<appID>/rooms/<roomID>/pub/<taskID>/stop
无请求体。
请求示例
curl -XPOST -H"Content-Type:application/json" -v https://rtc.qiniuapi.com/v3/apps/app000/rooms/room000/pub/1234567890_rtcaabbccddeeff1234567890/stop?token=<roomtoken>
返回示例
正常返回时状态码为200,无其他信息。
设置seek时间
设置视频文件开始播放的时间。
路径
POST /v3/apps/<appID>/rooms/<roomName>/pub/<taskID>/seek
请求参数
参数名称 | 位置 | 含义 | 备注 |
---|---|---|---|
index | 请求体 | sourceUrl的索引号,即第几个源地址。从0开始编号。 | |
seek | 请求体 | 转推的seek位置,相对视频文件的开始时间。单位为秒。 |
请求示例
curl -XPOST -H"Content-Type:application/json" -v https://rtc.qiniuapi.com/v3/apps/app000/rooms/room000/pub/1234567890_rtcaabbccddeeff1234567890/seek?token=<roomtoken>\
-d'{"index":0,"seek":120}'
该请求将第一个视频seek位置设置到120秒的位置。
返回示例 正常返回时状态码为200,无其他信息。
文档反馈
(如有产品使用问题,请 提交工单)