实时音视频

  • 实时音视频 > 使用指南 > 服务端 >RTC-Pub

    RTC-Pub

    最近更新时间:2021-09-16 15:34:12

    rtc-pub 允许用户将视频文件转推到房间内,供房间内的其他用户订阅。

    接口鉴权

    与开启房间相同,需要在路径上带上token=。room token 必须是合法的房间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,无其他信息。

    以上内容是否对您有帮助?
  • Qvm free helper
    Close