x1ongzhu vor 7 Jahren
Ursprung
Commit
f32916122b

+ 0 - 4
src/main/vue/build/webpack.base.conf.js

@@ -69,10 +69,6 @@ module.exports = {
                     limit: 10000,
                     name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
                 }
-            },
-            {
-                test: /\.(swf|ttf|eot|svg|woff(2))(\?[a-z0-9]+)?$/,
-                loader: 'file-loader',
             }
         ]
     },

+ 0 - 3
src/main/vue/src/entries/admin.html

@@ -9,9 +9,6 @@
     <link rel="icon" href="/static/favicon.ico" />
     <script src="/static/polyfill.min.js"></script>
     <script src="/static/fontawesome-v5.2.0.js"></script>
-    <link href="https://vjs.zencdn.net/7.4.1/video-js.css" rel="stylesheet">
-    <script src="https://vjs.zencdn.net/7.4.1/video.js"></script>
-    <script src="https://cdn.jsdelivr.net/npm/videojs-flash@2/dist/videojs-flash.min.js"></script>
 </head>
 
 <body>

+ 1 - 0
src/main/vue/src/entries/admin.js

@@ -8,6 +8,7 @@ import MultiUpload from '../components/MultiUpload'
 import SingleUpload from '../components/SingleUpload'
 import VueI18n from 'vue-i18n'
 import VueAMap from 'vue-amap'
+import 'video.js/dist/video-js.css'
 import 'normalize.css/normalize.css'
 import 'element-ui/lib/theme-chalk/index.css'
 import '../main.less'

+ 9 - 31
src/main/vue/src/pages/PlayerInfos.vue

@@ -178,7 +178,7 @@
                 label="视频地址"
                 min-width="200">
                 <template slot-scope="{row}">
-                    <el-button type="text" size="small" @click="play(row.video)">{{row.video}}</el-button>
+                    <el-button type="text" size="small" @click="download(row.video)">{{row.video}}</el-button>
                 </template>
             </el-table-column>
 
@@ -321,17 +321,12 @@
         <el-dialog title="查看图片" :visible.sync="imageDialogVisible" size="small">
             <img width="100%" :src="imgSrc" alt="">
         </el-dialog>
-        <el-dialog title="查看视频" :visible.sync="videoDialogVisible" size="small" :before-close="beforeVideoClose">
-            <video class="video-js" ref="video"></video>
-        </el-dialog>
     </div>
 </template>
 <script>
     import {mapState} from 'vuex'
     import {format} from 'date-fns'
     import zh from 'date-fns/locale/zh_cn'
-    import videojs from 'video.js'
-    import 'videojs-flash'
 
     export default {
         created() {
@@ -548,9 +543,7 @@
                 advancedQuerySearchKey: '',
                 orderByStr: '',
                 imgSrc: '',
-                imageDialogVisible: false,
-                videoDialogVisible: false,
-                player: null
+                imageDialogVisible: false
             }
         },
         computed: {
@@ -735,30 +728,15 @@
                 this.imgSrc = img;
                 this.imageDialogVisible = true;
             },
-            play(path) {
-                this.videoDialogVisible = true;
-                this.$nextTick(() => {
-                    let url = path.replace("/var", "http://49.4.66.233:8080");
-                    console.log(url);
-                    this.player = videojs(this.$refs.video, {
-                        height: '360',
-                        sources: [{
-                            type: "video/flv",
-                            src: url
-                        }],
-                        techOrder: ['flash'],
-                        autoplay: true,
-                        controls: true
-                    });
-                });
-            },
-            beforeVideoClose(done) {
-                this.player.dispose();
-                done();
+            download(path) {
+                let url = path.replace("/var", "http://49.4.66.233:8080");
+                window.open(url);
             }
         }
     }
 </script>
-<style lang="less" scoped>
-
+<style lang="less">
+    .vjs-tech {
+        object-fit: cover;
+    }
 </style>

+ 5 - 7
src/main/vue/src/pages/VideoTest.vue

@@ -33,15 +33,12 @@
         },
         mounted() {
             this.player = videojs(this.$refs.video, {
-                height: '360',
-                sources: [{
-                    type: "rtmp/flv",
-                    src: this.src
-                }],
+                height: '500',
+                sources: [],
                 techOrder: ['flash'],
                 autoplay: false,
                 controls: true
-            })
+            });
         },
         beforeDestroy() {
             if (this.player && this.player.dispose) {
@@ -55,6 +52,8 @@
         methods: {
             start() {
                 this.starting = true;
+                this.player.src([{type: 'rtmp/flv', src: this.src}]);
+                this.player.play();
                 if (/rtmp:\/\//.test(this.src)) {
                     this.$http.get({
                         url: 'videoRecognition/start',
@@ -64,7 +63,6 @@
                     }).then(res => {
                         this.starting = false;
                         if (res.success) {
-                            this.player.play();
                             this.$message.success('开始识别');
                             let interval = setInterval(() => {
                                 this.$http.get({