当前位置: 首页 > news >正文

web接入大华摄像头实时视频

目录

一、FFmpeg下载及配置​​​​

二、nginx下载及配置

三、摄像rtsp取流

四、ffmpeg推流

五、html前端工作


一、FFmpeg下载及配置
​​​​

地址:Download FFmpeg

  

下载并解压FFmpeg文件夹,配置环境变量:在“Path”变量原有变量值内容上加上d:\ffmpeg\bin,验证:ffmpeg -version 出现版本号则成功。

二、nginx下载及配置

这个我之前有,网上应该也能搜到。1、nginx\conf\nginx.conf中确保以下配置:

http {include              mime.types;default_type         application/octet-stream;sendfile             on;keepalive_timeout    65;access_log           off;server {listen       20000;server_name  localhost;location / {root   html;index  index.html index.htm;}location /hls { types{  application/vnd.apple.mpegurl m3u8;  video/mp2t ts;  }  root html;  add_header Cache-Control no-cache;add_header Access-Control-Allow-Origin *;}  


2、在nginx\conf\mime.types中
新增:

application/x-mpegURL                     m3u8; 
application/vnd.apple.mpegurl             m3u8;
video/mp2t                                ts;

三、摄像rtsp取流

大华取流格式:

rtsp://username:password@127.0.0.1:554/cam/realmonitor?channel=1&subtype=0

其中:

username:用户名。例如:admin

password:密码。例如:admin

ip:为设备ip。例如:127.0.0.1

port:端口号默认为554

channel:通道号,起始值为1。

subtype:码流类型,主码流为0,辅码流为1。

浏览器输入取流地址,可以查看实时视频说明取流地址正确。

四、ffmpeg推流

cmd命令行中执行

ffmpeg -rtsp_transport tcp -i "rtsp://admin:admin@127.0.0.1:554/cam/realmonitor?channel=1&subtype=1" -c copy -f hls -hls_time 2.0 -hls_list_size 2 -hls_flags 2 D:\nginx\nginx-1.18.0\html\hls\test.m3u8

-hls_time 、-hls_size等参数可百度,这里-hls_wrap 参数无法使用(这里的笑bug还未解决),只能用-hls_flags 替代-hls_warp。

用户名、密码、ip填入你的参数,这里为了流畅选用辅码流(subtype=1)

视频文件保存至nginx文件下的html文件里即可。

 

五、html前端工作

播放m3u8格式视频需要video.js支持

<link href="https://vjs.zencdn.net/8.0.4/video-js.css" rel="stylesheet" />
<script src="https://vjs.zencdn.net/8.0.4/video.min.js"></script><video id="box" class="video-js vjs-default-skin" controls preload="auto" data-setup='{}'><source src="http://127.0.0.1:20000/hls/test.m3u8" type="application/x-mpegURL" /></video>

 

 文章参考:

https://leftfist.blog.csdn.net/article/details/86699371

ffmpeg+nginx+video实现rtsp流转hls流,通过H5查看监控视频_kunzai6的博客-CSDN博客

http://www.lryc.cn/news/19322.html

相关文章:

  • Git代码冲突-不同分支之间的代码冲突
  • KUKA KR C4机器人与S7-1200PLC进行PROFINET通信的具体方法和步骤
  • 从0到1一步一步玩转openEuler--24 openEuler管理进程-调度启动进程
  • Servlet笔记(10):Session跟踪
  • Hive---分区表和分桶表
  • C++ STL
  • java程序员要了解的sql语句优化技巧大全
  • SQL零基础入门学习(十)
  • Pytorch从零开始训练模型【识别数字模型】并测试
  • Leetcode DAY 44: 完全背包 and 零钱兑换 II and 组合总和 Ⅳ
  • 谷歌搜索留痕的技术公式【2023年新版】
  • 2023财年Q4业绩继续下滑,ChatGPT能驱动英伟达重回巅峰吗?
  • 博客管理系统--项目说明
  • 一文带你了解MySQL的Server层和引擎层是如何交互的?
  • CVNLP 常用数据集语料库资源汇总
  • lisp 表达式求值规则
  • Sophos Firewall OS (SFOS) 19.5 MR1 - 同步下一代防火墙
  • 为什么很多人转行IT考虑后端开发Java?
  • WebDAV之π-Disk派盘+Cloud Player
  • Python-datetime、time包常用功能汇总
  • Spring MVC 源码- HandlerAdapter 组件(四)之 HandlerMethodReturnValueHandler
  • 2023面试必备:web自动化测试POM设计模式详解
  • 【人工智能 AI】Robotic Process Automation (RPA) 机器人流程自动化 (RPA)
  • ubuntu/linux系统知识(37)systemd管理临时文件的方法systemd-tmpfiles
  • 云计算专业和计算机专业哪个好就业?
  • electron sha512 checksum mismatch
  • 使用Chemistry Development Kit (CDK) 来进行化学SMILES子结构匹配
  • CMake模块的使用和自定义模块
  • jvm调优参数配置
  • Leetcode.1567 乘积为正数的最长子数组长度