| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 | 
							- <?php
 
- namespace Live\Lib;
 
- use Dever;
 
- class Manage
 
- {
 
-     # 获取所有的流
 
- 	public function getStream_api()
 
-     {
 
-         $handle = new Handle();
 
-     	$info = Dever::db('live/info')->state();
 
-         foreach ($info as $k => $v) {
 
-             $data = $handle->method($v)->gets();
 
-             if (isset($data['keys']) && $data['keys']) {
 
-                 foreach ($data['keys'] as $k1 => $v1) {
 
-                     $this->insertStream($v1);
 
-                 }
 
-             }
 
-         }
 
-         return 'yes';
 
-     }
 
-     private function insertStream($name)
 
-     {
 
-         $data['key'] = $name;
 
-         $info = Dever::db('live/stream')->one($data);
 
-         if (!$info) {
 
-             $data['name'] = $name;
 
-             $id = Dever::db('live/stream')->insert($data);
 
-         } else {
 
-             $id = $info['id'];
 
-         }
 
-         $handle = new Handle();
 
-         $data = $handle->init($id, $name);
 
-     }
 
-     # 创建新流
 
-     public function createStream($id, $name, $data)
 
-     {
 
-         $name = Dever::param('key', $data);
 
-         $handle = new Handle();
 
-         $data = $handle->init($id, $name);
 
-     }
 
-     # 禁播流
 
-     public function updateDisabled($id, $name, $data)
 
-     {
 
-         $disabled = Dever::param('disabled', $data);
 
-         $handle = new Handle();
 
-         if ($disabled == 1) {
 
-             $handle->start($id);
 
-         } else {
 
-             $handle->stop($id);
 
-         }
 
-     }
 
-     # 获取流信息
 
-     public function liveData($id)
 
-     {
 
-         $info = Dever::db('live/stream')->one($id);
 
-         $html = $info['name'] . '('.$info['key'].')';
 
-         return $html;
 
-     }
 
-     # 获取直播地址
 
-     public function live($id)
 
-     {
 
-         $info = Dever::db('live/stream')->one($id);
 
-         $table['推流地址'] = $info['live'];
 
-         $table['高清地址'] = $info['url_rtmp'];
 
-         $table['标清地址'] = $info['url_hls'];
 
-         $table['普清地址'] = $info['url_hdl'];
 
-         $table['截图地址'] = $info['url_pic'];
 
-         return Dever::table($table);
 
-     }
 
-     # 获取直播信息
 
-     public function liveInfo($id)
 
-     {
 
-         $info = Dever::db('live/stream')->one($id);
 
-         $table = array();
 
-         if ($info['info']) {
 
-             $data = Dever::json_decode($info['info']);
 
-             if (isset($data['live']) && $data['live']) {
 
-                 $table['直播状态'] = '直播中';
 
-                 if ($info['status'] != 2) {
 
-                     Dever::db('live/stream')->update(array('where_id' => $id, 'status' => 2));
 
-                 }
 
-                 $table['开始时间'] = date('Y-m-d H:i:s', $data['live']['startAt']);
 
-                 $table['主播IP'] = $data['live']['clientIP'];
 
-                 $table['当前码率'] = $data['live']['bps'];
 
-                 $table['音频帧率'] = $data['live']['fps']['audio'];
 
-                 $table['视频帧率'] = $data['live']['fps']['video'];
 
-                 $table['数据帧率'] = $data['live']['fps']['data'];
 
-             } elseif (isset($data['hitory']) && $data['hitory']) {
 
-                 $table['直播状态'] = '已结束';
 
-                 if ($info['status'] != 3) {
 
-                     Dever::db('live/stream')->update(array('where_id' => $id, 'status' => 3));
 
-                 }
 
-                 $history = array();
 
-                 foreach ($data['history'] as $k => $v) {
 
-                     $history['第' . ($k+1) . '次直播'] = date('Y-m-d H:i:s', $v['start']) . '~' . date('Y-m-d H:i:s', $v['end']);
 
-                 }
 
-                 $table['直播历史'] = Dever::table($history);
 
-             } else {
 
-                 $table['直播状态'] = '未开始';
 
-                 if ($info['status'] != 1) {
 
-                     Dever::db('live/stream')->update(array('where_id' => $id, 'status' => 1));
 
-                 }
 
-             }
 
-         }
 
-         
 
-         return Dever::table($table);
 
-     }
 
- }
 
 
  |