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

ffmpeg+nginx实现rtsp协议摄像头web端播放

ffmpeg+nginx实现rtsp协议摄像头web端播放

  • 环境准备
  • 准备nginx环境
    • 添加rtmp模块
    • 添加hls转发
  • 使用ffmpeg,将摄像头rtsp转为rtmp并推送到nginx
  • VLC播放验证

环境准备

  • nginx(需要安装rtmp模块)
  • ffmpeg 6.0
  • vlc播放器(本地播放验证)

这些资源已经上传需要的可以自己下载,这个压缩包里的nginx已经安装好所需模块,解压即可使用
下载地址

准备nginx环境

添加rtmp模块

# 注意这个和http模块同级
rtmp {server {listen 1935;  # 监听端口 1935,用于 RTMP 数据流传输chunk_size 4000;  # 数据传输分块大小application live {  # 定义RTMP的路径名live on;  # 开启 RTMP 直播功能hls on;  # 开启 HLS 功能hls_path html/hls;  # HLS 分片文件存储路径hls_fragment 2s;  # 每个 HLS 分片的时长为 2 秒。hls_playlist_length 6s;  # HLS 播放列表长度为 6 秒}}
}

添加hls转发

         # 这个在server模块里面location /hls {#配置MIME 类型types {application/vnd.apple.mpegurl m3u8;video/mp2t ts;}#指定请求路径对应的文件路径(HLS 分片文件存储的位置)alias html/hls/;#响应头设置 禁止缓存 HLS 分片文件add_header Cache-Control no-cache;}

使用ffmpeg,将摄像头rtsp转为rtmp并推送到nginx

如果你使用的是海康威视得摄像头构成一般为rtsp://摄像头用户名:密码@摄像头IP:摄像头端口/Streaming/Channels/摄像头标识

ffmpeg -rtsp_transport tcp -i  rtsp://摄像头IP:摄像头端口/Streaming/Channels/1  -c copy -f flv rtmp://nginx所在服务器IP:刚才配置RTMP模块监听端口/rtmp模块中application后面跟着的路径/自定义流的名称

VLC播放验证

在这里插入图片描述
VLC->媒体->打开媒体串流
播放地址如下:
http://nginx服务器IP:配置代理的端口(server中定义的)/location定义的代理地址/ffmpeg中自定义的流的名称.m3u8

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

相关文章:

  • 【周赛第69期】满分题解 软件工程选择题 枚举 dfs
  • P2015 二叉苹果树
  • Linux 内核音频数据传递主要流程
  • torch.device函数
  • 火车头采集器AI伪原创【php源码】
  • Python中常见的6种数据类型
  • 消息队列项目(2)
  • 解决MAC M1处理器运行Android protoc时出现的错误
  • C#使用SnsSharp实现鼠标键盘钩子,实现全局按键响应
  • Zookeeper基础操作
  • 【CSS】说说响应式布局
  • 数据结构 | 利用二叉堆实现优先级队列
  • Javascript怎样阻止事件传播?
  • web-csrf
  • 数据结构—图的存储结构
  • Vue3 中 setup,ref 和 reactive 的理解
  • BL302嵌入式ARM控制器进行SQLite3数据库操作的实例演示
  • C++ 多线程:std::future
  • 断路器回路电阻试验
  • Python中的CALL_FUNCTION指令
  • 微服务——es数据聚合+RestClient实现聚合
  • 代码分析Java中的BIO与NIO
  • 网络安全(黑客)工作篇
  • zookeeper入门学习
  • VirtualEnv 20.24.0 发布
  • LabVIEW开发高压航空航天动力系统爬电距离的测试
  • 【论文阅读】基于深度学习的时序异常检测——Anomaly Transformer
  • Java并发总结
  • 视频汇聚平台EasyCVR视频广场侧边栏支持拖拽
  • MyCat分片规则——范围分片、取模分片、一致性hash、枚举分片