Vue使用 video-player 播放 M3U8 视频流
Vue使用 video-player 播放 M3U8 视频流
因为前端页面如果是接入视频流的话,说难也难,说不难也不难。
如果单纯提供视频流url连接,没有中间件进行转的话:
rtsp 是不能直接接近web的,因为web不能直接接入rtsp视频流,需要后端或者是中间件进行转化,把rtsp的视频流转换成其他前端可以接入的视频流格式,一般是hls,也就是m3u8。
rtmp格式视频流以前是可以接入的,但是现在不行了,因为大多数浏览器在2020年底陆续宣布不在支持flash插件,但是rtmp视频流必须使用flash插件播放,因此在浏览器不支持flash的前提下,rtmp格式的视频流也就不能在web端播放了,很遗憾!
所以说,现在视频流播放一般都会采用M3U8格式的视频流进行播放,当然了,确定也就暴露出来了,那就是资源消耗的比较大,延时性比较高,毕竟是后端对其他视频流进行转换得到的,转换、传输、展示都需要时间,延时都会在10秒左右,如果单纯看的话没问题,控制的话就体验性差了,你控制了一下,十秒钟之后才能看到移动的角度,难受,但是没办法。
但是电脑软件接入rtsp或者是rtmp是没有问题的,这个东西是浏览器不在支持,与其他东西无关。
加油,祝你好运!
安装插件
npm install vue-video-player -S
npm install 'video.js' -S
使用
首先引入
// require styles
import 'video.js/dist/video-js.css'
import 'vue-video-player/src/custom-theme.css'
//引入hls.js
import 'videojs-contrib-hls'
// video-player
import { videoPlayer } from 'vue-video-player'
然后在data创建一个对象对播放器进行设置
playerOptions: {
language: 'zh-CN', // 语言
playbackRates: [0.5, 1.0, 1.5, 2.0], // 可选的播放速度
sources: [{
type: "application/x-mpegURL", // 类型
withCredentials: false,
src: 'http://cctvalih5ca.v.myalicdn.com/live/cctv1_2/index.m3u8' // 中央1 M3U8连接
}],
techOrder: ['html5'],
flash: { hls: { withCredentials: false } },
html5: { hls: { withCredentials: false } },
autoplay: true, // 是否自动播放
controls: true, // 是否显示控制栏
notSupportedMessage: '无信号',
muted: true, // 是否静音
}
然后HTML创建一个播放器。
<video-player ref="videoPlayer" style="width: 100%;height: 100%;" class="vjs-custom-skin" :options="playerOptions"></video-player>
然后页面就可以正常显示视频了!
这里有一篇更详细的介绍博文:https://www.jianshu.com/p/9f9e996768ba
然后给大家几个测试的 m3u8 连接: M3U8测试连接
我自己在项目里面测试过,是没有问题的,都是经过当时验证的。
好了,希望可以有用。
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-01-18 Python3+Dlib实现简单人脸识别案例
2019-01-18 Linux 系统下安装 python-skimage
2019-01-18 BeautifulSoup 模块详解