guhongwei 4 anni fa
parent
commit
6cee67dd37
4 ha cambiato i file con 48 aggiunte e 15 eliminazioni
  1. 1 1
      .env
  2. 19 1
      package-lock.json
  3. 1 0
      package.json
  4. 27 13
      src/views/live/detail.vue

+ 1 - 1
.env

@@ -1,3 +1,3 @@
 VUE_APP_AXIOS_BASE_URL = ''
 VUE_APP_ROUTER="/platmobile"
-VUE_APP_LIVE_URL='rtmp://124.71.143.119/live/'
+VUE_APP_LIVE_URL='http://124.71.143.119/live?port=1935&app=live&stream='

+ 19 - 1
package-lock.json

@@ -1,5 +1,4 @@
 {
-  "name": "mobile-official",
   "version": "0.1.0",
   "lockfileVersion": 1,
   "requires": true,
@@ -4662,6 +4661,11 @@
       "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.5.14.tgz",
       "integrity": "sha512-7SwlpL+2JpymWTt8sNLuC2zdhhc+wrfe5cMPI2j0o6WsPdfAiPwmFy2f0AocPB4RQVBOZ9kNTgi5YF7TdhkvEg=="
     },
+    "es6-promise": {
+      "version": "4.2.8",
+      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+      "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
+    },
     "escalade": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -5425,6 +5429,15 @@
         "readable-stream": "^2.3.6"
       }
     },
+    "flv.js": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/flv.js/-/flv.js-1.5.0.tgz",
+      "integrity": "sha512-7tFwccqkFXpA7RIED0KvuNny2qVnpuGc5nTGsRpzrCT+qtwIaZyciK5UgyvgtlAMYaPFzYS0wdI92JiSBKOyXw==",
+      "requires": {
+        "es6-promise": "^4.2.5",
+        "webworkify": "^1.5.0"
+      }
+    },
     "follow-redirects": {
       "version": "1.5.10",
       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
@@ -12095,6 +12108,11 @@
       "resolved": "https://registry.npmjs.org/webwackify/-/webwackify-0.1.6.tgz",
       "integrity": "sha512-pGcw1T3HpNnM/UTRQqqRkkkzythSLts05mB+7Gr00B+0VbL0m39dFL5g20rSIEUt9Wrpw+/8k+snxRlUFHhcqA=="
     },
+    "webworkify": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz",
+      "integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g=="
+    },
     "which": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",

+ 1 - 0
package.json

@@ -12,6 +12,7 @@
     "axios": "^0.19.2",
     "core-js": "^3.6.4",
     "element-ui": "^2.13.2",
+    "flv.js": "^1.5.0",
     "jsonwebtoken": "^8.5.1",
     "loadsh": "0.0.4",
     "lodash": "^4.17.15",

+ 27 - 13
src/views/live/detail.vue

@@ -5,7 +5,18 @@
         <el-col :span="24" class="video">
           <el-col :span="24" class="top">
             <span v-if="dockInfo.room_id == '1006'">
-              <div id="ckplayera" class="h5video active"></div>
+              <video
+                id="videoElement"
+                autoplay="autoplay"
+                controls="controls"
+                preload="meta"
+                x-webkit-airplay="true"
+                webkit-playsinline="true"
+                playsinline="true"
+                x5-video-player-type="h5"
+                x5-video-player-fullscreen="true"
+                class="h5video"
+              ></video>
             </span>
             <span v-else>
               <video
@@ -78,6 +89,7 @@ import jbft from './parts/jbft.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: dock } = createNamespacedHelpers('dock');
 import moment from 'moment';
+import flvjs from 'flv.js';
 export default {
   metaInfo() {
     return { title: this.$route.meta.title };
@@ -115,7 +127,9 @@ export default {
     }
     await this.search();
     await this.seachtVideo();
-    this.ckplayerb();
+    this.$nextTick(() => {
+      this.searchLive();
+    });
   },
   methods: {
     ...dock({ dockQuery: 'query', dockFetch: 'fetch' }),
@@ -172,18 +186,18 @@ export default {
     back() {
       this.$router.push({ path: '/live/index' });
     },
-    ckplayerb() {
+    searchLive() {
+      let player = document.getElementById('videoElement');
       let rmtpUrl = `${process.env.VUE_APP_LIVE_URL + this.dockInfo.room_id}`;
-      setTimeout(function() {
-        var videoObjects = {
-          container: '#ckplayera',
-          variable: 'player',
-          autoplay: true,
-          live: true,
-          video: rmtpUrl,
-        };
-        let player = new ckplayer(videoObjects);
-      }, 2);
+      if (flvjs.isSupported()) {
+        var flvPlayer = flvjs.createPlayer({
+          isLive: true,
+          type: 'flv',
+          url: rmtpUrl,
+        });
+        flvPlayer.attachMediaElement(player);
+        flvPlayer.load(); //加载
+      }
     },
   },
   computed: {