[JavaScript] HTML5 播放hls流媒体视频流

Posted 浮生若夢♬為歡幾何

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[JavaScript] HTML5 播放hls流媒体视频流相关的知识,希望对你有一定的参考价值。

在最新版的 android webview 中不用任何插件,可以直接播放

在windows10自带的Edge浏览器 可直接播放,PC端 safari浏览器 可直接播放

PC端chrome,IE,Firefox以及集成以上内核的各种浏览器,以及旧版的Android SDK的webview 不能播放

在不能播放的情况下,需要引入hls.js

如下示例:

<template>
  <div class="camera-module">
    <div class="video-view">
      <video ref="video" id="video-rtmp" preload="auto" autoplay="autoplay" muted></video>
    </div>
  </div>
</template>
<script>
  import {getCamera} from ‘../../api/proxyApi‘
  import Hls from ‘hls.js‘
  export default {
    name: ‘CameraModule‘,
    data () {
      return {
        url: ‘‘,
        hls: null
      }
    },
    mounted () {
      getCamera ({
        cameraIndexCode: ‘30615f71e6634fb692eec993aa6c539e‘,
        protocol: ‘hls‘
     }).then(resp => {
       const data = JSON.parse(resp)
       console.log(‘获取监控点视频流URL:‘, data)
       if (data.code === ‘0‘) {
         this.url = data.data.url
       this.$nextTick(() => {
         this.getStream(this.url)
       })
      }
     })
    },
    methods: {
      getStream (url) {
        if (Hls.isSupported()) {
          this.hls = new Hls();
          this.hls.loadSource(url);
          this.hls.attachMedia(this.$refs.video);

          this.hls.on(Hls.Events.MANIFEST_PARSED, () => {
            console.log("加载成功");
            this.$refs.video.play();
          });
          this.hls.on(Hls.Events.ERROR, (event, data) => {
            // console.log(event, data);
            // 监听出错事件
            console.log("加载失败");
          });
        } else if (this.$refs.video.canPlayType(‘application/vnd.apple.mpegurl‘)) {
          // this.$refs.video.src = ‘https://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8‘;
          // this.$refs.video.addEventListener(‘loadedmetadata‘,function() {
          //   this.$refs.video.play();
          // });
        }
      },
      videoPause () {
        if (this.hls) {
          this.$refs.video.pause();
          this.hls.destroy();
          this.hls = null;
        }
      }
    }
  }
</script>

 

以上是关于[JavaScript] HTML5 播放hls流媒体视频流的主要内容,如果未能解决你的问题,请参考以下文章

[JavaScript] HTML5 播放hls流媒体视频流

Video.js HTML5播放器可以播放m3u8播放列表(HLS)?

直播服务器简单实现 http_flv和hls 内网直播桌面

如何在所有PC浏览器中播放HTTP直播(HLS)?

HLTML5播放HLS流(.m3u8文件)出现 跨域访问 No Access-Control-Allow-Origin的解决方案

有没有办法在桌面 Chrome/HTML5 播放器中添加对 HLS 的支持?