欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

H5播放Rtmp之vue-video-player

程序员文章站 2022-07-07 15:15:34
...

一、简介

我们看到了HLS播放视频实时性非常差,好的在6-7s,差点的就要10-12s了,也就是人走了,估计视频上还能看到,这对观感效果造成了很大的影响!但是好处就是它是基于http协议文件下载的,所以不需要任何插件,到处播放,处处兼容,所以rtmp和hls在web端的特点如下:

  • HLS
    (1) 使用http协议,兼容所有浏览器。
    (2) 延时非常大,不太适合实时视频源,适合文件点播或历史录像直播。
  • RTMP
    (1) 使用flash插件播放,不兼容所有浏览器(特别2020年12月后chrome带头不再支持flash)
    (2) 浏览器播放需要对浏览器安全进行设置,此外点播可能还会弹出确定提示,交互体验较差
    (3) 更贴近传统监控的实时协议,实时性非常好,基本与实时视频点播一致

考虑到实时性,我们可能还会选择使用rtmp协议点播我们的视频,所以就实时性而言还是很有必要考虑rtmp协议的使用,接下来,我要跟大家一起分享的就是在web端使用rtmp协议查看视频。

二、vue-video-player播放Rtmp

vue项目使用vue-video-player底层其实还是用的是videojs,只不过是vue的一个插件而已,首先我们需要在vue项目中安装该插件

npm install vue-video-player

然后,我们直接在HelloWorld组件中使用播放器即可

<template>
  <videoPlayer
    class="vjs-custom-skin videoPlayer"
    :options="playerOptions"
  ></videoPlayer>
</template>

<script>
import "@/video-js.css";
import { videoPlayer } from "vue-video-player";
import "videojs-flash";
export default {
  components: {
    videoPlayer,
  },
  data() {
    return {
      playerOptions: {
        height: "300",
        sources: [
          {
            type: "rtmp/mp4",
            src: "rtmp://192.168.12.187:1935/live/1",
          },
        ],
        techOrder: ["flash"],
        autoplay: false,
        controls: true,
      },
    };
  },
};
</script>

启用运行项目:

npm run serve

如果是chrome浏览器则需要允许插件访问:
H5播放Rtmp之vue-video-player

允许播放后可以看到rtmp视频了
H5播放Rtmp之vue-video-player
测试发现vue版本的插件有点延迟,大概在3s左右。

源码获取、合作、技术交流请获取如下联系方式:
QQ交流群:961179337
H5播放Rtmp之vue-video-player

微信账号:lixiang6153
公众号:IT技术快餐
电子邮箱:aaa@qq.com