本文介绍了如何将在线媒体流导入到您指定的频道。
提供将在线媒体流作内容源导入到指定频道。
使用此功能可以把体育赛事、演唱会、发布会、电影,或外部推流设备如无人机,Gopro等捕捉并推至线上的流导入到频道内,以丰富频道的内容或进行直播和解说等内容的制作。
业务方调用RESTful API 导流接口创建导流任务后,服务器会去拉取指定媒体流,并将媒体流以指定主播的名义开播到指定频道。
当不再需要导流时,业务方需调用RESTful API 导流接口停止导流任务。
同一频道内同一时间只允许导入一个在线媒体流。
支持的媒体流格式包括:RTMP、HTTP FLV。
导流有最大时长限制,见 RESTful API 导流接口。
事项 | 说明 |
---|---|
请求host | 国内:api.jocloud.com 海外:api-oversea.jocloud.com |
请求方法 | POST |
请求url | /app/{appid}/v2/external/injectstream?traceId=xxx |
Head | Content-Type: application/json;charset=UTF-8 |
请求内容 | json字符串(格式见下表) |
json 字段说明:
字段 | 说明 | 类型 |
---|---|---|
appid | 项目ID | 32位无符号整型 |
roomid | 房间号,媒体流导入该频道 | 字符串类型 |
uid | 主播ID,媒体流以该主播的名义导入 | 字符串类型 |
duration | 导流持续时长,单位秒,超时停止导入 | 32位无符号整型,默认值86400 |
action | publish:开始导入;unpublish:停止导入 | 字符串类型 |
token | 业务鉴权token,同SDK token,参考 Token鉴权 | 字符串类型 |
urlpath | 在线媒体流地址 | 字符串类型 |
{
"appid":123456,
"uid":"userABC",
"roomid":"roomX",
"duration":86400,
"token":"BizGeneratedToken",
"urlpath":"rtmp://abc.com/live/xyz",
"action":"publish"
}
{
"appid":123456,
"uid":"userABC",
"roomid":"roomX",
"token":"BizGeneratedToken",
"urlpath":"rtmp://abc.com/live/xyz",
"action":"unpublish"
}
http状态码 | 说明 |
---|---|
200 | 执行成功,响应头为application/json,响应内容为json字符串(格式见下表) |
401 | 用户鉴权失败,响应头为application/json,响应内容为json字符串(格式见下表) |
403 | 访问地址非法 |
字段 | 说明 | 类型 |
---|---|---|
rescode | 响应编码,见 导流响应编码表 | 32位无符号整型 |
message | 描述 | 字符串类型 |
编码 | 说明 | 备注 |
---|---|---|
0 | 成功 | 成功 |
2101 | 参数错误 | 失败 |
2103 | 内部超时 | 失败,可重试 |
2104 | 内部服务错误 | 失败,可重试 |
2105 | 接口调用过于频繁 | 失败,降低调用频率再试 |
10000 | 鉴权服务器内部错误 | 失败,可以重试 |
10001 | token 参数未携带 | app token 参数未携带 |
10002 | app token 校验失败 | app token 校验失败 |
10003 | appid 非法 | 携带的appid参数非法 |
10004 | uid 非法 | 携带的uid参数非法 |
10005 | app token 过期 | app token 过期 |
10006 | app 未注册 | app 未注册,请检查业务是否在申请成功 |
10007 | app token 即将过期 | app token 即将过期,请及时更新 |
10008 | 用户被封禁 | 请确认是否违规用户 |
10009 | 鉴权参数非法 | 鉴权参数非法 |