AppKey = $AppKey; $this->AppSecret = $AppSecret; }/**生成驗證碼**/ html' target='_blank'>public function checkSumBuilder(){ //此部分生成隨機字符串 $hex_digits = self::HEX_DIGITS; $this->Nonce; for($i=0;$iNonce.= $hex_digits[rand(0,15)]; } $this->CurTime = (string)(time());//當前時間戳,以秒為單位 $join_string = $this->AppSecret.$this->Nonce.$this->CurTime; $this->CheckSum = sha1($join_string); } /*****post請求******/public function postDataCurl($url,$data=array()){ $this->checkSumBuilder();//發送請求前需先生成checkSumif(!empty($data)){$json=json_encode($data);}else{$json="";}$timeout = 5000; $http_header = array( 'AppKey:'.$this->AppKey, 'Nonce:'.$this->Nonce, 'CurTime:'.$this->CurTime, 'CheckSum:'.$this->CheckSum, 'Content-Type: application/json;charset=utf-8;','Content-Length: ' . strlen($json) );$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POSTFIELDS, $json); curl_setopt ($ch, CURLOPT_HEADER, false); curl_setopt ($ch, CURLOPT_HTTPHEADER,$http_header);curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER,false); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); if (false === $result) { $result = curl_errno($ch); }curl_close($ch); return json_decode($result,true) ; } /***頻道添加***/public function channel_add($name,$type=0){$url="https://vcloud.163.com/app/channel/create";return $data=$this->postDataCurl($url,array("name"=>$name,"type"=>$type));}/****頻道更新*****/public function channel_update($name,$cid,$type=0){$url="https://vcloud.163.com/app/channel/update";return $data=$this->postDataCurl($url,array("name"=>$name,"cid"=>$cid,"type"=>$type));}/****頻道刪除******/public function channel_delete($cid){$url="https://vcloud.163.com/app/channel/delete";return $data=$this->postDataCurl($url,array("cid"=>$cid));}/****獲取頻道信息******/public function channel_get($cid){$url="https://vcloud.163.com/app/channelstats";return $data=$this->postDataCurl($url,array("cid"=>$cid));}/***獲取頻道列表recordsint單頁記錄數,默認值為10否pnumint要取第幾頁,默認值為1否ofieldString排序的域,支持的排序域為:ctime(默認)否sortint升序還是降序,1升序,0降序,默認為desc否**/public function channel_list($option=array("records"=>10,"pnum"=>1,"ofield"=>"ctime","sort"=>1)){$url="https://vcloud.163.com/app/channellist";return $data=$this->postDataCurl($url,$option);}/**重新獲取推流地址***/public function channel_reset($cid){$url="https://vcloud.163.com/app/address";return $data=$this->postDataCurl($url,array("cid"=>$cid));}/*****設置頻道為錄制狀態cidString頻道ID是needRecordint1-開啟錄制; 0-關閉錄制是formatint1-flv; 0-mp4是durationint錄制切片時長(分鐘),默認120分鐘否filenameString錄制后文件名,格式為filename_YYYYMMDD-HHmmssYYYYMMDD-HHmmss, 文件名錄制起始時間(年月日時分秒) -錄制結束時間(年月日時分秒)否****/public function channel_setRecord($cid,$option=array()){$url="https://vcloud.163.com/app/channel/setAlwaysRecord";return $data=$this->postDataCurl($url,$option);}/****暫停頻道*****/public function channel_pause($cid){$url="https://vcloud.163.com/app/channel/pause";return $data=$this->postDataCurl($url,array("cid"=>$cid));}/****批量暫停頻道****/public function channel_pauselist($cidList){$url="https://vcloud.163.com/app/channellist/pause";return $data=$this->postDataCurl($url,array("cidList"=>$cidList));}/****恢復頻道*****/public function channel_resume($cid){$url="https://vcloud.163.com/app/channel/resume";return $data=$this->postDataCurl($url,array("cid"=>$cid));}/****批量恢復頻道****/public function channel_resumelist($cidList){$url="https://vcloud.163.com/app/channellist/resume";return $data=$this->postDataCurl($url,array("cidList"=>$cidList));}/****獲取頻道的視頻地址*****/public function channel_videolist($cid){$url="https://vcloud.163.com/app/videolist";return $data=$this->postDataCurl($url,array("cid"=>$cid));}}?>
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答