• 使用原生video实现直播


    video标签是不能直接使用直播流的来播放的,需要使用hls转码过后才能播放

    hls.js是一个可以实现HTTP实时流媒体客户端的js库,依赖于video标签和Media Source ExtensionsAPI,它的工作原理是将MPEG2传输流和AAC/MP3流转换成ISO BMFF (MP4)片段

    优点: 原生开发引用的包比较少且体积小,很纯净,可以自定义UI和功能,更专注于HLS协议流,只支持HLS
    缺点: 如果对UI要求高的话实现起来比较繁琐,功能上也需要自己调API实现

    安装

    CDN:
    <script src="https://cdn.jsdelivr.net/hls.js/latest/hls.min.js"></script>  
    
    NPM:
    npm install hls.js --save

    使用

    // html
    <!--x5-video-player-fullscreen="true" 是用于微信浏览器兼容使用的 -->
    <video class="video" ref="video-player" controls playsinline x5-video-player-fullscreen="true" preload="auto"></video>
    
    // js
    methods: {
    	initVideo(){
          let _this = this;
          _this.$nextTick(() => {
            _this.videoPlayer = _this.$refs.video-player;
            console.log(_this.videoPlayer);
            if(Hls.isSupported()) {
              let hls = new Hls();
              hls.loadSource('https://live.cgtn.com/1000/prog_index.m3u8'); // 直播流地址
              hls.attachMedia(video);
              hls.on(Hls.Events.MANIFEST_PARSED,function() {
                // 成功
                _this.videoPlayer.play();
              });
               hls.on(Hls.Events.ERROR, (event, data) => {
                // 失败
                console.log(event, data)
              });
            }
          });
        },
    }
    虚心求教
  • 相关阅读:
    mysql优化技巧
    ffmpeg3.3.2命令行参数笔记
    redis性能指标
    linux下ifconfig只剩下lo的解决方法
    symfony3 yml配置文件详解
    pt工具校验主从数据一致性之dsns方式
    K8S(01)二进制部署实践-1.15.5
    K8s之配置文件kube config生成
    [转]CA认证原理及CFSSL证书生成工具的使用
    K8s集成实战-使用spinnaker进行自动化部署
  • 原文地址:https://www.cnblogs.com/yangchin9/p/14931357.html
Copyright © 2020-2023  润新知