导入在线媒体流

本文介绍了如何将在线媒体流导入到您指定的频道。

简介

提供将在线媒体流作内容源导入到指定频道。
使用此功能可以把体育赛事、演唱会、发布会、电影,或外部推流设备如无人机,Gopro等捕捉并推至线上的流导入到频道内,以丰富频道的内容或进行直播和解说等内容的制作。

工作原理

业务方调用RESTful API 导流接口创建导流任务后,服务器会去拉取指定媒体流,并将媒体流以指定主播的名义开播到指定频道。
当不再需要导流时,业务方需调用RESTful API 导流接口停止导流任务。

使用限制

同一频道内同一时间只允许导入一个在线媒体流。
支持的媒体流格式包括:RTMP、HTTP FLV。
导流有最大时长限制,见 RESTful API 导流接口

RESTful API 导流接口

事项说明
请求host国内:api.jocloud.com
海外:api-oversea.jocloud.com
请求方法POST
请求url/app/{appid}/v2/external/injectstream?traceId=xxx
HeadContent-Type: application/json;charset=UTF-8
请求内容json字符串(格式见下表)

json 字段说明:

字段说明类型
appid项目ID32位无符号整型
roomid房间号,媒体流导入该频道字符串类型
uid主播ID,媒体流以该主播的名义导入字符串类型
duration导流持续时长,单位秒,超时停止导入32位无符号整型,默认值86400
actionpublish:开始导入;unpublish:停止导入字符串类型
token业务鉴权token,同SDK token,参考 Token鉴权字符串类型
urlpath在线媒体流地址字符串类型

创建导流任务

  • action参数为publish
  • 参数示例:
{
    "appid":123456,
    "uid":"userABC",
    "roomid":"roomX",
    "duration":86400,
    "token":"BizGeneratedToken",
    "urlpath":"rtmp://abc.com/live/xyz",
    "action":"publish"
}

停止导流任务

  • action参数为unpublish
  • 参数示例:
{
    "appid":123456,
    "uid":"userABC",
    "roomid":"roomX",
    "token":"BizGeneratedToken",
    "urlpath":"rtmp://abc.com/live/xyz",
    "action":"unpublish"
}

流http响应说明

http状态码说明
200执行成功,响应头为application/json,响应内容为json字符串(格式见下表)
401用户鉴权失败,响应头为application/json,响应内容为json字符串(格式见下表)
403访问地址非法

响应码为200或401时,内容json 字段说明:

字段说明类型
rescode响应编码,见 导流响应编码表32位无符号整型
message描述字符串类型

导流响应编码表

编码说明备注
0成功成功
2101参数错误失败
2103内部超时失败,可重试
2104内部服务错误失败,可重试
2105接口调用过于频繁失败,降低调用频率再试
10000鉴权服务器内部错误失败,可以重试
10001token 参数未携带app token 参数未携带
10002app token 校验失败app token 校验失败
10003appid 非法携带的appid参数非法
10004uid 非法携带的uid参数非法
10005app token 过期app token 过期
10006app 未注册app 未注册,请检查业务是否在申请成功
10007app token 即将过期app token 即将过期,请及时更新
10008用户被封禁请确认是否违规用户
10009鉴权参数非法鉴权参数非法

文档是否有解决您的问题?

有帮助 没帮助
提交成功,非常感谢您的反馈!

反馈

TOP