设置引导开关以及引导图片

接口URL

http://api.polyv.net/live/v2/channelSetting/{channelId}/setSplash

接口说明

1、设置引导页开关以及引导图,开启开关且之前未设置过引导图,则上传图片不能为空。
2、引导图要求:只能为jpg、jpeg、png三种格式,大小不能超过4Mb。
3、接口URL中的{channelId}为 频道ID
4、接口支持https协议

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
splashEnabled Y或N 设置开启或关闭引导页
imgfile MultipartFile 支持jpg、jpeg、png三种格式,大小不能超过4Mb
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值

响应成功JSON示例:

设置引导页,未上传图片

{
    "code":200,
    "status":"success",
    "message":"",
    "data":"success"
}

设置引导页,同时上传图片

{
    "code":200,
    "status":"success",
    "message":"",
"data":"//livestatic.videocc.net/uploaded/images/2017/08/esxuxr0967.png"
}

响应失败JSON示例:

未输入appId

{
    "code": 400,
    "status": "error",
    "message": "appId not found.",
    "data": ""
}

appId不正确

{
    "code": 400,
    "status": "error",
    "message": "application not found.",
    "data": ""
}

时间戳错误

{
    "code": 400,
    "status": "error",
    "message": "invalid timestamp.",
    "data": ""
}

频道号错误

{
    "code": 400,
    "status": "error",
    "message": "channel not found.",
    "data": ""
}

签名错误

{
    "code": 403,
    "status": "error",
    "message": "invalid signature.",
    "data": ""
}

splashEnabled开关输入错误(只能输入Y 或 N)

{
    "code": 400,
    "status": "error",
    "message": "splashEnabled is wrong.",
    "data": ""
}

图片大于4Mb

{
    "code": 400,
    "status": "error",
    "message": "image oversize error.",
    "data": ""
}

图片格式错误

{
    "code": 400,
    "status": "error",
    "message": "image format error.",
    "data": ""
}

开启开关且之前未设置过图片

{
    "code": 400,
    "status": "error",
    "message": "imgfile can not be null.",
    "data": ""
}

其他错误

{
    "code": 400,
    "status": "error",
    "message": "设置失败",
    "data": ""
}

字段说明

参数名 说明
code 请求结果代码,成功为200 错误为400
status 请求结果,成功时为"success"错误时为"error"
message 错误信息,请求成功时为空,错误时错误信息
data 成功请求时为"success",如果上传图片则为图片url

php请求示例

<?php

//引用config.php
include 'config.php';


//接口需要的参数(非sign)赋值
$userId = "XXXXXXXX";
$channelId = "127075";
$imgfile = 'C:\Users\polyv\Desktop\timg.jpg';

$params = array(
    'appId'=>$appId,
    'timestamp'=>$timestamp,
    'splashEnabled' => $splashEnabled
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

$data = array(
    'appId' => $appId,
    'timestamp' => $timestamp,
    'splashEnabled' => $splashEnabled,
    'sign' => $sign,
    'imgfile' => new CURLFile(realpath($imgfile))
);

$url = "http://api.live.polyv.net/v2/channelSetting/$channelId/setSplash";
$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$reponse = curl_exec ( $ch );
curl_close ( $ch );
print_r($reponse);

?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

云课堂直播PPT外嵌功能

一、使用云课堂进行推流

云课堂

下载地址:http://soft.polyv.net/soft/PolyvClassSetup.exe

二、页面嵌入播放器

<script src="https://player.polyv.net/livescript/liveplayer.js"></script>
<div id='player'></div>

<script type="text/javascript">
var userinfo = {
    "userId":"1498632408308",
    "userName":"广州观众/89716",
    "pic":"//livestatic.videocc.net/assets/wimages/missing_face.png",
    "roomName":"117164",
    "userType":"slice"
};
var player = polyvObject('#player').livePlayer({
    'width':'498',
    'height':'409',
    'uid':'dee7bbf1a0',
    'vid':'117164',
    'userInfo':userinfo
});
</script>

参数说明:

参数名 参数值 参数说明 是否必选
width 100% 播放器宽度
height 400 播放器高度
uid e3wx706i3v 客户id
vid 124681 频道号
userInfo Object 用户信息

userInfo为客户自定义,均为必填,字段说明如下:

参数名 参数值 参数说明
userID 1498632408308 用户ID
userName 广州观众/89716 用户昵称
pic http://... 图片url
roomName 124681 房间名/频道号
userType slice 用户类型

三、回看开启:参数、接口

1、直播/回看功能:

在直播播放器里面添加参数:isAutoChange:true ,并且在直播后台中把回放开关打开
回放

说明:设置改参数之后并且直播后台开启回放,播放器判断当前无直播并且有回放视频,则播放回放视频。当前正在直播则播放直播视频。播放器会自动获取对应回放的PPT数据。

2、回看功能:

back

在直播播放器里面添加两个参数:vodsrc、pptSessionId

参数说明:

vodsrc:回放视频地址
pptSessionId:ppt回看场次ID
播放器根据设置回放视频地址和ppt场次ID,播放回看视频并请求对应PPT数据。

3、切换回看接口:j2s_changeVideo(url,sessionId)

参数说明:

url:回看视频地址(可选回放管理中直播暂存的m3u8地址)
sessionId:回看场次Id

使用方法:

function  s2j_onOver(){
player.j2s_changeVideo("http://rflive.videocc.net/e3wx706i3v20170613163138075/recordf.e3wx706i3v20170613163138075_20170627145856.m3u8","er6ut2wtoy");
}

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

直播聊天室API接口

一、聊天室接口文档 

聊天室socket消息收发

1、地址(支持https)

聊天室服务器域名:

http://chat.polyv.net

聊天室接口域名:

http://apichat.polyv.net

2、连接聊天室服务器

var supportsWebSockets = 'WebSocket' in window || 'MozWebSocket' in window;
var chatHost = 'http://chat.polyv.net';
var chatToken;
var socket = io.connect(chatHost, {
    query: 'token=' + chatToken,
    transports : [supportsWebSockets ? 'websocket' : 'polling']
});

说明:

a) chatHost为聊天室服务器域名,支持https

