angular中直播页面的制作(二)

在上一篇文章讲到,在angular中使用ckPlayer播放器,由于ckPlayer自身插件的问题不能满足我的需求,那么在这一篇,我将会讲解如何在angular中使用video.js播放rtmp视频。

Video.js是一款web视频播放器,支持html5和flash两种播放方式。更有自定义皮肤,插件,组件,语言还丰富的选项配置。值得注意的是在最新版的Video.js,分为video.js和videojs-flash两个包,一定要都下载下来,才能播放rtmp格式的视频流。

Video.js的引入方式

  1. index.html中引入

    <link href="https://vjs.zencdn.net/7.8.2/video-js.css" rel="stylesheet" />
    
    <script src="https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script>
    
    <script src="https://cdn.jsdelivr.net/npm/videojs-flash@2/dist/videojs-flash.min.js"></script>

   2.在angular.json中引入,网络是不稳定的因素很多,还是比较建议下载文件到本地

(1)把解压后的包文件放到assets文件下

(2)在angular.json中引入文件,效果等同于在index.html中用script标签引入

(3)在src文件夹下建一个typings.d.ts文件,全局声明变量

declare var videojs: any;

(4)在播放页面使用Video.js

 <video 
  id="myVideo" 
  class="video-js vjs-big-play-centered video" 
  controls 
  preload="auto"
  data-setup='{}'>
</video>
createVideo() {
      let options = {
      controls: 'control',
      preload: 'auto',
      autoplay: true,
      controlBar: {//这里是关于控制栏的配置项
          volumeBar: false,
          currentTimeDisplay:false,
          timeDivider:false,
          durationDisplay:false,
          remainingTimeDisplay:false,
          volumePanel: false,
          progressControl: false,
          disablePictureInPicture: true
      },
      sources:[ // 视频源
        {
          src: 'rtmp://58.200.131.2:1935/livetv/hunantv',
          type: 'rtmp/flv'
        }
      ]
    };

    let id = 'myVideo';
    let ele = this.el.nativeElement.querySelector('#' + id);
    if(!ele) {
      return false;
    } 
    this.videoFlash = videojs(ele, options , function() {
      setTimeout(function () {
        that.videoFlash.play();
    }, 2000);
    });
}

 同样在播放视频时,一定要在ngAfterViewInit生命周期里调用,太早调用,dom元素没有挂载成功,会获取不到播放容器也会造成视频播放失败。 

在接下来的篇章里,我会继续讲述关于rtmp视频流播放的更多细节内容,希望大家多多关注

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值