|
@@ -396,11 +396,11 @@ class CameraServices
|
|
|
CameraList::where('id', $camera_id)->update(['camera_status' => CameraEnum::CAMERA_STATUS_ONLINE]);
|
|
|
|
|
|
//已有拉流id,直接返回拉流链接
|
|
|
- $has_file = file_exists(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . date('Ymd', time()) . '/' . CameraEnum::M3U8_FILE_NAME);
|
|
|
+ $has_file = file_exists(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . CameraEnum::M3U8_FILE_NAME);
|
|
|
if ($has_file) {
|
|
|
$result['data'] = [
|
|
|
'camera_id' => $camera_id,
|
|
|
- 'url' => env('VIDEO_SYSTEM_URL') . CameraEnum::M3U8_FILE_PATH . $path . '/' . date('Ymd', time()) . '/' . CameraEnum::M3U8_FILE_NAME . '?' . time(),
|
|
|
+ 'url' => env('VIDEO_SYSTEM_URL') . CameraEnum::M3U8_FILE_PATH . $path . '/' . CameraEnum::M3U8_FILE_NAME . '?' . time(),
|
|
|
];
|
|
|
|
|
|
return $result;
|
|
@@ -433,18 +433,18 @@ class CameraServices
|
|
|
|
|
|
$result['data'] = [
|
|
|
'camera_id' => $camera_id,
|
|
|
- 'url' => env('VIDEO_SYSTEM_URL') . CameraEnum::M3U8_FILE_PATH . $path . '/' . date('Ymd', time()) . '/' . CameraEnum::M3U8_FILE_NAME . '?' . time(),
|
|
|
+ 'url' => env('VIDEO_SYSTEM_URL') . CameraEnum::M3U8_FILE_PATH . $path . '/' . CameraEnum::M3U8_FILE_NAME . '?' . time(),
|
|
|
];
|
|
|
|
|
|
//查询是否存在封面图
|
|
|
$cover_picture = CameraList::where('id', $camera_id)->value('cover_picture');
|
|
|
|
|
|
if (!$cover_picture) {
|
|
|
- if (!is_dir('/www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path. '/' . date('Ymd', time()))) {
|
|
|
- mkdir('/www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path. '/' . date('Ymd', time()), 0777, true);
|
|
|
+ if (!is_dir('/www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path)) {
|
|
|
+ mkdir('/www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path, 0777, true);
|
|
|
}
|
|
|
// dd($result_td['content'][0]['url']);
|
|
|
- $exec = 'nohup /usr/bin/ffmpeg -i "' . $query->camera_url . '" -vcodec copy -acodec copy -vbsf h264_mp4toannexb -f hls -hls_flags delete_segments -segment_list_size 10 -hls_list_size 2 /www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path . '/' . date('Ymd', time()). '/' . CameraEnum::M3U8_FILE_NAME . ' >/dev/null &';
|
|
|
+ $exec = 'nohup /usr/bin/ffmpeg -i "' . $query->camera_url . '" -vcodec copy -acodec copy -vbsf h264_mp4toannexb -f hls -hls_flags delete_segments -segment_list_size 10 -hls_list_size 2 /www/wwwroot/video.nxjiewei.com/public/' . CameraEnum::M3U8_FILE_PATH . '/' . $path . '/' . CameraEnum::M3U8_FILE_NAME . ' >/dev/null &';
|
|
|
|
|
|
shell_exec($exec);
|
|
|
|
|
@@ -452,27 +452,27 @@ class CameraServices
|
|
|
$i = 1;
|
|
|
while ($i <= 10) {
|
|
|
//判断m3u8文件是否存在
|
|
|
- $file_exists = file_exists(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . date('Ymd', time()). '/' . CameraEnum::M3U8_FILE_NAME);
|
|
|
+ $file_exists = file_exists(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . CameraEnum::M3U8_FILE_NAME);
|
|
|
|
|
|
//判断ts文件是否存在
|
|
|
- $ts_exists = glob(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . date('Ymd', time()). '/' . CameraEnum::TS_FILE_SUFFIX);
|
|
|
+ $ts_exists = glob(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . CameraEnum::TS_FILE_SUFFIX);
|
|
|
|
|
|
if ($file_exists && $ts_exists) {
|
|
|
|
|
|
//获取第一帧作为封面图
|
|
|
$file_name = time() . CameraEnum::COVER_PICTURE_NAME;
|
|
|
|
|
|
- $cover_exec = 'ffmpeg -i ' . public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . date('Ymd', time()). '/' . CameraEnum::M3U8_FILE_NAME . ' -vf "select=between(mod(n\, 25)\, 0\, 0), setpts=N/24/TB" ' . public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . $file_name;
|
|
|
+ $cover_exec = 'ffmpeg -i ' . public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . CameraEnum::M3U8_FILE_NAME . ' -vf "select=between(mod(n\, 25)\, 0\, 0), setpts=N/24/TB" ' . public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . $file_name;
|
|
|
exec($cover_exec);
|
|
|
|
|
|
//判断图片是否存在
|
|
|
- $picture_exists = file_exists(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . date('Ymd', time()). '/' . $file_name);
|
|
|
+ $picture_exists = file_exists(public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . $file_name);
|
|
|
|
|
|
if ($picture_exists) {
|
|
|
$cms = new CameraServices();
|
|
|
|
|
|
//上传图片到oss并更新数据库
|
|
|
- $picture_path = $cms->uploadOssFile($file_name, public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/' . date('Ymd', time()). '/');
|
|
|
+ $picture_path = $cms->uploadOssFile($file_name, public_path() . '/' . CameraEnum::M3U8_FILE_PATH . $path . '/');
|
|
|
|
|
|
CameraList::where('id', $camera_id)->update(['cover_picture' => $picture_path]);
|
|
|
}
|