zoukankan      html  css  js  c++  java
  • vue-video-player集成videojs-contrib-hls实现.m3u8文件播放

    // 安装依赖
    npm install vue-video-player --save
    npm install videojs-contrib-hls --save
    
    // 在main.js中全局引入
    import VideoPlayer from 'vue-video-player';
    import 'video.js/dist/video-js.css';
    import 'vue-video-player/src/custom-theme.css';
    import videojs from 'video.js';
    window.videojs = videojs;
    require('videojs-contrib-hls/dist/videojs-contrib-hls.js');
    
    Vue.use(VideoPlayer);
    
    //组件中使用
    <template>
      <md-card>
        <md-card-actions>
          <div class="md-subhead">
            <span>HLS Live / 直播</span>
          </div>
          <md-button class="md-icon-button"
                     target="_blank"
                     href="https://github.com/surmon-china/vue-video-player/tree/master/examples/04-video.vue">
            <md-icon>code</md-icon>
          </md-button>
        </md-card-actions>
        <md-card-media>
          <div class="item">
            <div class="player">
              <video-player class="vjs-custom-skin" 
                            :options="playerOptions" 
                            @ready="playerReadied">
              </video-player>
            </div>
          </div>
        </md-card-media>
      </md-card>
    </template>
    
    <script>
      export default {
        data() {
          return {
            playerOptions: {
              // videojs and plugin options
              height: '360',
              sources: [{
                withCredentials: false,
                type: "application/x-mpegURL",
                src: "path-to/playlist.m3u8"
              }],
              controlBar: {
                timeDivider: false,
                durationDisplay: false
              },
              flash: { hls: { withCredentials: false }},
              html5: { hls: { withCredentials: false }},
              poster: "path-to/static/images/surmon-5.jpg"
            }
          }
        },
        methods: {
          playerReadied(player) {
            var hls = player.tech({ IWillNotUseThisInPlugins: true }).hls
            player.tech_.hls.xhr.beforeRequest = function(options) {
              // console.log(options)
              return options
            }
          }
        }
      }
    </script>
    

      

  • 相关阅读:
    js---小火箭回到顶部
    JS小案例--简单时钟
    堆排序以及TopK大顶堆小顶堆求解方式(js版)
    svg-icon
    Vue 点击按钮 触发 input file 选择文件
    图片裁剪放大缩小旋转 Cropper.js
    Cytoscape
    vue d3 force cytoscape
    获取当月多少天
    谷歌打印去页脚
  • 原文地址:https://www.cnblogs.com/ImaY/p/9040162.html
Copyright © 2011-2022 走看看