ffmpeg api推流,谷歌浏览器播放大华、海康威视网络摄像头rtsp视频流方案(hls、m3u8、flv、webrtc、srs、nginx、nginx-rtmp、rtmp)比较

将网络摄像头视频流在主流浏览器中无插件播放,不必局限于ie中使用摄像头厂商自带的插件播放。

尝试了几种方案:

①nginx + nginx-rtmp-module + hls + EasyWasmPlayer.js
②srs + flv + h5
③srs + flv + EasyWasmPlayer.js
④srs + webrtc + jswebrtc

以上所有方案均是将rtsp协议转换为rtmp协议,视频格式均转换为flv。

所有延迟对比前面(下面)时间为大华摄像头ie插件播放,后面(上面)为谷歌浏览器vue项目中播放。

基础准备

我在虚拟机中部署了nginx服务器,nginx-rtmp-module rtmp服务器。

在虚拟机中使用docker部署了srs3和srs-4,只有第四版才支持webrtc

使用ffmpeg api推流,命令行推流都是一样的。
推流代码:https://blog.csdn.net/m0_46144966/article/details/115416301

从主机推流到虚拟机的服务器上后,在主机谷歌浏览器中拉流播放。

视频流来自大华网络球机。

srs地址和docker安装方式:https://github.com/ossrs/srs/tree/4.0release

nginx-rtmp-module地址和安装方式:https://github.com/arut/nginx-rtmp-module

EasyWasmPlayer.js用于播放hls(m3u8)和http/flv协议的视频:https://www.npmjs.com/package/easywasmplayer
这个一定按照官网给定的方式使用,放在根目录下。

rtmp(vlc播放)

从srs上拉流播放,延迟在5-6s之间:

hls(m3u8) 浏览器播放

nginx + nginx-rtmp-module + hls + EasyWasmPlayer.js

延迟在10s左右,不太稳定,根据hls切片大小不同,效果不一样,有些设定会影响流畅性。

flv 浏览器播放

srs + flv + EasyWasmPlayer.js

延迟在2s左右

srs + flv + h5

延迟不到2s

webrtc 浏览器播放

srs + webrtc + jswebrtc.js
延迟比大华摄像头ie浏览器插件播放还要低,我这边可以看到谷歌浏览器中的的时间比ie中的时间先变化。
在火狐浏览器中播放出现网络问题,这是因为jswebrtc.js的配置不全,无法绕过网络拉流。

总结

最终发现还是webrtc + srs4 + ffmpeg 的方案比较理想,在同时拉20个流播放时,延迟依然和大华的ie插件播放方式相当,少于20个甚至比ie插件更快。

如果觉得有什么需要补充的请联系我。

