前端实现播放实时监控视频笔记(hls http-flv)

本文介绍了作者在进行数据可视化项目中涉及视频直播功能的学习过程,探讨了直播协议RTMP、HLS、HTTP-FLV的优缺点。选择了HTTP-FLV作为前端实时监控视频的方案,推荐使用flv.js作为播放器,并提供了hls.js的使用示例。同时,对比了video.js和hls.js的特性与适用场景。

前言

最近被安排做一个数据可视化的项目,其中包括视频直播(实时监控)功能,于是只懂用 <video> 播放视频文件的我开始学习关于直播、实时播放等知识,在此做下笔记,并转发一些参考性文章。

前置知识

直播协议

在选择工具之前首先要先了解直播的相关原理,这里推荐:

直播源

对于视频直播,前端使用的也是一个作为直播源的 url 地址,这个地址用于获取直播源的文件,地址是不变的,而文件内容是随着直播而变化的。

客户端每隔一段时间就会重新获取直播源。

以 HLS 的 直播源文件(.m3u8) 为例,可以参考 什么是m3u8?直播源跟m3u8有什么关系? - 见微知著

技术选择

从我的角度去选择:

协议 结论
RTMP 项目需求是作为拉流端,不考虑 Flash 支持,不采用
HLS 跨平台兼容性好,支持快进播放,延迟高,可用于播放录制完的视频
HTTP-FLV 通过 flv.js 可实现 HTML5 兼容,延迟低,可用于播放实时监控视频

工具选择

  • HTTP-FLV
  • HLS:
    • hls.js
      • HLS 为苹果原生支持的协议,其它浏览器大部分不兼容,hls.js 是实现在其它平台兼容 HLS。
    • video.js
      • 基于 hls.js 封装了 UI 和 功能的播放器插件,支持 HTML5 和 Flash(需要浏览器支持 Flash)
      • 缺点:包臃肿,修改 UI 不方便

hls.js 使用

hls.js - npm

npm install hls.js
<video id="video" src="" /
import Hls from 
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值