b) chatToken为令牌,目前可以设置为空

c) 优先使用websocket的方式连接聊天室

3、监听消息

socket.on(msg,callbak)
msg主要有:connect,disconnect,messgae
socket.on('connect', function() {
    //TODO
})
socket.on('disconnect', function() {
    //TODO
})
socket.on('message' , function(data) {
    var mData = JSON.parse(data);
    if (mData && mData.EVENT) {
        switch (mData.EVENT) {
            //TODO
        }
    }
})

注:'message'消息回调函数参数data为JSON字符串,需要先转换为JSON对象,每个data都会包含一个'EVENT'属性

4、'EVENT'属性

注:下面所列消息,如果只说明监听回调返回的数据,而没有说明发送的消息,页面均不可主动发送给服务器

LOGIN:

登录消息,登录房间的时候服务器会广播这一消息

发送:

socket.emit('message', JSON.stringify({
    EVENT: 'LOGIN',
    values: [userNick, userPic, userId], //登录用户信息,不可为空
    roomId: roomId, //当前房间号
    type: userType,//用户类型,可为空,teacher(教师)、assistant(助教)、manager(管理员)、slice(云课堂学员)
}));

监听回调返回的数据(此次省略处理数据的步骤,后面同):

{
    "EVENT":"LOGIN",
    "onlineUserNumber":3,
    "user": {
        "clientIp":"59.42.43.28",
        "nick":"广州观众/32199",
        "pic":"//livestatic.videocc.net/v_60/assets/wimages/missing_face.png",
        "roomId":"100781",
        "uid":"CxJj8Ap3C9jN1UHKAJ_V",    
        "userId":"1499917692338" 
        "userType": "" 
    }
}

说明

名称 类型 说明
onlineUserNumber number 当前房间在线总人数
clientIp 用户IP
nick 用户昵称
pic 用户头像
roomId 房间号
uid socket分配的id
userId 用户唯一标识
userType teacher、assistant、manager、slice 用户类型,目前有teacher(老师)、assistant(助教)、manager(管理员)、slice(云课堂学员)

LOGOUT

说明:登出消息,有人离开房间(包括刷新页面)时服务器会广播这一消息

监听回调返回数据:

EVENT: "LOGOUT",
onlineUserNumber: 3,
uid: "I_o3f4sHDzAHM4LVAJTX"
名称 类型 说明
onlineUserNumber number 当前房间在线总人数
uid string 离开人的socket.id

SPEAK:

说明:发言,接收别人的发言消息(不包括自己)

发送:

socket.emit('message', JSON.stringify({
    EVENT: 'SPEAK',
    values: [value],                //发言内容
    roomId: roomId                //当前房间号
}));

监听回调返回的数据:

{
    "EVENT": "SPEAK",
    "id": "f1e4a960-6abc-11e7-ac0a-379e251bb30e",
    "time": 1500274540278,
    "user": {
        "clientIp": "59.42.40.89",
        "nick": "rururu",
        "pic":"//livestatic.videocc.net/v_60/assets/wimages/missing_face.png",
        "roomId": "100781",
        "uid": "yP-HnXTEZyToxP0TAGCS",
        "userId": "1500274526077",
        "userType": "" 
    },
    "values": ["sadasd"]
}
名称 说明
id 消息唯一标志
time 时间戳
user 发言人
values 消息内容

GONGGAO:

说明:公告消息,此公告消息页面不主动发送,当管理员发言时,服务器会将管理员的消息做为公告处理,当重新进入页面时,如有公告,服务器会广播这一消息。

监听回调返回的数据:

{
    "EVENT": "GONGGAO",
    "content": "POLYV保利威视" 
}
名称 说明
content 公告内容

BULLETIN

说明:公告消息,此公告消息页面可主动发送,区别于“GONGGAO”消息。当重新进入页面时,如有公告,服务器会广播这一消息。

