CameraApiController.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: qiuzijian
  5. * Date: 2021-04-25
  6. * Time: 09:53
  7. */
  8. namespace Modules\Camera\Http\Controllers\Api;
  9. use App\Enum\ApiEnum;
  10. use App\Http\Controllers\Api\BaseController;
  11. use Illuminate\Support\Facades\Input;
  12. use Modules\Camera\Enum\CameraEnum;
  13. use Modules\Camera\Services\CameraServices;
  14. use Modules\Mine\Entities\MineListExt;
  15. class CameraApiController extends BaseController
  16. {
  17. /**
  18. * 作者: qiuzijian
  19. * 注释: 获取摄像头列表
  20. * @return \App\Http\Controllers\Api\JsonResponse
  21. */
  22. public function getCamerasList()
  23. {
  24. $parent_id = Input::get('parent_id', '');
  25. $mine_id = Input::get('mine_id', '');
  26. $camera_type = Input::get('camera_type', CameraEnum::CAMERA_TYPE_ALL);
  27. if (!$parent_id) {
  28. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  29. }
  30. //判断是否使用海康视频服务器
  31. $is_hak = MineListExt::where('mine_id', $parent_id)->value('is_hak');
  32. if ($is_hak) {
  33. $result = CameraServices::getHaiKangCamera($parent_id, $mine_id, $camera_type);
  34. } else {
  35. $result = CameraServices::getCameraListByMineId($mine_id, $camera_type);
  36. }
  37. return self::successResponse($result);
  38. }
  39. /**
  40. * 作者: qiuzijian
  41. * 注释: 获取摄像头播放地址
  42. * @return \App\Http\Controllers\Api\JsonResponse
  43. */
  44. public function getCamerasUrl()
  45. {
  46. $parent_id = Input::get('parent_id', '');
  47. $camera_id = Input::get('camera_id', '');
  48. if (!$parent_id || !$camera_id) {
  49. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  50. }
  51. //判断是否使用海康视频服务器
  52. $is_hak = MineListExt::where('mine_id', $parent_id)->value('is_hak');
  53. if ($is_hak) {
  54. $result = CameraServices::getHaiKangCameraUrl($parent_id, $camera_id);
  55. } else {
  56. $result = CameraServices::getCameraUrlByCameraId($camera_id);
  57. }
  58. return self::successResponse($result);
  59. }
  60. /**
  61. * 作者: qiuzijian
  62. * 注释: 停止摄像头推流
  63. * @return \App\Http\Controllers\Api\JsonResponse
  64. */
  65. public function stopCamerasStream()
  66. {
  67. $camera_id = Input::get('camera_id', '');
  68. $result = CameraServices::stopCameraStream($camera_id);
  69. return self::successResponse($result);
  70. }
  71. /**
  72. * 作者: qiuzijian
  73. * 注释: 获取编码设备信息
  74. * @return \App\Http\Controllers\Api\JsonResponse
  75. */
  76. public function getTranscodeInfo()
  77. {
  78. $parent_id = Input::get('parent_id', '');
  79. if (!$parent_id) {
  80. return self::errorResponse(ApiEnum::STATUS_CODE_EMPTY);
  81. }
  82. $result = CameraServices::getHaiKangTransCode($parent_id);
  83. return self::successResponse($result);
  84. }
  85. public function test()
  86. {
  87. $result = CameraServices::getLeChangeCamera();
  88. }
  89. }