场景

Nginx搭建RTMP服务器+FFmpeg实现海康威视摄像头预览:

Nginx搭建RTMP服务器+FFmpeg实现海康威视摄像头预览_BADAO_LIUMANG_QIZHI的博客-CSDN博客

在上面的基础上实现Nginx搭建RTMP服务器,然后使用FFmpeg实现摄像头推流。

最后使用VCL打开网络串流的方式去进行摄像头预览。

如果要在前端Vue中去加载显示视频,怎么实现。

若依前后端分离版手把手教你本地搭建环境并运行项目:

若依前后端分离版手把手教你本地搭建环境并运行项目_BADAO_LIUMANG_QIZHI的博客-CSDN博客

在上面搭建起来项目的基础上去实现。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi 
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、安装video.js相关依赖

npm install --save video.js
npm install --save videojs-contrib-hls

2、在需要播放视频的页面引入video.js相关的对象和css文件

import "video.js/dist/video-js.css";
import videojs from "video.js";
import "videojs-contrib-hls";

3、页面播放视频的元素控件

​<videoid="my-video"class="video-js vjs-default-skin"controlspreload="auto"width="500px"><sourcesrc="http://127.0.0.1:81/hls/badao.m3u8"type="application/x-mpegURL"/></video>​

注意这里的id属性,后面要用到。

然后这里的src属性对应上面使用VCL播放时的网络串流地址。

4、页面加载完成之后设置6秒的延迟播放视频

  mounted() {let _that = this;setTimeout(() => {_that.getVideo();}, 6000);},

这里如果不设置延迟播放的话会提示:

Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first. https://goo.gl/xX8pDD

5、播放视频的具体实现方法

  methods: {getVideo() {videojs("my-video",{bigPlayButton: false,textTrackDisplay: false,posterImage: true,errorDisplay: false,controlBar: true,},function () {this.play();});},},

6、页面完整代码

​
<template><div class="component-upload-image"><videoid="my-video"class="video-js vjs-default-skin"controlspreload="auto"width="500px"><sourcesrc="http://127.0.0.1:81/hls/badao.m3u8"type="application/x-mpegURL"/></video></div>
</template>
<script>
import "video.js/dist/video-js.css";
import videojs from "video.js";
import "videojs-contrib-hls";export default {components: {},name: "m3u8Play",data() {return {};},mounted() {let _that = this;setTimeout(() => {_that.getVideo();}, 6000);},methods: {getVideo() {videojs("my-video",{bigPlayButton: false,textTrackDisplay: false,posterImage: true,errorDisplay: false,controlBar: true,},function () {this.play();});},},watch: {},
};
</script><style scoped lang="scss">
</style>​

7、效果

Vue+Video.js播放m3u8视频流(海康威视摄像头+RTMP服务+FFmpeg)相关推荐

  1. Vue Video.js播放m3u8视频流格式(video+videojs-contrib-hl)

    文章目录 1. Vue+Video.js播放效果图 2. npm安装和引入 3. vue 使用 4. 动态设置video视频的src地址 5. Uncaught (in promise) TypeEr ...

  2. vue+video.js播放.m3u8地址视频

    使用的包 "video.js": "^7.6.6", "videojs-contrib-hls": "^5.15.0", ...

  3. m3u8.php怎么调用,怎样使用Vue结合Video.js播放m3u8视频

    这次给大家带来怎样使用Vue结合Video.js播放m3u8视频,使用Vue结合Video.js播放m3u8视频的注意事项有哪些,下面就是实战案例,一起来看一下. 首先,我们需要在vue工程中安装vi ...

  4. vue中 使用video.js 播放m3u8直播流

    需求描述 支持播放m3u8直播流 + 录屏 视频:同时可以动态更改视频直播地址,新增,删除视频. 实现效果 实现代码 安装依赖 npm install video.js --save // 视频播放器 ...

  5. videojs 卡顿_流媒体技术学习笔记之(四)解决问题video.js 播放m3u8格式的文件,根据官方的文档添加videojs-contrib-hls也不行的原因解决了...

    总结: 说明: 测试环境:本测试全部来自阿里云直播和OSS存储点播以及本地服务器直播和点播 播放器:VideoJs 直播: 1.阿里云直播,需要CDN设置HTTP头 2.本地直播需要设置直播访问服务器 ...

  6. video.js播放m3u8视频

    m3u8 是一种基于HTTP Live Streaming(HLS)文件视频格式,它主要是存放整个视频的基本信息和分片(Segment)组成.目前 由 Apple.inc 率先提出的 HLS 协议在 ...

  7. H5视频之video.js播放m3u8

    最近接触了这一块,简单说下吧. m3u8 是一种基于 HTTP Live Streaming 文件视频格式,它主要是存放整个视频的基本信息和分片(Segment)组成.目前 由 Apple.inc 率 ...

  8. Video.js 播放m3u8直播流

    谷歌浏览器全面禁止flash导致直播流无法播放, 通过video.js结合videojs-contrib-hls实现播放m3u8直播流 粘贴到html打开即可 <!DOCTYPE html> ...

  9. 使用hls.js播放m3u8视频流

    1.安装hls.js npm install hls.js -S 2.使用 <template><div class="video_con"><vid ...

最新文章

  1. GitHub:我开源我自己;CEO:不存在的
  2. 第2次作业+105032014158
  3. linux 自动化交互套件 expect 介绍 shell非交互
  4. tensorflow实现图像的翻转
  5. 平面电子地图如何表现同一位置的POI
  6. IE这回在css flex中扳回一局?
  7. 【ABAP】BASE64加密及解密
  8. 数组和指针、数组指针和指针数组
  9. 前端学习(2256)如何解决冲突
  10. arcgis坡度结果有误或z因子前有感叹号
  11. C#中用WMI实现对驱动的查询
  12. html网页如何引入用linkcss文件,[网页设计]link和@import url()引入外部css文件的区别...
  13. 使用face-api和Tensorflow.js进行预训练的AI情绪检测
  14. 提取lbp特征java代码_特征提取算法之LBP
  15. Oracle SUn
  16. 3、JSON相关基础知识点总结(3)
  17. jsp中java实现弹窗_jsp用java弹窗
  18. 编译原理-词法分析-上下文无关文法
  19. 社交网络算法在金融反欺诈中的应用
  20. stm32单片机按键消抖、长按、多击终极解决方案

热门文章

  1. what does tf.no_op do and tf.control_dependencies work?
  2. 学习Pygame和巩固Python——画颜色~
  3. python 计算 IOU
  4. 服务器配置tensorflow2.0.0的gpu环境,python3.7
  5. java找哪一天是星期几_七夕节是几月几日农历时间 2019年七夕情人节哪一天星期几...
  6. 判断两个时间在15分钟内_为什么敷面膜的使用时间要15—20分钟,这个时间怎么算出来的?...
  7. linux boost内存池,C++ boost库教程之内存池
  8. server2012 图文安装流程
  9. html中传递sessionid,sessionID是怎么在客户端和服务器端传递的?
  10. androidsettitle方法_在Android应用程序中,Toolbar.setTitle方法无效-应用程序名称显示为标题...