فهرست منبع

添加后台摄像头码流选择

qiuzijian 3 سال پیش
والد
کامیت
80ee8880a1

+ 49 - 63
.idea/workspace.xml

@@ -2,6 +2,7 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="b5beace6-e4f4-419b-8299-c67e17af5998" name="Default Changelist" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/CameraController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/CameraController.php" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" afterDir="false" />
@@ -20,8 +21,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="592">
-              <caret line="84" column="21" selection-start-line="84" selection-start-column="10" selection-end-line="84" selection-end-column="21" />
+            <state relative-caret-position="550">
+              <caret line="96" column="27" selection-start-line="96" selection-start-column="10" selection-end-line="96" selection-end-column="27" />
             </state>
           </provider>
         </entry>
@@ -29,8 +30,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/CameraController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="335">
-              <caret line="86" column="46" selection-start-line="86" selection-start-column="46" selection-end-line="86" selection-end-column="46" />
+            <state relative-caret-position="2762">
+              <caret line="224" column="30" selection-start-line="224" selection-start-column="30" selection-end-line="224" selection-end-column="30" />
               <folding>
                 <element signature="e#51#107#0#PHP" expanded="true" />
               </folding>
@@ -38,23 +39,11 @@
           </provider>
         </entry>
       </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="606">
-              <caret line="47" column="50" lean-forward="true" selection-start-line="47" selection-start-column="50" selection-end-line="47" selection-end-column="50" />
-              <folding>
-                <element signature="e#141#162#0#PHP" expanded="true" />
-              </folding>
-            </state>
-          </provider>
-        </entry>
-      </file>
       <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="223">
-              <caret line="283" column="24" selection-start-line="283" selection-start-column="24" selection-end-line="283" selection-end-column="24" />
+            <state relative-caret-position="477">
+              <caret line="158" column="58" selection-start-line="158" selection-start-column="58" selection-end-line="158" selection-end-column="58" />
               <folding>
                 <element signature="e#129#150#0#PHP" expanded="true" />
               </folding>
@@ -63,15 +52,6 @@
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/Modules/Camera/Entities/CameraList.php">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="105">
-              <caret line="6" column="12" selection-start-line="6" selection-start-column="12" selection-end-line="6" selection-end-column="12" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/web.php">
           <provider selected="true" editor-type-id="text-editor">
             <state relative-caret-position="231">
@@ -84,7 +64,6 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>mkdir</find>
       <find>CameraDownload</find>
       <find>redis</find>
       <find>getRegionsList</find>
@@ -114,6 +93,7 @@
       <find>getCamerasUrl</find>
       <find>camera_source</find>
       <find>data-href</find>
+      <find>getCamerasList</find>
     </findStrings>
   </component>
   <component name="Git.Settings">
@@ -122,7 +102,6 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/resources/lang/en/auth.php" />
         <option value="$PROJECT_DIR$/Modules/Admin/Http/Controllers/LoginController.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_04_26_024115_add_sort_to_camera_list_table.php" />
         <option value="$PROJECT_DIR$/storage/logs/laravel-2021-04-26.log" />
@@ -163,15 +142,16 @@
         <option value="$PROJECT_DIR$/Modules/Admin/Database/Seeders/AdminDatabaseSeeder.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php" />
         <option value="$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php" />
-        <option value="$PROJECT_DIR$/Modules/Camera/Entities/CameraList.php" />
         <option value="$PROJECT_DIR$/app/Http/Controllers/TestsController.php" />
         <option value="$PROJECT_DIR$/.env" />
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Jobs/CameraListExcel.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_08_02_074532_add_is_show_to_camera_list.php" />
-        <option value="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" />
         <option value="$PROJECT_DIR$/storage/logs/laravel-2021-08-02.log" />
+        <option value="$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_08_05_095128_add_code_stream_to_camera_list.php" />
+        <option value="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/CameraController.php" />
+        <option value="$PROJECT_DIR$/Modules/Camera/Entities/CameraList.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" />
       </list>
     </option>
@@ -438,7 +418,7 @@
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="332822000" />
+    <option name="totallyTimeSpent" value="336985000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="0" width="1440" height="900" extended-state="0" />
@@ -469,7 +449,6 @@
     <option name="version" value="1" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_05_26_020632_add_field_to_camera_list_0526.php" />
     <entry file="file://$PROJECT_DIR$/Modules/Mine/Entities/MineListExt.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="21">
