
创建直播频道
发布日期:2021-05-04 09:23:53
浏览次数:43
分类:精选文章
本文共 6907 字,大约阅读时间需要 23 分钟。
//取得保利威视直播基础参数 //签名验证必需参数 $live_config=DB::get_one("SELECT userid,appid,appsecret,appname FROM ".$_M['table']['my_live_config']." WHERE id=1"); $appId = $live_config['appid'];//从API设置中获取,在直播系统登记的appId $userId = $live_config['userid'];//直播账号ID $timestamp = time()*1000; $appSecret = $live_config['appsecret']; if($appId=="" || $userId=="" || $appSecret==""){ turnover("{$_M[url][own_form]}a=do_polyv","错误:请先配置API参数!"); } //创建直播频道 //接口需要的参数(非sign)赋值 //$userId = "XXXXXXXX";//直播用户ID $autoPlay = 1;//自动播放 是否自动播放,0/1,默认1 $name = $title;//直播频道名称 $playerColor = "#00ffff";//播放器控制栏颜色 $channelPasswd = "123456";//频道密码 $courseId = "123456";//课程号 $params = array( 'appId'=>$appId, 'autoPlay'=>$autoPlay, 'name'=>$name, 'courseId'=>$courseId, 'playerColor'=>$playerColor, 'timestamp'=>$timestamp, 'userId'=>$userId, 'channelPasswd'=>$channelPasswd, 'timestamp'=>$timestamp ); //生成sign 签名生成规则 //$sign = getSign($params); //详细查看config.php文件的getSign方法 // 1. 对加密数组进行字典排序 foreach ($params as $key=>$value){ $arr[$key] = $key; } sort($arr); $str = $appSecret; foreach ($arr as $k => $v) { $str = $str.$arr[$k].$params[$v]; } $restr = $str.$appSecret; $sign = strtoupper(md5($restr)); $data = array( 'appId' => $appId, 'autoPlay'=>$autoPlay, 'name'=>$name, 'courseId'=>$courseId, 'playerColor'=>$playerColor, 'timestamp'=>$timestamp, 'userId'=>$userId, 'channelPasswd'=>$channelPasswd, 'sign'=>$sign ); $url = "http://api.polyv.net/live/v2/channels"; //$ch = curl_init() or die ( curl_error() ); $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL, $url); curl_setopt( $ch, CURLOPT_POSTFIELDS, $data); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 360); $response = curl_exec ( $ch ); curl_close ( $ch ); //echo $response; //错误信息提示 // if ($response === FALSE) {//没有取得返回数据 // turnover("{$_M[url][own_form]}a=doindex",curl_error($ch));die; // // echo "cURL 具体出错信息: " . curl_error($ch); // } //取得返回数组 $jsonStr=$response;; $arr = json_decode($jsonStr, true); $code = $arr['code'];//code=200 说明成功 $message=$arr['message']; // turnover("{$_M[url][own_form]}a=doindex","channelId=".$channelId);die; if($code==200){//成功取回信息 插入取回的信息 $channelId = $arr['data']['channelId']; $userId = $arr['data']['userId']; $name = $arr['data']['name']; $description = $arr['data']['description']; $url = $arr['data']['url']; $stream = $arr['data']['stream']; $logoImage = $arr['data']['logoImage']; $logoOpacity = $arr['data']['logoOpacity']; $logoPosition = $arr['data']['logoPosition']; $logoHref = $arr['data']['logoHref']; $coverImage = $arr['data']['coverImage']; $coverHref = $arr['data']['coverHref']; $waitImage = $arr['data']['waitImage']; $waitHref = $arr['data']['waitHref']; $cutoffImage = $arr['data']['cutoffImage']; $cutoffHref = $arr['data']['cutoffHref']; $advertType = $arr['data']['advertType']; $advertDuration = $arr['data']['advertDuration']; $advertWidth = $arr['data']['advertWidth']; $advertHeight = $arr['data']['advertHeight']; $advertImage = $arr['data']['advertImage']; $advertHref = $arr['data']['advertHref']; $advertFlvVid = $arr['data']['advertFlvVid']; $advertFlvUrl = $arr['data']['advertFlvUrl']; $playerColor = $arr['data']['playerColor']; $autoPlay = $arr['data']['autoPlay']; $warmUpFlv = $arr['data']['warmUpFlv']; $passwdRestrict = $arr['data']['passwdRestrict']; $passwdEncrypted = $arr['data']['passwdEncrypted']; $isOnlyAudio = $arr['data']['isOnlyAudio']; $isLowLatency = $arr['data']['isLowLatency']; $m3u8Url1 = $arr['data']['m3u8Url1']; $m3u8Url = $arr['data']['m3u8Url']; $m3u8Url2 = $arr['data']['m3u8Url2']; $m3u8Url3 = $arr['data']['m3u8Url3']; $currentTimeMillis = $arr['data']['currentTimeMillis']; $query58 = "INSERT INTO {$_M['table']['product_live_polyv_config']} SET pid = '$p_id',channelId = '$channelId',userId = '$userId',name = '$name',description = '$description',url = '$url',stream = '$stream',logoImage = '$logoImage',logoOpacity = '$logoOpacity',logoPosition = '$logoPosition',logoHref = '$logoHref',coverImage = '$coverImage',coverHref = '$coverHref',waitImage = '$waitImage',waitHref = '$waitHref',cutoffImage = '$cutoffImage',cutoffHref = '$cutoffHref',advertType = '$advertType',advertDuration = '$advertDuration',advertWidth = '$advertWidth',advertHeight = '$advertHeight',advertImage = '$advertImage',advertHref = '$advertHref',advertFlvVid = '$advertFlvVid',advertFlvUrl = '$advertFlvUrl',playerColor = '$playerColor',autoPlay = '$autoPlay',warmUpFlv = '$warmUpFlv',passwdRestrict = '$passwdRestrict',passwdEncrypted = '$passwdEncrypted',isOnlyAudio = '$isOnlyAudio',isLowLatency = '$isLowLatency',m3u8Url = '$m3u8Url',m3u8Url1 = '$m3u8Url1',m3u8Url2 = '$m3u8Url2',m3u8Url3 = '$m3u8Url3',currentTimeMillis = '$currentTimeMillis'"; DB::query($query58); }else{ turnover("{$_M[url][own_form]}a=doindex",curl_error($ch));die; } }else{ turnover("{$_M[url][own_form]}a=doindex","错误:添加失败!"); }
官方文档:
签名生成规则
http://dev.polyv.net/2018/liveproduct/l-api/rule/sign/
创建直播频道
http://dev.polyv.net/2017/liveproduct/l-api/zbglgn/create-channel/
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2025年04月11日 10时09分50秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ReactJs入门教程-精华版
2021-05-09
乐观锁悲观锁应用
2021-05-09
简单说说TCP三次握手、四次挥手机制
2021-05-09
.net Core 使用IHttpClientFactory请求
2021-05-09
多线程之旅(准备阶段)
2021-05-09
Python 之网络式编程
2021-05-09
MySql5.5安装步骤及MySql_Front视图配置
2021-05-09
springmvc Controller详解
2021-05-09
mybatis #{}和${}区别
2021-05-09
Java Objects工具类重点方法使用
2021-05-09
Java内存模型(JMM)
2021-05-09
AQS相关
2021-05-09
abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)
2021-05-09
WCF学习之旅—第三个示例之一(二十七)
2021-05-09
java ThreadPoolExecutor初探
2021-05-09