发送

socket.emit('message', JSON.stringify({
    EVENT: 'BULLETIN',
    roomId: roomId,    //当前房间号
    content: content,  //公告内容
}));

监听回调返回的数据:

EVENT: "BULLETIN",
content: "???/",
roomId: "105240"
名称 类型 说明
content string 公告内容
roomId number/string 当前房间号(重新进入房间收到这一消息不会带roomId)

SET_NICK:

说明: 昵称设置,当观众进入房间昵称为xx/观众+数字类型时才会提示设置,设置的昵称存在时间为5个小时

发送:

socket.emit('message', JSON.stringify({
    EVENT: 'SET_NICK',
    roomId: roomId, //当前房间号
    userId: userId, //用户唯一标识
    nick: nick//要设置的昵称
}));

监听回调返回的数据:

错误消息1:

{
    "EVENT":"SET_NICK",
    "message":"昵称已存在",
    "nick":"林林林",
    "status":"error",
    "userId":"1500285799522" 
}

错误消息2:

{
    "EVENT":"SET_NICK",
    "message":"您的昵称中含有违规词",
    "nick":"管理员",
    "status":"error",
    "userId":"1500285799522" 
}

错误消息3:

{
    "EVENT":"SET_NICK",
    "message":" 找不到该用户",
    "nick":"林林林",
    "status":"error",
    "userId":"1" 
}

错误消息4:

{
    "EVENT":"SET_NICK",
    "message":"缺少相关参数",
    "status":"error" 
}

设置成功消息:

{
    "EVENT":"SET_NICK",
    "message":"设置成功",
    "nick":"林林林",
    "status":"success",
    "userId":"1500285799522" 
}
名称 说明
message 消息内容
status 设置状态
nick 设置昵称
userId 用户id

FLOWERS:

说明:送花事件

发送:

socket.emit('message', JSON.stringify({
    EVENT: 'FLOWERS',
    roomId: roomId,//当前房间号
    nick: userNick,//送花人昵称
    uimg: userPic //送花人头像,为新增的属性,可不传
}));

监听回调返回的数据:

{
    "EVENT":"FLOWERS",
    "nick":"广州观众/81366",
    "uimg":"//livestatic.videocc.net/v_60/assets/wimages/missing_face.png" 
}
名称 说明
nick 送花人昵称
uimg 送花人头像(新增)

LIKES:

说明: 点赞事件

发送:

socket.emit('message', JSON.stringify({
    EVENT: 'LIKES',
    nick: userNick, //点赞人昵称
    count: likesnum, //当前点赞数,可不传
    roomId: roomId //当前房间号
}));

监听回调返回的数据:

{
    "EVENT":"LIKES",
    "count":160,
    "nick":"广州观众/81366" 
}
名称 说明
count 当前点赞总数,若发生消息的时候没传此属性,则不返回这个属性
nick 点赞人昵称

KICK:

说明: 踢人事件

发送:

var data = JSON.stringify({
    EVENT: 'KICK',
    values: [userName], //被踢出人昵称
    roomId: roomId,
    sign:sign //md5校验字符串
});
socket.emit('message',data);

监听回调返回的数据:

{
    "EVENT":"KICK",
    "user": {
        "clientIp":"59.42.40.89",
        "nick":"林林林",
        "pic":"//livestatic.videocc.net/v_60/assets/wimages/missing_face.png",
        "roomId":"100781",
        "uid":"118GWVRA24PR14coA3bz",
        "userId":"1500275476199",
        "userType":"" 
    }
}
名称 说明
user 被踢用户对象

REMOVE_CONTENT:

说明:删除某条聊天记录,目前需要通过HTTP接口调用

监听回调返回的数据:

{
    "EVENT":"REMOVE_CONTENT",
    "content":"asd",
    "id":"54b04e90-6acd-11e7-abcd-a985dda00975",
    "roomId":"100781" 
}
名称 说明
content 删除的内容
id 删除内容对应的id
roomId 房间号

REMOVE_HISTORY:

说明:清空聊天记录

发送:

var data=JSON.stringify({
    EVENT:'REMOVE_HISTORY',
    roomId: roomId,
    sign:sign
});
socket.emit('message',data);

监听回调返回的数据:

{
    "EVENT":"REMOVE_HISTORY" 
}

CLOSEROOM:

说明:关闭聊天室

发送:

var data = JSON.stringify({
    EVENT:'CLOSEROOM',
    roomId:roomId,
    sign:sign    //md5校验字符串
});
socket.emit('message',data);

监听回调返回的数据:

{
    "EVENT":"CLOSEROOM",
    "value": {
      "closed":true,    
      "roomId":"100781" 
    }
}
名称 说明
closed true为关闭,false为开启
roomId 房间号

CLOSE_DANMU:

说明:关闭弹幕

监听回调返回的数据:

{
    "EVENT": "CLOSE_DANMU",
    "isClose": true
}
名称 说明
isClose true为关闭,false为开启

