flv流视频播放插件及使用

1、b站flv.js的下载使用

npm install --save flv.js
<template>
 <!-- muted 静音-- 解决flvjs在有音频的情况下不能自动播放 -->
 <video id="videoElement" muted autoplay></video>
</template>
<script>
import flvjs from 'flv.js/dist/flv.min.js';

export default {
   data() {
        return{
         videoUrl:'xxxxx'
      }
    }
    mounted(){
    this.$nextTick(() => {
      this.createVideo();
    });    
  },
  methods: {
    createVideo(){
      if (flvjs.isSupported()) {
        var videoElement = document.getElementById('videoElement')
        var flvPlayer = flvjs.createPlayer({        // 创建实例
          type: 'flv',
          url: this.videoUrl,
          isLive: true,
          hasAudio: false  // 禁止音频
        })
        flvPlayer.attachMediaElement(videoElement)  // 挂载元素
        flvPlayer.load()                            // 加载视频流
        flvPlayer.play()                            // 播放视频流
      } 
    }
  },
};
</script>

来自:https://blog.csdn.net/weixin_43988812/article/details/108125030?spm=1001.2014.3001.5506

flvjs追帧,断流重连优化: 

https://blog.csdn.net/HJFQC/article/details/113188241

 2、flv-extend的下载使用

 flv-extend底层还是flvjs,针对flvjs做了优化(追帧、断流重连等)

 安装及使用

npm install flv-extend -S


<template>
 <!-- muted 静音-- 解决flvjs在有音频的情况下不能自动播放 -->
 <video id="videoElement" muted autoplay></video>
</template>
<script>
import FlvExtend from 'flv-extend'

export default {
   data() {
        return{
         videoUrl:'xxxxx'
      }
    }
    mounted(){
    this.$nextTick(() => {
      this.createVideo();
    });    
  },
  methods: {
    createVideo(){
      if (flvjs.isSupported()) {
        const videoElement = document.getElementById('videoElement');
        // 配置需要的功能
        const flv = new FlvExtend({
          element: videoElement, // *必传
          frameTracking: true, // 开启追帧设置
          updateOnStart: true, // 点击播放后更新视频
          updateOnFocus: true, // 获得焦点后更新视频
          reconnect: true, // 开启断流重连
          reconnectInterval: 0, // 断流重连间隔
          trackingDelta: 1, // 追帧最大延迟,延迟超过1s即开启追帧
          showLog: false    // 是否显示插件的log信息
        });
        // 调用 init 方法初始化视频
        // init 方法的参数与 flvjs.createPlayer 相同,并返回 flvjs.player 实例
        const player = flv.init(
          {
            type: 'flv',
            url: this.videoUrl,
            isLive: true,
            hasAudio: false
          },
          {
            enableStashBuffer: false, // 如果您需要实时(最小延迟)来进行实时流播放,则设置为false
            autoCleanupSourceBuffer: true, // 对SourceBuffer进行自动清理
            stashInitialSize: 128, // 减少首帧显示等待时长
            enableWorker: true // 启用分离的线程进行转换
          }
        );
          // 直接调用play即可播放
        player.play();
      }
    }
  },
};
</script>

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这里只说flv格式和mp3格式的播放器,我提供了flv和mp3播放器的文件,也包括播放器模板的flash源文件,并交给大家替换,看图,这个播放器是用的叫做“jw flv player的播放器,该播放器已经升级到了5.0了。大家可以在百度搜一下,youtobe用的就是他的播放器。但是自从4.3版本以后,播放器点击开始的时候就开始有了一个很“漂亮的”小广告,但是5.0就是清晰啊,没办法,就用5.0了。 这个jw播放器很有研究价值,有兴趣的朋友研究吧。    其实v6其他格式的播放器都是调用windows的wmp播放器,没什么太大意思,新浪一些大的门户支持多格式那是因为新浪采用上传后在服务器上进行在线格式转换神奇的功能,最终都生成flv格式。因为flv播放器只要安装了flash player插件就能播放。我想大家用在线格式转换功能的话,不被空间商K掉才怪,格式转换那是相当浪费cpu和内存滴 ,鱼与熊掌不可兼得啊!!!这里不介绍了,    因为个人原因,本人不准备让会员上传其他格式的视频,我在player.js里面,把其他格式的调用都删掉了,如果想保留的用户就得自己琢磨一下了。而且覆盖前备份player.js和palyer.swf哦 。菜鸟要想能修改,也要拿出玩命的精神。    还有一个亮点就是在播放视频的时候,视频暂停或是停止后都会有视频列表哦,(有了门户网站的风范了!!!),视频的连接是在relatedclips.xml这个文件里事先设定好的。而且要放在网站根目录。    而另一个亮点就是mp3文件播放时有随机魔幻可视化效果哦,这两个亮点些都是通过jw的插件实现的,大家也去jw官方研究一下插件和模板。它是开源的 flv播放中 mp3播放flv播放暂停或停止状态 看见播放列表了吗?哈哈,那上面有一个红杠,那是我加上去的,因为我要准吧我把网站漂亮的logo放上去,哈哈,我也给大家提供模板flash源文件哦。 player.swf是flv格式的flash文件    版本用的是jw flv player 5.0版本 modieus.swf是flv格式的模板文件 grayskin.swf是flv格式停止时的播放列表插件flash文件 mp3player.swf 是mp3播放时的flash文件  版本用的是jw flv player4.3版本 musicp.swf是mp3的模板文件 这四个文件都放在images/default文件夹下 relatedclips.xml是播放暂停或停止时的视频列表 ,放在网站根目录。 同时flash源文件全部提供,大家可以diy属于自己网站品牌的flv播放器了。这才是重点个人觉得此flv播放器到这里有一个最大的遗憾,那就是没有在没有点击播放的时候,不能显示画面第一帧,我想过调用文章缩略图的方法来手动添加,但是播放器调用视频文件都是通过player.js完成的,我不懂如何通过js来调用缩略图,严重期待高手实现它。jw播放器只要在播放器代码中,视频路径结束后加入&image=XXX.jpg即可。如flashvars="file=video.flv&image=preview.jpg"

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值