|
@@ -33,17 +33,49 @@ class Handle
|
|
|
}
|
|
|
|
|
|
|
|
|
- public function save($id)
|
|
|
+ public function save($id, $log_id)
|
|
|
{
|
|
|
$info = Dever::db('live/stream')->one($id);
|
|
|
$config = Dever::db('live/info')->one($info['live_id']);
|
|
|
$method = $this->method($config);
|
|
|
|
|
|
- $data['url_vod'] = $config['host'] . $method->save($info['key']);
|
|
|
- $data['where_id'] = $info['id'];
|
|
|
- $data['status'] = 3;
|
|
|
+ $info_update['where_id'] = $info['id'];
|
|
|
+ $info_update['status'] = 3;
|
|
|
|
|
|
- Dever::db('live/stream')->update($data);
|
|
|
+ Dever::db('live/stream')->update($info_update);
|
|
|
+
|
|
|
+ Dever::db('live/stream_log')->update(array('edate' => time(), 'where_id' => $log_id));
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public function saveLog($id, $log_id = false)
|
|
|
+ {
|
|
|
+ $info = Dever::db('live/stream')->one($id);
|
|
|
+
|
|
|
+ if (!$log_id) {
|
|
|
+ $time = time();
|
|
|
+ $data['sdate'] = $time;
|
|
|
+ $data['stream_id'] = $id;
|
|
|
+ $data['live_id'] = $info['live_id'];
|
|
|
+ $data['active_id'] = $info['active_id'];
|
|
|
+ $id = Dever::db('live/stream_log')->insert($data);
|
|
|
+ } else {
|
|
|
+
|
|
|
+ $config = Dever::db('live/info')->one($info['live_id']);
|
|
|
+ $log = Dever::db('live/stream_log')->one($log_id);
|
|
|
+ $method = $this->method($config);
|
|
|
+ $log['sdate'] = intval($log['sdate']);
|
|
|
+ $log['edate'] = intval($log['edate']);
|
|
|
+ $data['url_m3u8'] = $config['host'] . $method->save($info['key'],0, $log['edate']);
|
|
|
+ $data['url_mp4'] = $config['host'] . $method->save($info['key'], 0, $log['edate'], 'mp4');
|
|
|
+ $data['where_id'] = $log_id;
|
|
|
+ Dever::db('live/stream_log')->update($data);
|
|
|
+ $id = $log_id;
|
|
|
+ }
|
|
|
+
|
|
|
+ return $id;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -70,11 +102,11 @@ class Handle
|
|
|
$info['key'] = $name;
|
|
|
}
|
|
|
|
|
|
- return $this->get($info);
|
|
|
+ return $this->get($info, true);
|
|
|
}
|
|
|
|
|
|
|
|
|
- public function get($info)
|
|
|
+ public function get($info, $create = false)
|
|
|
{
|
|
|
if (!is_array($info)) {
|
|
|
$info = Dever::db('live/stream')->one($info);
|
|
@@ -84,12 +116,16 @@ class Handle
|
|
|
|
|
|
$method = $this->method($config);
|
|
|
|
|
|
+ if ($create) {
|
|
|
+ $stream = $method->create($info['key']);
|
|
|
+ } else {
|
|
|
+ $stream = $method->getInfo($info['key']);
|
|
|
+ }
|
|
|
+
|
|
|
$rtmp = $method->getRtmp($info['key'], $info['times'] * 3600);
|
|
|
|
|
|
$url = $method->getPlay($info['key']);
|
|
|
|
|
|
- $stream = $method->getInfo($info['key']);
|
|
|
-
|
|
|
$status = array();
|
|
|
$history = array();
|
|
|
|