CUSTOMER_MESSAGE:

说明:自定义消息接收事件,目前只能通过后台管理员调用HTTP接口发送消息,可参考http://dev.polyv.net/2016/12/send-chat/

监听回调返回的数据:

{
    "EVENT" : "CUSTOMER_MESSAGE",
    "roomId" : 100781,
    "image":"http://livestatic.videocc.net/assets/wimages/pc_images/logo.png",
    "content" : "这是一条自定义消息" 
}
名称 说明
roomId 房间号
image 消息图片(根据发送的消息是否有图片决定)
content 消息内容

GET_TEST_QUESTION_CONTENT:

说明:获取答题卡题目和选项内容

响应:

名称 类型 说明
questionId string 问题ID
type string 题目类型,R表示单选,C表示多选
answer string 题目答案,多个答案则直接拼接,如选A和B,则返回AB
option1 string 选择项1,选项最少2个,最多5个
option2 string 选择项2
option3 string 选择项3
option4 string 选择项4
option5 string 选择项5
title string 题目标题
hash string 校验码
ts string 时间戳

GET_TEST_QUESTION_RESULT :

说明:获取答题卡答题结果

响应:

名称 类型 说明
questionId string 问题ID
result object 答题结果

答题结果字段说明:

名称 类型 说明
singleResult array 各个选项被选次数
total number 回答总人数
answer string 答案

ANSWER_TEST_QUESTION:

说明:发送答案

请求:

socket.emit('message', JSON.stringify({
    EVENT: 'ANSWER_TEST_QUESTION',
    roomId: channelId,
    nick: nick,
    userId: userId,
    option: result,
    questionId: questionId
}));

字段说明:

名称 说明
EVENT 事件名
roomId 房间号
nick 昵称
userId 学生ID
option 选择的答案,多选时直接将多个答案拼接。如,选A和B,则option为AB
questionId 问题ID

** 咨询提问 **

发送提问内容:

socket.emit('message', JSON.stringify({
    EVENT: 'S_QUESTION',
    roomId: roomId,
    user: {
        nick: nick,
        pic: pic,
        userId: userId,
        userType: 'student'
    },
    content: value
}));

字段说明:

名称 说明
EVENT 事件名
roomId 房间号
user 用户信息
content 提问内容

用户信息说明:

名称 说明
nick 昵称
pic 头像
userId 学员id
userType 类型

响应:

同发送字段内容一致

老师/管理员/助教回复提问:

socket.emit('message', JSON.stringify({
    EVENT: 'T_ANSWER',
    roomId: roomId,
    user: {
        nick: nick,
        pic: pic,
        userId: userId,
        userType: 'teacher',
        actor: actor
    },
    s_userId: s_userId
    content: value
}));

字段说明:

名称 说明
EVENT 事件名
roomId 房间号
user 用户信息
s_userId 被回复学员的id
content 回复内容

用户信息说明:

名称 说明
nick 昵称
pic 头像
userId 讲师/助教/管理员id
userType 类型:teacher/assistant/manager
actor 头衔

响应:

同发送字段内容一致

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取频道某段时间的直播统计数据

接口URL

http://api.polyv.net/live/v2/statistics/{channelId}/summary

接口说明

1、作用:通过频道ID获取该频道某段时间的直播统计数据。
2、接口URL中的{channelId}为 频道ID
3、接口支持https协议

支持格式

JSON

请求方式

GET

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
startDay yyyy-MM-dd的日期字符串 要查询的数据的开始日期
endDay yyyy-MM-dd的日期字符串 要查询的数据的结束日期
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
sign string 签名,为32位大写的MD5值

响应成功JSON示例:

{
    status: "success",
    result: [
    {
        currentDay: "2017-08-02",
        channelId: 101378,
        userId: "edv3kno3t5",
        pcPlayDuration: 18,
        pcFlowSize: 7533133,
        pcVideoView: 3,
        pcUniqueViewer: 1,
        mobilePlayDuration: 10,
        mobileFlowSize: 0,
        mobileVideoView: 6,
        mobileUniqueViewer: 2,
        createdTime: 1501697384000,
        lastModified: 1501697384000
    }, {
        currentDay: "2017-08-03",
        channelId: 101378,
        userId: "edv3kno3t5",
        pcPlayDuration: 34,
        pcFlowSize: 23014636,
        pcVideoView: 10,
        pcUniqueViewer: 1,
        mobilePlayDuration: 16,
        mobileFlowSize: 0,
        mobileVideoView: 5,
        mobileUniqueViewer: 2,
        createdTime: 1501783204000,
        lastModified: 1501783204000
    }, {
        currentDay: "2017-08-04",
        channelId: 101378,
        userId: "edv3kno3t5",
        pcPlayDuration: 3,
        pcFlowSize: 0,
        pcVideoView: 1,
        pcUniqueViewer: 1,
        mobilePlayDuration: 0,
        mobileFlowSize: 0,
        mobileVideoView: 0,
        mobileUniqueViewer: 0,
        createdTime: 1501816874000,
        lastModified: 1501816874000
    }
]}

