创建直播频道
发布日期: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/

上一篇:JS 点击按钮增加文本框
下一篇:给6.0版本产品模块增加字段参数

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月11日 10时09分50秒