ffmpeg api推流,谷歌浏览器播放大华、海康威视网络摄像头rtsp视频流方案(hls、m3u8、flv、webrtc、srs、nginx、nginx-rtmp、rtmp)比较相关推荐

  1. 用ffmpeg+nginx+海康威视网络摄像头rtsp在手机端和电脑端实现直播

    原料:海康威视摄像头,nginx服务器,ffmpeg. 首先海康威视摄像头, 它的rtsp数据流的地址为:rtsp://[username]:[password]@[ip]:[port]/[codec ...

  2. 在Web网页播放网络摄像机(海康、大华等)RTSP视频流方案汇总

    前言 由于项目需求,要在web上查看摄像机的实时视频(不能用付费方案),所以写下此文章记录下学习过程,也是踩了不少坑 Web端采用vue框架开发及测试 所有方案都离不开ffmpeg,感谢ffmpeg开 ...

  3. 海康威视、大华摄像头RTSP视频流嵌入到谷歌Chrome等VUE页面中实时播放方案(图文教程)

    近期在做一个智慧城市项目,要求将海康威视.大华等摄像头RTSP视频流在Chrome.Firefox.Edge等浏览器中播放,并且要求延迟必须要低,能到多低就多低,最好是实时视频. 小编了解很多不同的方 ...

  4. 海康威视网络摄像头开发流程(八)-------- 硬盘录像机NVR的激活以及使用

    硬盘录像机的作用为将网络摄像机的视频保存起来,即用于视频回放功能. 1.给硬盘录像机安装硬盘. 拆开硬盘录像机,将硬盘的接口插入到硬盘录像机的相应接口中即可,详细步骤,硬盘录像机的说明书上有,参看考说 ...

  5. 海康大华天地伟业网络摄像头chrome浏览器web二次开发

    海康大华天地伟业网络摄像头chrome浏览器二次开发 海康大华天地伟业网络摄像头chrome浏览器web二次开发 由于工作的原因需要开发海康和大华,还有天地伟业的摄像头,而且必须是本地部署开发,每个厂 ...

  6. 海康威视网络摄像头配置本地存储服务器(远程连接查看回放)

    目录 环境:Win电脑A远程连接B查看录像-win电脑B存储录像 配置 方法: 海康小工具 海康威视网络摄像头答疑 环境:Win电脑A远程连接B查看录像-win电脑B存储录像 A,B两台电脑 A电脑远 ...

  7. 使用samba服务在Linux与Windows直接共享文件夹,海康威视网络摄像头录像视频存储到ubuntu服务器

    目录 背景 SMB共享介绍 访问共享的命令和方式 本人亲测环境 海康威视网络摄像头录像视频存储到ubuntu服务器 背景 应项目要求,海康威视网络摄像头的监控客户端要在windows系统上,录像视频要 ...

  8. 【海康威视单个摄像头读取视频流并保存本地】

    [海康威视单个摄像头读取视频流并保存本地] 文前白话 代码 文前白话 本段代码作为之前一篇博客的补充: 链接: [OpenCV-python&实现多进程两个摄像头同时录入视频并保存]. 本段代 ...

  9. WPF 海康威视网络摄像头回调方式实现断连提示,降低时延

    项目需要使用海康威视网络摄像头接入实时视频数据,使用海康威视官方SDK开发,发现没有断连提示的功能,故开发了一个断连提示的功能 在开发过程中遇到以下问题: 1.延迟2S左右,后咨询海康威视技术支持,需 ...

最新文章

  1. linux centos7 开机自动登录
  2. linux文件目录操作实验报告,Linux操作系统实验4文件和目录操作
  3. python 内网镜像站_搭建私有YUM仓库与内网镜像站
  4. NET问答: using 和 await using 有什么不同?
  5. PullToRefreshListView中嵌套ViewPager滑动冲突的解决
  6. JavaScript中的嵌套事件处理(在鼠标移动事件上)
  7. 有软件开发,就要有软件测试!
  8. SAP License:SAP顾问行业的生活状态实录,新人值得一看!
  9. eclipse中支持python
  10. Landsat 8数据介绍
  11. 村级行政shape_行政区划图边界制作shap.doc
  12. 电脑系统相关问题收录(windows10)
  13. 并行处理系统 计算机网络 分布式系统,分布式并行信号处理系统,Distributed parallel signal processing system,音标,读音,翻译,英文例句,英语词典...
  14. C语言统考试卷一及答案,2017年《计算机应用基础》统考试题及答案
  15. 基于openstack的云桌面开源框架
  16. Obloq模块:基于ESP8266的物联网模块
  17. 大白话说 Reactor 模型
  18. Transformer25
  19. Matlab代码模板,图像处理,色彩补偿,色彩平衡,显示连通分量数量
  20. Chrome调试工具调试CSS

热门文章

  1. GIT与SVN的底层原理对比
  2. aaaaaaaaaaaaaaaaaa
  3. 在论文写作中哪些行为可以被认定为抄袭?
  4. 网络安全专业人员应该具备哪些技能
  5. EMBOSS部分命令
  6. SQL Server2014数据库开启远程连接(转载+实操)
  7. Clang Static Analyzer 系列(一)编译 Clang 及运行 Checker
  8. 计算机考研科目887,2017年南京师范大学计算机科学与技术学院887数据库原理考研题库...
  9. js 重新梳理 1:indexOf与serch 的区别
  10. mysql 45道练习题