dever 6 years ago
parent
commit
baf87a03f3
4 changed files with 56 additions and 22 deletions
  1. 19 1
      live/lib/Handle.php
  2. 5 19
      live/src/Api.php
  3. 8 0
      main/src/Preview.php
  4. 24 2
      video/database/live.php

+ 19 - 1
live/lib/Handle.php

@@ -50,7 +50,7 @@ class Handle
     }
 
     # 建立直播日志
-    public function saveLog($id, $log_id = false)
+    public function saveLog($id, $log_id = false, $table = false)
     {
         $info = Dever::db('live/stream')->one($id);
 
@@ -73,6 +73,24 @@ class Handle
             $data['where_id'] = $log_id;
             Dever::db('live/stream_log')->update($data);
             $id = $log_id;
+
+            if ($table) {
+                $data = Dever::db($table)->state(array('stream_id' => $info['id']));
+                if ($data) {
+                    foreach ($data as $k => $v) {
+                        if (!$v['url_m3u8'] && $v['sdate'] > 0 && $v['edate'] > 0) {
+
+                            $v['sdate'] = intval($v['sdate']);
+                            $v['edate'] = intval($v['edate']);
+
+                            $url_m3u8 = $config['host'] . $method->save($info['key'],$v['sdate'], $v['edate']);
+                            $url_mp4 = $config['host'] . $method->save($info['key'], $v['sdate'], $v['edate'], 'mp4');
+
+                            Dever::db($table)->update(array('where_id' => $v['id'], 'url_m3u8' => $url_m3u8, 'url_mp4' => $url_mp4));
+                        }
+                    }
+                }
+            }
         }
         
         return $id;

+ 5 - 19
live/src/Api.php

@@ -72,9 +72,9 @@ class Api
         $handle = new Handle();
         $handle->save($id, $log_id);
 
-        Dever::daemon('api.save?id=' . $id . '&log_id=' . $log_id, 'live');
+        //Dever::daemon('api.save?id=' . $id . '&log_id=' . $log_id, 'live');
 
-        //Dever::load('live/api.save?id=' . $id . '&log_id=' . $log_id);
+        Dever::load('live/api.save?id=' . $id . '&log_id=' . $log_id);
         return 'ok';
     }
 
@@ -90,24 +90,10 @@ class Api
         	Dever::alert('错误的id');
         }
         $handle = new Handle();
-        $handle->saveLog($id, $log_id);
+        $handle->saveLog($id, $log_id, 'video/live');
 
-        return 'ok';
-    }
-
-    # 获取某个直播视频的所有回放地址
-    public function getVideo()
-    {
-        $id = Dever::input('id');
-        $log_id = Dever::input('sdate');
-        if (!$id) {
-        	Dever::alert('错误的id');
-        }
-        if (!$log_id) {
-        	Dever::alert('错误的id');
-        }
-        $handle = new Handle();
-        $handle->saveLog($id, $log_id);
+        # 获取这个流对应的直播信息
+        
 
         return 'ok';
     }

+ 8 - 0
main/src/Preview.php

@@ -21,11 +21,19 @@ class Preview
 
     	$table = Dever::config('base')->type_table[$type];
 
+        $info = Dever::db($table)->one($id);
 
     	$table = array();
         $table['正式二维码'] = '暂时没有';
         $table['测试二维码'] = '暂时没有';
 
+        if ($type == 3) {
+            if ($info['url_m3u8']) {
+                $table['m3u8回放地址'] = $info['url_m3u8'];
+                $table['mp4回放地址'] = $info['url_mp4'];
+            }
+        }
+
         return Dever::table($table);
     }
 }

+ 24 - 2
video/database/live.php

@@ -154,15 +154,37 @@ return array
         'edate'     => array
         (
             'type'      => 'int-11',
-            'name'      => '结束时间',
+            'name'      => '结束时间-选择结束时间,能够得到当前时间段完整的直播回放地址',
             'match'     => 'is_numeric',
             'default'   => '',
             'desc'      => '',
-            //'update'    => 'date',
+            'update'    => 'date',
             'callback'  => 'maketime',
             //'list'      => 'date("Y-m-d H:i:s", {edate})',
         ),
 
+        'url_m3u8'      => array
+        (
+            'type'      => 'varchar-800',
+            'name'      => '直播回放地址',
+            'default'   => '',
+            'desc'      => '直播回放地址',
+            'match'     => 'option',
+            //'update'    => 'text',
+            //'list'      => true,
+        ),
+
+        'url_mp4'      => array
+        (
+            'type'      => 'varchar-800',
+            'name'      => '直播回放地址',
+            'default'   => '',
+            'desc'      => '直播回放地址',
+            'match'     => 'option',
+            //'update'    => 'text',
+            //'list'      => true,
+        ),
+
 		'num_add_user'		=> array
 		(
 			'type' 		=> 'int-11',