Преглед на файлове

修复720P合图摄像头拼接问题

Melon преди 1 година
родител
ревизия
122d034083
променени са 6 файла, в които са добавени 36 реда и са изтрити 7 реда
  1. 1 0
      .gitignore
  2. 4 3
      src/device_live.html
  3. 7 3
      src/js/common.js
  4. 6 0
      src/js/config.js
  5. 1 1
      src/js/device_live/index.js
  6. 17 0
      src/js/device_live/video_processor.js

+ 1 - 0
.gitignore

@@ -1 +1,2 @@
 .vscode/settings.json
+src/lib/node_player/0.12.6_test/

+ 4 - 3
src/device_live.html

@@ -27,14 +27,15 @@
     <script src="./lib/jquery/jquery.min.js?v=3.6.4"></script>
     <script src="./lib/layer/layer.js?v=3.5.1"></script>
     <script src="./lib/node_player/0.12.6/NodePlayer.min.js"></script>
+    <script src="./js/config.js?v=202306261420"></script>
     <script src="./i18n/i18n.js?v=202304121630"></script>
     <script src="./js/rpc.js?v=202304121630"></script>
-    <script src="./js/common.js?v=202305191755"></script>
+    <script src="./js/common.js?v=202306261420"></script>
     <script src="./js/resizable_box.js?v=202304111951"></script>
     <script src="./js/device_live/player.js?v=202304111951"></script>
     <script src="./js/device_live/single_fitbox.js?v=202304041502"></script>
-    <script src="./js/device_live/video_processor.js?v=202304041502"></script>
-    <script src="./js/device_live/index.js?v=202305241052"></script>
+    <script src="./js/device_live/video_processor.js?v=202306261420"></script>
+    <script src="./js/device_live/index.js?v=202306261420"></script>
 </body>
 
 </html>

+ 7 - 3
src/js/common.js

@@ -22,11 +22,15 @@ $(function () {
     });
 
     function buildRpc() {
-        var rpc = new JsonRpcClient({
-            host: "http://192.168.6.117:8303/"
-        });
+        var host = getConfig("ServerHost");
+        var rpc = new JsonRpcClient({ host: host });
         return rpc;
     }
+
+    function getConfig(key) {
+        if (!window['__share_configs']) return null;
+        return window['__share_configs'][key];
+    }
 });
 
 function getQueryString(name) {

+ 6 - 0
src/js/config.js

@@ -0,0 +1,6 @@
+; (function (window) {
+    var cfg = {
+        "ServerHost": "http://192.168.6.117:8303/"
+    }
+    window['__share_configs'] = cfg
+})(window);

+ 1 - 1
src/js/device_live/index.js

@@ -116,7 +116,7 @@ function runApp(runtime) {
                     processConfigs.push({ type: "threePart", x: 0.0, y: 2 / 3, w: 1, h: 4 / 27 });
                 }
             } else if (mergeHeight === 720) {
-                processConfigs.push({ type: "threePart", x: 0.0, y: 3 / 4, w: 1, h: 1 / 4 });
+                processConfigs.push({ type: "camera720", x: 0.0, y: 3 / 4, w: 1, h: 1 / 4 });
             }
             if (processConfigs.length > 0) {
                 const videoProcessor = new VideoProcessor(processConfigs);

+ 17 - 0
src/js/device_live/video_processor.js

@@ -327,6 +327,23 @@ class VideoProcessor {
           }
         }
         `;
+      case "camera720":
+        // + 1.0 / 720.0 解决拼接黑线问题
+        return `
+          precision mediump float;
+          varying vec2 v_texCoord;
+          uniform sampler2D u_texture;
+  
+          void main() {
+            if (v_texCoord.y < (1.0 / 2.0)) {
+              vec2 newTexCoord = vec2(v_texCoord.x / 2.0, v_texCoord.y * 2.0 * ${height} + ${offsetY});
+              gl_FragColor = texture2D(u_texture, newTexCoord);
+            } else {
+              vec2 newTexCoord = vec2(v_texCoord.x / 2.0 + 1.0 / 2.0, v_texCoord.y * 2.0 * ${height} + ${offsetY} - 1.0 * ${height} + 1.0 / 720.0 );
+              gl_FragColor = texture2D(u_texture, newTexCoord);
+            }
+          }
+          `;
       default:
         return `
         precision mediump float;