dever 6 년 전
부모
커밋
33104956ac
4개의 변경된 파일50개의 추가작업 그리고 22개의 파일을 삭제
  1. 19 1
      live/lib/Handle.php
  2. 3 2
      live/lib/Qiniu.php
  3. 27 19
      live/src/Api.php
  4. 1 0
      main/src/Content.php

+ 19 - 1
live/lib/Handle.php

@@ -38,7 +38,25 @@ class Handle
         $info = Dever::db('live/stream')->one($id);
         $config = Dever::db('live/info')->one($info['live_id']);
         $method = $this->method($config);
-        return $method->save($info['key']);
+
+        $data['url_vod'] = $method->save($info['key']);
+        $data['where_id'] = $info['id'];
+        $data['status'] = 3;
+
+        Dever::db('live/stream')->update($data);
+    }
+
+    # 开始直播
+    public function startLive($id)
+    {
+        $info = Dever::db('live/stream')->one($id);
+        $config = Dever::db('live/info')->one($info['live_id']);
+        $method = $this->method($config);
+
+        $data['where_id'] = $info['id'];
+        $data['status'] = 2;
+
+        Dever::db('live/stream')->update($data);
     }
 
     # 初始化流

+ 3 - 2
live/lib/Qiniu.php

@@ -83,10 +83,11 @@ class Qiniu
     }
 
     # 保存直播数据
-    public function save($name, $start = 0, $end = 0)
+    public function save($name, $format = array(), $start = 0, $end = 0)
     {
         $stream = $this->get($name);
-        return $stream->saveas(array("format" => "mp4"), $start, $end);
+        //$format = array("format" => "mp4");
+        return $stream->saveas($format, $start, $end);
     }
 
     # 保存直播截图

+ 27 - 19
live/src/Api.php

@@ -6,13 +6,20 @@ use Dever;
 
 class Api
 {
+	private $key = 'signature_dever_2018_jm';
+
+	private function check()
+	{
+		$signature = Dever::input('signature');
+        if ($signature != md5($this->key)) {
+            Dever::alert('signature error');
+        }
+	}
+
     # 获取直播地址
     public function get()
     {
-        $signature = Dever::input('signature');
-        if ($signature != md5('signature_dever_2018_jm')) {
-            Dever::alert('signature error');
-        }
+        $this->check();
 
         $data = Dever::db('live/active')->getAll(array('status' => 2));
 
@@ -26,24 +33,25 @@ class Api
         }
     }
 
-    # 获取回放地址
-    public function getMp4()
+    # 开始推流
+    public function start()
     {
-        $signature = Dever::input('signature');
-        if ($signature != md5('signature_dever_2018_jm')) {
-            Dever::alert('signature error');
-        }
+        $this->check();
+        $id = Dever::input('id');
+        $handle = new Handle();
+        $handle->startLive($id);
+
+        return 'ok';
+    }
 
+    # 获取回放地址
+    public function getVod()
+    {
+        $this->check();
         $id = Dever::input('id');
-        $data = Dever::db('live/stream')->one($id);
+        $handle = new Handle();
+        $handle->save($id);
 
-        if ($data) {
-            foreach ($data as $k => $v) {
-                $data[$k]['stream'] = Dever::db('live/stream')->getAll();
-            }
-            return array('active' => $data);
-        } else {
-            return array('active' => (object) array());
-        }
+        return 'ok';
     }
 }

+ 1 - 0
main/src/Content.php

@@ -10,6 +10,7 @@ class Content extends Core
     # 首页精选
     public function home()
     {
+        echo date('Y-m-d H:i:s', 1542178500);die;
         # 栏目
         $this->data['push_menu'] = Dever::load('push/lib/data')->get('menu', '头部导航');