@@ -743,13 +722,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/api.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="147">
-          <caret line="16" column="30" selection-start-line="16" selection-start-column="17" selection-end-line="16" selection-end-column="30" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Jobs/CameraListExcel.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="142">
@@ -757,13 +729,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_08_02_074532_add_is_show_to_camera_list.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="294">
-          <caret line="16" column="75" selection-start-line="16" selection-start-column="75" selection-end-line="16" selection-end-column="75" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Admin/Http/Controllers/BaseController.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="617">
@@ -784,51 +749,72 @@
     <entry file="file://$PROJECT_DIR$/storage/logs/laravel-2021-08-02.log">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/CameraController.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/web.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="335">
-          <caret line="86" column="46" selection-start-line="86" selection-start-column="46" selection-end-line="86" selection-end-column="46" />
-          <folding>
-            <element signature="e#51#107#0#PHP" expanded="true" />
-          </folding>
+        <state relative-caret-position="231">
+          <caret line="20" column="33" selection-start-line="20" selection-start-column="16" selection-end-line="20" selection-end-column="33" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/api.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="231">
+          <caret line="20" column="86" selection-start-line="20" selection-start-column="86" selection-end-line="20" selection-end-column="86" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="606">
-          <caret line="47" column="50" lean-forward="true" selection-start-line="47" selection-start-column="50" selection-end-line="47" selection-end-column="50" />
+        <state relative-caret-position="221">
+          <caret line="28" column="25" selection-start-line="28" selection-start-column="25" selection-end-line="28" selection-end-column="25" />
           <folding>
             <element signature="e#141#162#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/web.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_08_02_074532_add_is_show_to_camera_list.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="231">
-          <caret line="20" column="33" selection-start-line="20" selection-start-column="16" selection-end-line="20" selection-end-column="33" />
+        <state relative-caret-position="273">
+          <caret line="15" column="34" selection-start-line="15" selection-start-column="23" selection-end-line="15" selection-end-column="34" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_08_05_095128_add_code_stream_to_camera_list.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="546">
+          <caret line="28" column="46" selection-start-line="28" selection-start-column="46" selection-end-line="28" selection-end-column="46" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="592">
-          <caret line="84" column="21" selection-start-line="84" selection-start-column="10" selection-end-line="84" selection-end-column="21" />
+        <state relative-caret-position="550">
+          <caret line="96" column="27" selection-start-line="96" selection-start-column="10" selection-end-line="96" selection-end-column="27" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Entities/CameraList.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="105">
-          <caret line="6" column="12" selection-start-line="6" selection-start-column="12" selection-end-line="6" selection-end-column="12" />
+          <caret line="6" column="6" selection-start-line="6" selection-start-column="6" selection-end-line="6" selection-end-column="6" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/CameraController.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2762">
+          <caret line="224" column="30" selection-start-line="224" selection-start-column="30" selection-end-line="224" selection-end-column="30" />
+          <folding>
+            <element signature="e#51#107#0#PHP" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="223">
-          <caret line="283" column="24" selection-start-line="283" selection-start-column="24" selection-end-line="283" selection-end-column="24" />
+        <state relative-caret-position="477">
+          <caret line="158" column="58" selection-start-line="158" selection-start-column="58" selection-end-line="158" selection-end-column="58" />
           <folding>
             <element signature="e#129#150#0#PHP" expanded="true" />
           </folding>

+ 32 - 0
Modules/Camera/Database/Migrations/2021_08_05_095128_add_code_stream_to_camera_list.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class AddCodeStreamToCameraList extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('camera_list', function (Blueprint $table) {
+            $table->tinyInteger('code_stream')->after('is_show')->default('1')->comment('视频码流 1:子码流 2:主码流');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('camera_list', function (Blueprint $table) {
+            $table->dropColumn('code_stream');
+        });
+    }
+}

+ 14 - 0
Modules/Camera/Enum/CameraEnum.php

@@ -84,4 +84,18 @@ class CameraEnum
     //摄像头是否显示
     const IS_SHOW_YES = 1;  //显示
     const IS_SHOW_NO  = 2;  //隐藏
