one($id); $config = Dever::db('live/info')->one($info['live_id']); $method = $this->method($config); $stream = $method->start($info['key']); } # 禁播 public function stop($id) { $info = Dever::db('live/stream')->one($id); $config = Dever::db('live/info')->one($info['live_id']); $method = $this->method($config); $stream = $method->stop($info['key']); } # 初始化流 public function init($id, $name = '') { $info = Dever::db('live/stream')->one($id); if ($info['url_rtmp']) { return; } if ($name) { $info['key'] = $name; } $config = Dever::db('live/info')->one($info['live_id']); $method = $this->method($config); $stream = $method->create($info['key']); $rtmp = $method->getRtmp($info['key'], $info['times'] * 3600); $url = $method->getPlay($info['key']); $data['where_id'] = $id; $data['live'] = $rtmp; $data['url_rtmp'] = $url['rtmp']; $data['url_hls'] = $url['hls']; $data['url_hdl'] = $url['hdl']; $data['url_pic'] = $url['pic']; $live['info'] = $stream; $data['info'] = Dever::json_encode($live); Dever::db('live/stream')->update($data); return $data; } # 获取流信息 定时跑 public function get($id) { $info = Dever::db('live/stream')->one($id); $config = Dever::db('live/info')->one($info['live_id']); $method = $this->method($config); $rtmp = $method->getRtmp($info['key'], $info['times'] * 3600); $url = $method->getPlay($info['key']); $stream = $method->getInfo($info['key']); $live = $method->getLiveStatus($info['key']); $hitory = $method->history($info['key']); $data['where_id'] = $id; $data['live'] = $rtmp; $data['url_rtmp'] = $url['rtmp']; $data['url_hls'] = $url['hls']; $data['url_hdl'] = $url['hdl']; $data['url_pic'] = $url['pic']; $live = Dever::json_decode($info['info']); $live['info'] = $stream; $live['live'] = $live; $live['hitory'] = $history; $data['info'] = Dever::json_encode($live); Dever::db('live/stream')->update($data); return $data; } }