响应失败JSON示例:

{
    code: "invalid.request",
    msg: "signature error."
}

字段说明

参数名 说明
currentDay 当期日期:yyyy-MM-dd
channelId 频道ID
userId 直播账号ID
pcPlayDuration PC端播放时长,单位:分钟
pcFlowSize PC端消耗流量,单位:bytes
pcVideoView PC端总播放量,类似PV
pcUniqueViewer PC端唯一观众数,类似UV
mobilePlayDuration 移动端播放时长,单位:分钟
mobileFlowSize 移动端消耗流量,单位:bytes
mobileVideoView 移动端总播放量,类似PV
mobileUniqueViewer 移动端唯一观众数,类似UV
createdTime 记录添加的时间
lastModified 记录修改的时间

php请求示例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$channelId = "127075";
$startDay = "2017-09-11";
$endDay = "2018-03-08";

$params = array(
    'appId'=>$appId,
    'endDay'=>$endDay,
    'startDay'=>$startDay,
    'timestamp'=>$timestamp
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

//接口请求url
$url = "http://api.live.polyv.net/v2/statistics/".$channelId."/summary?timestamp=".$timestamp."&sign=".$sign."&endDay=".$endDay."&startDay=".$startDay."&appId=".$appId;
//输出接口请求结果
echo file_get_contents($url);

?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

设置频道“回放列表”默认回放视频

接口URL

http://api.polyv.net/live/v2/channel/recordFile/{channelId}/playback/set-Default

接口说明

1、作用:将回放列表中的某个视频设置为默认回放视频
2、说明:一个频道只能设置一个默认回放视频。
3、接口支持https协议
4、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
sign string 签名,32位大写MD5值
timestamp string 当前13位毫秒级时间戳,3分钟内有效
videoId string 直播系统生成的id,可在回放列表接口的返回数据获取

响应成功JSON示例:

{
  "code":200,
  "status":"success",
  "message":"",
  "data":"success"
}

响应异常JSON示例:

{
  "code":400,
  "status":"error",
  "message":"该视频已经是默认回放视频!",
  "data":""
}

字段说明

参数名 说明
status 响应状态
data 响应结果
code 异常错误代码
message 请求失败时的异常错误信息

php请求示例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$channelId = "127075";
$videoId = "3a0410e5a1";

$params = array(
    'appId'=>$appId,
    'videoId'=>$videoId,
    'timestamp'=>$timestamp
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

//接口请求url
$url = "http://api.live.polyv.net/v2/channel/recordFile/$channelId/playback/set-Default?appId=$appId"."&videoId=$videoId"."&timestamp=$timestamp"."&sign=$sign";

$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$response = curl_exec ( $ch );
curl_close ( $ch );
echo $response;

?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

删除频道回放列表中的视频

接口URL

http://api.polyv.net/live/v2/channel/recordFile/{channelId}/playback/delete

接口说明

1、作用:删除回放列表中某个视频
2、说明:只是在回放列表删除,点播后台中视频依然存在。
3、接口支持https协议
4、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

Get,POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
sign string 签名,32位大写MD5值
timestamp string 当前13位毫秒级时间戳,3分钟内有效
videoId string 直播系统生成的id,可在回放列表接口的返回数据获取

响应成功JSON示例:

{
  "code":200,
  "status":"success",
  "message":"",
  "data":"success"
}

响应异常JSON示例:

{
  "code":400,
  "status":"error",
  "message":"找不到要删除的回放视频!",
  "data":""
}

字段说明

参数名 说明
status 响应状态
data 响应结果
code 异常错误代码
message 请求失败时的异常错误信息

php请求示例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$channelId = "127075";
$videoId = "3a0410e5a1";

$params = array(
    'appId'=>$appId,
    'videoId'=>$videoId,
    'timestamp'=>$timestamp
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

//接口请求url  
$url = "http://api.live.polyv.net/v2/channel/recordFile/$channelId/playback/delete?appId=$appId"."&videoId=$videoId"."&timestamp=$timestamp"."&sign=$sign";

$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$response = curl_exec ( $ch );
curl_close ( $ch );
echo $response;

?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

获取频道回放列表

接口URL

http://api.polyv.net/live/v2/channel/recordFile/{channelId}/playback/list

接口说明

1、作用:获取回放视频的视频列表信息。
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

GET

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
page string 页数,默认每页显示12条数据
pageSize string 每页显示的数据条数
sign string 签名,32位大写MD5值

响应成功JSON示例:

{
  "code": 200,
  "status": "success",
  "message": "",
  "data": {
    "pageNumber": 1,
    "totalItems": 3,
    "contents": [
      {
        "videoId": "6ce905500b",
        "videoPoolId": "54df86edc42918572a835cb32295895b_5",
        "userId": "54df86edc4",
        "channelId": 100000,
        "title": "保利威视",
        "firstImage": "http://img.videocc.net//uimage/5/54df86edc4/b/54df86edc42918572a835cb32295895b_0.jpg",
        "duration": "00:27:10",
        "myBr": "1",
        "qid": null,
        "seed": 0,
        "ordertime": 0,
        "createdTime": 1526018843000,
        "lastModified": 1526018940000,
        "rank": 9,
        "asDefault": "N",
        "url": "http://mpv.videocc.net/54df86edc4/b/54df86edc42918572a835cb32295895b_1.m3u8",
        "channelSessionId": null,
        "mergeInfo": "[\"20180509192019,956,f0v8mk8lfx\",\"20180510092124,673,f0v8mk8lfx\"]",
        "status": "Y",
        "fileUrl": "http://videolib.videocc.net/ec7paqepj320161102141026068/recordmerge.ec7paqepj320161102141026068_20180511140712.m3u8",
        "fileId": "dc673c60ffa36bf04743a255a2eabe61",
        "startTime": "20180509192019",
        "liveType": "alone"
      },
      {
        "videoId": "752d0bd60f",
        "videoPoolId": "54df86edc489fb78f3fab89eb77094c4_5",
        "userId": "54df86edc4",
        "channelId": 100000,
        "title": "保利威视",
        "firstImage": "http://img.videocc.net//uimage/5/54df86edc4/4/54df86edc489fb78f3fab89eb77094c4_0.jpg",
        "duration": "00:00:37",
        "myBr": "1",
        "qid": null,
        "seed": 0,
        "ordertime": 0,
        "createdTime": 1525879207000,
        "lastModified": 1525879207000,
        "rank": 6,
        "asDefault": "N",
        "url": "http://mpv.videocc.net/54df86edc4/4/54df86edc489fb78f3fab89eb77094c4_1.m3u8",
        "channelSessionId": "f0t3g29fwb",
        "mergeInfo": null,
        "status": "Y",
        "fileUrl": "http://videolib.videocc.net/ec7paqepj320161102141026068/recordf.ec7paqepj320161102141026068_20180507155013.m3u8",
        "fileId": "c21fd49fae4f42a7b1c637be6ab749f1",
        "startTime": "20180507155013",
        "liveType": "ppt"
      },
      {
        "videoId": "4d8a9ec87f",
        "videoPoolId": "54df86edc45346b768f5437cb91844e8_5",
        "userId": "54df86edc4",
        "channelId": 100000,
        "title": "保利威视",
        "firstImage": "http://img.videocc.net//uimage/5/54df86edc4/8/54df86edc45346b768f5437cb91844e8_0.jpg",
        "duration": "00:00:42",
        "myBr": "1",
        "qid": null,
        "seed": 0,
        "ordertime": 0,
        "createdTime": 1525879189000,
        "lastModified": 1525879201000,
        "rank": 4,
        "asDefault": "N",
        "url": "http://mpv.videocc.net/54df86edc4/8/54df86edc45346b768f5437cb91844e8_1.m3u8",
        "channelSessionId": "f0gp7zunbp",
        "mergeInfo": null,
        "status": "Y",
        "fileUrl": "http://videolib.videocc.net/ec7paqepj320161102141026068/recordf.ec7paqepj320161102141026068_20180426140123.m3u8",
        "fileId": "424ecdd5d0689408f7531878b49a2c7d",
        "startTime": "20180426140123",
        "liveType": "alone"
      }
    ],
    "endRow": 3,
    "startRow": 1,
    "firstPage": true,
    "prePageNumber": 1,
    "totalPages": 1,
    "nextPageNumber": 1,
    "lastPage": true,
    "limit": 3,
    "offset": 0
  }
}

字段说明

参数名 说明
status 响应状态
data 响应结果
message 异常错误信息
pageNumber 视频列表页数(默认以12条数据为1页)
totalItems 回放视频总个数
videoId 直播系统生成的id
videoPoolId 点播视频vid
userId 点播后台用户id
channelId 回放视频对应的直播频道id
title 视频标题
firstImage 视频首图
duration 视频长度
myBr 默认视频的播放清晰度,1为流畅,2为高清,3为超清
qid 访客信息收集id
seed 视频加密状态,1表示为加密状态,0为非加密
createdTime 添加为回放视频的日期
lastModified 视频最后修改日期
asDefault 是否为默认播放视频,值为Y/N
url 视频播放地址,注:如果视频为加密视频,则此地址无法访问
channelSessionId 用于PPT请求数据,与PPT直播的回放相关,普通直播回放值为null
mergeInfo 视频合并信息,后续补充
startTime 直播开始时间
firstPage 是否为第一页,值为:true/false
lastPage 是否为最后一页,值为:true/false
nextPageNumber 下一页编号
prePageNumber 上一页编号
totalPages 总页数
startRow 当前页第一个视频在回放视频中的位置
endRow 当前页最后一个视频在回放视频中的位置
limit 当前页视频个数

php请求示例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$channelId = "127075";
$page = "1"; //页数
$pageSize="10";//每页显示的数据

$params = array(
    'appId'=>$appId,
    'page'=>$page,
    'pageSize'=>$pageSize,
    'timestamp'=>$timestamp
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

//接口请求url
$url = "http://api.live.polyv.net/v2/channel/recordFile/$channelId/playback/list?appId=$appId"."&page=$page"."&pageSize=$pageSize"."&timestamp=$timestamp"."&sign=$sign";

//输出接口请求结果
echo file_get_contents($url);

?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

修改频道图标

接口URL

http://api.polyv.net/live/v2/channelSetting/{channelId}/setCoverImg

接口说明

1、作用:修改频道号图标
2、说明:上传的图片为不大于2MB的本地图片(格式只能为JPG、JPEG、PNG)。
3、接口URL中的{channelId}为 频道ID
4、接口支持https协议

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
sign string 签名,32位大写MD5值
timestamp string 当前13位毫秒级时间戳,3分钟内有效
imgfile 本地上传图片 图片为大小为2MB的JPG、JPEG、PNG图片
startXs string 距离原点的水平距离(剪裁水平位置)
startYs string 距离原点的垂直距离(剪裁垂直位置)
Widths string 设置图片宽
Heights string 设置图片高

参数说明:Widths、Heights是特定矩形的宽度、高度,如果不填,默认为128。startXs和startYs是剪裁图片,截取矩形的X坐标和Y坐标。

​ ◆上述4个参数非必填,建议直接上传分辨率为128X128的图片。

响应成功JSON示例:

 {
    "code":200,
    "status":"success",
    "message":"",
    "data":"//livestatic.videocc.net/uploaded/images/2017/03/******.jpg"
}

响应异常JSON示例:

{
    code: 400,
    status: "error",
    message: "image format error",
    data: ""
}

字段说明

参数名 说明
status 响应状态
data 请求成功时,返回值是上传成功后的图片地址
code 异常错误代码
message 请求失败时的异常错误信息

php请求示例

<?php

//引用config.php
include 'config.php';


//接口需要的参数(非sign)赋值
$appId = "XXXXXXXX";
$channelId = "127075";
$imgfile = 'C:\Users\polyv\Desktop\timg.jpg';

$params = array(
    'appId'=>$appId,
    'timestamp'=>$timestamp
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

$data = array(
      'appId' => $appId,
      'timestamp' => $timestamp,
      'sign' => $sign,
      'imgfile' => new CURLFile(realpath($imgfile))
  );

$url = "http://api.polyv.net/live/v2/channelSetting/$channelId/setCoverImg";
$ch = curl_init() or die ( curl_error() );
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360);
$reponse = curl_exec ( $ch );
curl_close ( $ch );
print_r($reponse); 

?>

java请求示例

public class SetCoverImg {

    private static RequestConfig requestConfig = RequestConfig.custom().setSocketTimeout(15000).setConnectTimeout(15000)
            .setConnectionRequestTimeout(15000).build();

    public static void main(String[] args) {
        Integer channelId = 108888; // 频道号
        String appId = "XXXXXXXX"; // 应用Id
        String appSecret = "XXXXXXXX";  // 应用密匙
        Long timestamp = System.currentTimeMillis(); // 13位毫秒级时间戳

        // 构建签名
        String sign = DigestUtils.md5Hex(appSecret + "appId" + appId + "timestamp" + timestamp + appSecret).toUpperCase();

        String url = String.format("http://api.polyv.net/live/v2/channelSetting/%s/setCoverImg", channelId);

        Map<String, String> map = new HashMap<>();
        map.put("appId", appId);
        map.put("timestamp", String.valueOf(timestamp));
        map.put("sign", sign);

        // 图片的本地文件路径,推荐128X128
        File file = new File("C:\\Users\\lenovo\\Desktop\\demo.png");
        String responBody = sendHttpPost(url, map, file);
        System.out.println(responBody);
    }

    /**
     * 发送 post请求(带文件)
     * @param httpUrl 地址
     * @param maps 参数
     * @param file 上传文件
     */
    private static String sendHttpPost(String httpUrl, Map<String, String> maps, File file) {
        HttpPost httpPost = new HttpPost(httpUrl);// 创建httpPost
        MultipartEntityBuilder meBuilder = MultipartEntityBuilder.create();
        for (String key : maps.keySet()) {
            meBuilder.addPart(key, new StringBody(maps.get(key), ContentType.TEXT_PLAIN));
        }
        FileBody fileBody = new FileBody(file);
        meBuilder.addPart("imgfile", fileBody); // imgfile 图片对应参数名
        HttpEntity reqEntity = meBuilder.build();
        httpPost.setEntity(reqEntity);
        return sendHttpPost(httpPost);
    }

    /**
     * 发送Post请求
     */
    private static String sendHttpPost(HttpPost httpPost) {
        CloseableHttpClient httpClient = null;
        CloseableHttpResponse response = null;
        HttpEntity entity;
        String responseContent = null;
        try {
            // 创建默认的httpClient实例.
            httpClient = HttpClients.createDefault();
            httpPost.setConfig(requestConfig);
            // 执行请求
            response = httpClient.execute(httpPost);
            entity = response.getEntity();
            responseContent = EntityUtils.toString(entity, "UTF-8");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                // 关闭连接,释放资源
                if (response != null) {
                    response.close();
                }
                if (null != httpPost) {
                    httpPost.releaseConnection();
                }
                if (httpClient != null) {
                    httpClient.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return responseContent;
    }
}

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

清除频道聊天记录

接口URL

http://api.polyv.net/live/v2/chat/{channelId}/cleanChat

接口说明

1、作用:清除聊天室的聊天记录
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID

支持格式

JSON

请求方式

GET

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
sign string 签名,32位大写MD5值
timestamp string 当前13位毫秒级时间戳,3分钟内有效

响应成功JSON示例:

{
    "code": 200,
    "status": "success",
    "message": "",
    "data": 101385
}

响应异常JSON示例:

{
    "code":403,
    "status":"error",
    "message":"invalid signature.",
    "data":""
}

字段说明

参数名 说明
status 响应状态
data 请求成功时,返回值是频道号,请求失败则返回错误信息
code 异常错误代码
message 异常错误信息

php请求示例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$channelId = "127075";

$params = array(
    'appId'=>$appId,
    'timestamp'=>$timestamp
  );

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

//接口请求url
$url = "http://api.live.polyv.net/v2/chat/$channelId/cleanChat?appId=$appId&timestamp=$timestamp&sign=$sign";

//输出接口请求结果
echo file_get_contents($url);

?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...

直播转存点播

接口URL

http://api.polyv.net/live/v2/channel/recordFile/{channelId}/convert

接口说明

1、作用:将直播录制文件转存至点播后台中。
2、接口支持https协议
3、接口URL中的{channelId}为 频道ID
4、同一个POLYV账号,调用该接口的间隔至少5分钟

支持格式

JSON

请求方式

POST

请求数限制

TRUE

请求参数

参数名 必选 类型 说明
appId string 从API设置中获取,在直播系统登记的appId
timestamp string 当前13位毫秒级时间戳,3分钟内有效
userId string 直播账号ID
fileUrl string 转存到录制文件地址(flv地址)(该参数从获取频道录制视频信息接口获取url的值)
sessionId string 直播场次ID,只传此参数时,可将对应场次的直播录制视频转存到点播
fileName string 转存后的点播视频名称
cataid string 目录id,不填或者填写错误即为默认分类
cataname string 目录名称,默认值为默认分类,当cataid设置为-1时,会新建一个名称为cataname的目录,并将视频放到该目录下
sign string 签名,32位大写MD5值
toPlayList string ,取值为Y或N 是否存放到回放列表默认为N :不存放 Y:存放到回放列表
setAsDefault string ,取值为Y或N 是否设为默认回放视频,默认值为Y:设置默认回放视频(转存后在回放列表中位于第一个),N:转存后在回放列表位于最后一个。此参数仅在toPlayList=Y 时生效

响应成功JSON示例:

{
  code: 200,
  status: "success",
  message: "",
  data: "e8888b74d1f25cd1dc0849aabc8df9f1_e"
}

字段说明

参数名 说明
status 响应状态
data 响应结果,请求成功时返回转存成功后的点播视频的id(即vid)
code http响应状态码
message 异常错误信息

php请求示例

<?php

//引用config.php
include 'config.php';

//接口需要的参数(非sign)赋值
$userId = "XXXXXXXX";
$channelId = "127075";
$fileUrl = "http://rflive.videocc.net/6dd9ef824d20170425162041072/recordf.6dd9ef824d20170425162041072_20170510105906.flv";
$fileName = "转存视频1";
$cataid = "1";
$cataname = "直播回放";
$toPlayList = "Y";

$params = array(
  'appId' => $appId,
  'timestamp' => $timestamp,
  'fileUrl' => $fileUrl,
  'fileName' => $fileName,
  'cataid' => $cataid,
  'cataname' => $cataname,
  'toPlayList' => $toPlayList,
  'userId' => $userId
);

//生成sign
$sign = getSign($params); //详细查看config.php文件的getSign方法

$url = "http://api.live.polyv.net/v2/channel/recordFile/$channelId/convert?";
$data = array (
  'appId' => $appId,
  'timestamp' => $timestamp,
  'fileUrl' => $fileUrl,
  'fileName' => $fileName,
  'cataid' => $cataid,
  'cataname' => $cataname,
  'sign' => $sign,
  'toPlayList' => $toPlayList,
  'userId' => $userId
);

$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_POST, 1 );
curl_setopt ( $ch, CURLOPT_HEADER, 0 );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
$return = curl_exec ( $ch );
curl_close ( $ch );
print_r($return);

?>

签名规则(config.php文件代码查看)

http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/

以上内容是否对您有帮助?根本没有帮助文档较差文档一般文档不错文档很好
Loading...