+
+    //视频码流
+    const CODE_STREAM_SUB  = '1';  //子码流
+    const CODE_STREAM_MAIN = '2';  //主码流
+
+    const CODE_STREAM_EXCHANGE = [
+        self::CODE_STREAM_SUB  => '子码流',
+        self::CODE_STREAM_MAIN => '主码流',
+    ];
+
+    const CODE_STREAM_TRANS = [
+        self::CODE_STREAM_SUB  => 'sub',
+        self::CODE_STREAM_MAIN => 'main',
+    ];
 }

+ 10 - 0
Modules/Camera/Http/Controllers/CameraController.php

@@ -167,6 +167,7 @@ class CameraController extends BaseController
         $formObj->input('ip', 'ip地址');
         $formObj->input('port', '端口');
         $formObj->input('com_number', '通道号');
+        $formObj->select('code_stream', '视频码流', CameraEnum::CODE_STREAM_EXCHANGE, CameraEnum::CODE_STREAM_SUB);
         $formObj->input('sort', '排序', CameraEnum::DEFAULT_SORT);
         $formObj->title = '添加请求链接';
         return $this->from($formObj);
@@ -196,6 +197,10 @@ class CameraController extends BaseController
             return $this->error(1, '请输入必填字段');
         }
 
+        if (!$request->input('code_stream')) {
+            return $this->error(1, '请选择视频码流类型');
+        }
+
         $result = CameraServices::addCameraList($request->all());
 
         if (!$result['status']) {
@@ -250,6 +255,7 @@ class CameraController extends BaseController
         $formObj->input('ip', 'ip地址');
         $formObj->input('port', '端口');
         $formObj->input('com_number', '通道号');
+        $formObj->select('code_stream', '视频码流', CameraEnum::CODE_STREAM_EXCHANGE);
         $formObj->input('sort', '排序');
         $formObj->select('surface_id', '所属矿区区域', $surface_arr, $default_surface);
         $formObj->title = '编辑请求链接';
@@ -275,6 +281,10 @@ class CameraController extends BaseController
             return $this->error(1, '请输入摄像头链接');
         }
 
+        if (!$request->input('code_stream')) {
+            return $this->error(1, '请选择视频码流类型');
+        }
+
 //        if (
 //            !$request->input('ip') || !$request->input('port') || !$request->input('user_name')
 //            || !$request->input('password') ||!$request->input('com_number')

+ 9 - 2
Modules/Camera/Services/CameraServices.php

@@ -70,6 +70,7 @@ class CameraServices
                 'sort'          => $params['sort'],
                 'camera_type'   => $params['camera_type'],
                 'camera_source' => $params['camera_source'],
+                'code_stream'   => $params['code_stream'],
                 'created_at'    => date('Y-m-d H:i:s'),
                 'updated_at'    => date('Y-m-d H:i:s'),
             ]
@@ -86,11 +87,16 @@ class CameraServices
     //生成摄像头请求链接
     public static function makeCameraUrl($params)
     {
+        if (isset($params['code_stream'])) {
+            $code_stream = CameraEnum::CODE_STREAM_TRANS[$params['code_stream']];
+        } else {
+            $code_stream = 'sub';
+        }
+
         if ($params['user_name'] && $params['password'] && $params['ip'] && $params['port'] && $params['com_number']) {
             $url  = 'rtsp://' . $params['user_name'] . ':' . $params['password'] . '@';
             $url .= $params['ip'] . ':' . $params['port'] . '/' . 'h264' . '/' . 'ch' . $params['com_number'] . '/';
-            $url .= 'sub/av_stream';     //sub 子码流
-//        $url .= 'main/av_stream';  //main 主码流
+            $url .= $code_stream . '/av_stream';  //sub 子码流 main 主码流
         } else {
             $url = '';
         }
@@ -150,6 +156,7 @@ class CameraServices
                 'sort'          => $params['sort'],
                 'camera_type'   => $params['camera_type'],
                 'camera_source' => $params['camera_source'],
+                'code_stream'   => $params['code_stream'],
                 'updated_at'    => date('Y-m-d H:i:s'),
             ]
         );