Tryag File Manager
Home
||
Turbo Force
||
B-F Config_Cpanel
Current Path :
/
home
/
ltms.eemo.co.kr
/
public_html
/
super
/
Or
Select Your Path :
Upload File :
New :
File
Dir
//home/ltms.eemo.co.kr/public_html/super/wowza.php
<? include_once("inc_header.php"); $listMac = mysql_query("SELECT mac, farm_no FROM farm_ipcamera GROUP BY mac"); while ($rs = mysql_fetch_object($listMac)) { if(strlen($rs->mac) > 10){ echo "\"".$mac = $rs->mac."\":"; $farm_nvr = mysql_fetch_object(mysql_query("SELECT nvr_chan_su FROM farm_nvr WHERE farm_no = $rs->farm_no ")); // echo " 채널수: "; echo "\"".$cnt = $farm_nvr->nvr_chan_su."\","; echo "<br/>"; // addWowza($mac, $cnt); } // sleep(5000); } // addWowza("90da6a07fb58", 16 ); ?> <button type="button" class="btn btn-primary">와우자 추가</button> <br/> <? // rtsp://admin:1234@90da6a07fb58.dynlink.net:554/main/ch1 // rtsp://admin:1234@90da6a07fb58.dynlink.net/main/ch1 // http://110.93.133.72:1935/live/90da6a07fb58ch1.stream/playlist.m3u8 function addWowza($mac, $chan) { $cnt = $chan == 16 ? 17 : 26; for ($i=1; $i < $cnt; $i++) { $paramStreamID = $mac."ch".$i; echo $paramStreamID; // $len = strlen($paramStreamID); // $ddns = substr($paramStreamID,0,12); $chNo = "ch".$i; $paramRtspUrl = "rtsp://admin:1234@".$mac.".dynlink.net/main/".$chNo; echo $paramRtspUrl; // $year = "2019"; // $month= "07"; // $day = "29"; // $hour = "01"; // $minute = "00"; $streaming_url = "http://110.93.133.72:1935/live/".$paramStreamID.".stream/playlist.m3u8"; // $paramRtspUrl = $paramRtspUrl."&".$year."&".$month."&".$day."&".$hour."&".$minute."&00"; $rtnData = setWowza($paramStreamID, $paramRtspUrl,1); $rtnJson = json_decode($rtnData); if($rtnJson->success){ $rsUrl = str_replace("/live/", "/live/", $streaming_url); $retJson["result"] = "SUCCESS"; $retJson["message"] = $rsUrl; }else{ $retJson["result"] = "FAILED"; $retJson["message"] = "저장 영상 불러오기를 실패하였습니다."; } $rsJson = json_encode($retJson); echo ($retJson['message']); } } ?> <link href="//vjs.zencdn.net/7.3.0/video-js.min.css" rel="stylesheet"> <script src="//vjs.zencdn.net/7.3.0/video.min.js"></script> <video id="video" draggable="true" droppable="true" class="video-js videos " muted data-setup="{}" autoplay preload="auto"> <source src="http://110.93.133.72:1935/live/<?=$paramStreamID?>.stream/playlist.m3u8" type="application/x-mpegURL"> </video> <? function callAPI($method, $url, $data="", $headers=array()) { $curl = curl_init(); switch ($method){ case "POST": curl_setopt($curl, CURLOPT_POST, 1); if ($data) curl_setopt($curl, CURLOPT_POSTFIELDS, $data); break; case "PUT": curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT"); if ($data) curl_setopt($curl, CURLOPT_POSTFIELDS, $data); break; default: if ($data) $url = sprintf("%s?%s", $url, http_build_query($data)); } // OPTIONS: curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // EXECUTE: $result = curl_exec($curl); if(!$result){die("Connection Failure");} curl_close($curl); return $result; } function setWowza($streamID, $rtspUri, $wowzaType = 0) { $wowzaAddr = ["110.93.133.72", "110.93.133.72"]; $headers = array( "Accept:application/json", "Content-Type:application/json", "charset=utf-8" ); $ret = callAPI("PUT", "http://{$wowzaAddr[$wowzaType]}:1935/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/live/instances/_definst_/incomingstreams/{$streamID}.stream/actions/disconnectStream", false, $headers); $params = [ "sourceControlDriver" => "", "advancedSettings" => [[ "sectionName" => "Common", "canRemove" => true, "defaultValue" => "null", "documented" => true, "name" => "uri", "section" => "null", "type" => "integer", "value" => $rtspUri, "enabled" => true ]], "serverName" => "_defaultServer_", "saveFieldList" => [""], "version" => "" ]; $json = json_encode($params, JSON_UNESCAPED_SLASHES); $ret = callAPI("PUT", "http://{$wowzaAddr[$wowzaType]}:1935/v2/servers/_defaultServer_/vhosts/_defaultVHost_/applications/live/streamfiles/{$streamID}/adv", $json, $headers); $ret = callAPI("PUT", "http://{$wowzaAddr[$wowzaType]}:1935/v2/servers/_defaultServer_/vhosts/_defaultVHost_/streamfiles/{$streamID}/actions/connect?connectAppName=live&appInstance=_definst_&mediaCasterType=rtp", false, $headers); return $ret; } ?>