|
@@ -971,14 +971,32 @@ class CameraServices
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
- //海康获取回放rtsp流
|
|
|
- public static function getPlaybackUrl($camera_id,$start_time,$end_time)
|
|
|
+ //海康ffmpeg获取回放rtmp流
|
|
|
+ public static function getPlaybackRtmp($camera_id,$start_time,$end_time)
|
|
|
{
|
|
|
+ $result['status'] = true;
|
|
|
+ $result['msg'] = ApiEnum::RETURN_SUCCESS;
|
|
|
+
|
|
|
$query = CameraList::where('id', $camera_id)->first();
|
|
|
|
|
|
$degree = MineList::where('id', $query->mine_id)->value('degree');
|
|
|
$degree = explode('|', $degree)[0];
|
|
|
|
|
|
+ $path = '';
|
|
|
+ foreach ($degree as $key => $val) {
|
|
|
+ $path .= MineList::where('id', $val)->value('title') . '/';
|
|
|
+ }
|
|
|
+ $path .= $query->camera_name . '/回放/' . date('Ymd');
|
|
|
+
|
|
|
+ //如果m3u8文件已拉取,直接返回播放链接
|
|
|
+ if ($query->revert_id == CameraEnum::CAMERA_FILE_EXIST) {
|
|
|
+ $result['data'] = [
|
|
|
+ 'camera_id' => $camera_id,
|
|
|
+ 'url' => env('VIDEO_SYSTEM_URL') . CameraEnum::M3U8_FILE_PATH . '/' . $path . '/' . CameraEnum::M3U8_FILE_NAME . '?' . time(),
|
|
|
+ ];
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+
|
|
|
$mine_ext = DB::table('mine_list_ext')->where('mine_id',$degree)->get();
|
|
|
|
|
|
Input::replace(
|
|
@@ -993,10 +1011,71 @@ class CameraServices
|
|
|
);
|
|
|
|
|
|
$haikang = new HaiKangController();
|
|
|
- $result = $haikang->getPlaybackUrl();
|
|
|
+ $result_hk = $haikang->getPlaybackRtmp();
|
|
|
+
|
|
|
+ if ($result_hk['content']['data']['url']) {
|
|
|
+ $res = self::getVideoStream($result_hk['data']['url'], $path, $camera_id);
|
|
|
+ $result['data'] = $res['data'];
|
|
|
+ } else {
|
|
|
+ $result['status'] = false;
|
|
|
+ $result['msg'] = ApiEnum::HK_REQUEST_FAIL;
|
|
|
+ }
|
|
|
+
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
+ //海康(宁煤集团)获取回放rtsp流
|
|
|
+ public static function getPlaybackRtsp($camera_id,$start_time,$end_time)
|
|
|
+ {
|
|
|
+ $query = CameraList::where('id', $camera_id)->first();
|
|
|
+
|
|
|
+ $degree = MineList::where('id', $query->mine_id)->value('degree');
|
|
|
+ $degree = explode('|', $degree)[0];
|
|
|
+
|
|
|
+ $mine_ext = DB::table('mine_list_ext')->where('mine_id',$degree)->get();
|
|
|
+
|
|
|
+ Input::replace(
|
|
|
+ [
|
|
|
+ 'url' => trim($mine_ext[0]->ip, '/') . ':' . $mine_ext[0]->port,
|
|
|
+ 'key' => $mine_ext[0]->key,
|
|
|
+ 'secret' => $mine_ext[0]->secret,
|
|
|
+ 'camera_id' => $camera_id,
|
|
|
+ 'start_time' => $start_time,
|
|
|
+ 'end_time' => $end_time,
|
|
|
+ ]
|
|
|
+ );
|
|
|
+
|
|
|
+ $haikang = new HaiKangController();
|
|
|
+ $result = $haikang->getPlaybackRtsp();
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
+
|
|
|
+ //海康ffmpeg获取回放rtmp流
|
|
|
+// public static function getPlaybackRtmp($camera_id,$start_time,$end_time)
|
|
|
+// {
|
|
|
+// $query = CameraList::where('id', $camera_id)->first();
|
|
|
+//
|
|
|
+// $degree = MineList::where('id', $query->mine_id)->value('degree');
|
|
|
+// $degree = explode('|', $degree)[0];
|
|
|
+//
|
|
|
+// $mine_ext = DB::table('mine_list_ext')->where('mine_id',$degree)->get();
|
|
|
+//
|
|
|
+// Input::replace(
|
|
|
+// [
|
|
|
+// 'url' => trim($mine_ext[0]->ip, '/') . ':' . $mine_ext[0]->port,
|
|
|
+// 'key' => $mine_ext[0]->key,
|
|
|
+// 'secret' => $mine_ext[0]->secret,
|
|
|
+// 'camera_id' => $camera_id,
|
|
|
+// 'start_time' => $start_time,
|
|
|
+// 'end_time' => $end_time,
|
|
|
+// ]
|
|
|
+// );
|
|
|
+//
|
|
|
+// $haikang = new HaiKangController();
|
|
|
+// $result = $haikang->getPlaybackRtmp();
|
|
|
+// return $result;
|
|
|
+// }
|
|
|
+
|
|
|
//根据摄像头id获取摄像头播放链接
|
|
|
public static function getRtspHaiKang($camera_id,$parent_id)
|
|
|
{
|