RTSP 拉流与录制:IPC 摄像头本地录像完整方案
RTSP 拉流与录制IPC 摄像头本地录像完整方案做 IPC 摄像头、无人售货柜、安防监控RTSP 拉流和录制是基本功。这篇讲清楚怎么稳定拉流、怎么存成文件、怎么按时间分片、断线怎么自动重连、延迟怎么优化——全是实际项目里踩过的坑。大家好我是黒漂技术佬。之前写 IPC 摄像头专栏的时候很多人问 RTSP 拉流的问题拉流花屏怎么办怎么 24 小时录像断网了怎么自动重连录像文件太大怎么办这些问题 FFmpeg 都能解决但参数没配对的话不是不稳定就是延迟高。这篇把我做售货柜项目积累的 RTSP 拉流录制经验全部分享出来。一、RTSP 基础RTSPReal Time Streaming Protocol是网络摄像头最常用的流媒体协议。IPC 摄像头基本上都支持。常见 RTSP 地址格式不同品牌地址不一样常见的# 海康威视rtsp://用户名:密码IP:554/h264/ch1/main/av_stream# 大华rtsp://用户名:密码IP:554/cam/realmonitor?channel1subtype0# 华天龙我项目里用的rtsp://用户名:密码IP:554/stream1# 通用格式rtsp://用户名:密码IP:554/live先测试流能不能打开用 ffplay 先试一下确认地址和账号密码对不对ffplay rtsp://admin:123456192.168.1.100:554/stream1能弹出画面就说明通了。二、最简单的拉流录制直接存成 MP4ffmpeg-irtsp://地址-ccopy output.mp4-c copy直接复制流不重新编码CPU 占用极低。存成 MKV推荐 24 小时录制ffmpeg-irtsp://地址-ccopy output.mkv为什么推荐 MKVMP4 的元数据在文件末尾录制中断断电、断网文件会损坏。MKV 是流式封装断了也能播放前面的内容。 做无人值守的 24 小时录像一律用 MKV 或 TS 格式别用 MP4——哪天断电了录了十几个小时的文件直接废了。三、按时间分片录制24 小时录像存成一个文件太大不方便管理和检索按时间分片每小时一个文件ffmpeg-irtsp://地址-ccopy-fsegment-segment_time3600-strftime1record/%Y%m%d_%H%M%S.mkv-f segment分段输出-segment_time 3600每 3600 秒1小时切一个文件-strftime 1文件名用时间格式%Y%m%d_%H%M%S年月日_时分秒比如20260702_143000.mkv每天一个文件夹 每小时一个文件ffmpeg-irtsp://地址-ccopy-fsegment-segment_time3600-strftime1record/%Y%m%d/%H%M%S.mkv自动按日期建文件夹里面是每小时的文件。重置时间戳分片的时候加上-reset_timestamps 1每个分片的时间戳从 0 开始播放器拖动进度条更准ffmpeg-irtsp://地址-ccopy-fsegment-segment_time3600-reset_timestamps1-strftime1record/%Y%m%d_%H%M%S.mkv四、按大小分片每 100MB 切一个文件ffmpeg-irtsp://地址-ccopy-fsegment-segment_size100M-strftime1record/%Y%m%d_%H%M%S.mkv-segment_size 100M每个文件最大 100MB。实际项目里一般按时间分片为主大小作为辅助限制。五、只录视频 / 只录音频# 只录视频不要音频ffmpeg-irtsp://地址-c:vcopy-anoutput.mkv# 只录音频不要视频ffmpeg-irtsp://地址-vn-c:acopy output.aac-an去掉音频-vn去掉视频。有些摄像头音频有杂音或者不需要录音加上-an省空间。六、拉流参数优化稳定、低延迟默认参数拉流可能会卡、花屏、延迟高调这几个参数。1. 传输协议TCP vs UDP# TCP 传输推荐ffmpeg-rtsp_transporttcp-irtsp://地址...# UDP 传输默认ffmpeg-rtsp_transportudp-irtsp://地址...UDP速度快、延迟低但丢包就花屏TCP可靠不丢包但有延迟网络差的时候会卡实际项目建议用 TCP稳定最重要。售货柜的摄像头我全部用 TCP偶尔网络波动也不会花屏。2. 超时设置ffmpeg-rtsp_transporttcp-stimeout5000000-irtsp://地址...-stimeout 5000000超时 5 秒单位微秒连不上就退出不会一直卡着。3. 缓冲区大小ffmpeg-rtsp_transporttcp-buffer_size1024000-irtsp://地址...网络抖动大的话加大缓冲区减少卡顿。4. 降低延迟做实时预览、远程开门这种需要低延迟的场景ffmpeg-rtsp_transporttcp-fflagsnobuffer-flagslow_delay-irtsp://地址...-fflags nobuffer不缓冲收到就解码-flags low_delay低延迟模式代价是抗抖动能力下降网络不好容易卡。5. 跳过损坏帧流偶尔有坏数据FFmpeg 可能直接报错退出。加上ffmpeg-err_detectignore_err-irtsp://地址...遇到错误忽略继续跑。七、断线自动重连FFmpeg 本身不会自动重连断网了就退出。需要自己写脚本循环。Windows PowerShell 脚本while($true){ffmpeg-rtsp_transport tcp-stimeout 5000000 -irtsp://admin:123456192.168.1.100:554/stream1-ccopy-f segment-segment_time 3600-reset_timestamps 1 -strftime 1record/%Y%m%d_%H%M%S.mkvWrite-Host断线了3秒后重连...Start-Sleep3}Linux / macOS Shell 脚本#!/bin/bashwhiletrue;doffmpeg-rtsp_transporttcp-stimeout5000000\-irtsp://admin:123456192.168.1.100:554/stream1\-ccopy-fsegment-segment_time3600-reset_timestamps1\-strftime1record/%Y%m%d_%H%M%S.mkvecho断线了3秒后重连...sleep3done重连的几个注意点加延迟别立刻重连等个 3-5 秒不然网络还没恢复又失败加超时-stimeout必须加不然卡着不动日志记录生产环境把输出写到日志文件方便排查问题分段文件名用时间戳重连后不会覆盖之前的文件八、边录边转码降低存储占用直接-c copy存的是摄像头原始码流可能码率很高、占空间大。如果存储空间紧张可以边拉边转码压缩。H.264 压缩录制ffmpeg-irtsp://地址-vcodeclibx264-crf28-acodecaac-b:a64k-fsegment-segment_time3600record/%Y%m%d_%H%M%S.mp4代价是 CPU 占用高需要机器性能够。硬件加速录制RK3588 推荐售货柜用的 RK3588硬编码几乎不占 CPUffmpeg-irtsp://地址-vcodech264_rkmpp-b:v1M-acodeccopy-fsegment-segment_time3600record/%Y%m%d_%H%M%S.mp4硬件加速后面专门一篇细讲。九、拉流 实时抽帧不存视频只需要定时抽帧做 AI 识别不需要存录像ffmpeg-rtsp_transporttcp-irtsp://地址-vffps1frames/%04d.jpg售货柜项目里待机状态就每秒抽一帧跑 YOLO 检测有人拿东西的时候才触发完整识别流程。抽帧 推流同时进行一边存文件一边抽帧做分析用 tee 或者 filter_complex 分流。十、多路摄像头同时录制多个摄像头写个脚本循环启动或者一条命令多个输入ffmpeg\-irtsp://摄像头1地址\-irtsp://摄像头2地址\-map0-ccopy-fsegment-segment_time3600cam1/%Y%m%d_%H%M%S.mkv\-map1-ccopy-fsegment-segment_time3600cam2/%Y%m%d_%H%M%S.mkv-map 0选第一个输入-map 1选第二个分别输出。但更推荐每个摄像头单独起一个 FFmpeg 进程——一路挂了不影响其他路也好管理。十一、实际踩过的坑坑 1录制的 MP4 文件损坏打不开原因MP4 的 moov atom 在文件末尾异常退出没写进去。解决用 MKV 或 TS 格式录制或者录制完后用ffmpeg -i input.mp4 -c copy fixed.mp4修复。坑 2花屏、绿屏、马赛克原因UDP 丢包或者关键帧间隔太大。解决改用 TCP 传输-rtsp_transport tcp摄像头设置里把关键帧间隔改小比如 1 秒一个 I 帧坑 3延迟越来越大原因FFmpeg 默认有缓冲累积延迟。解决加-fflags nobuffer -flags low_delay -framedrop丢帧保延迟。坑 4音视频不同步原因摄像头的时间戳有问题或者网络抖动。解决加-vsync cfr统一视频帧率或者-async 1校正音频。坑 5FFmpeg 进程挂了没人知道解决写个守护脚本进程没了自动拉起来定期检查录像文件有没有更新生产环境配合监控告警十二、我项目里用的完整命令售货柜 IPC 摄像头 24 小时录制的完整命令ffmpeg-rtsp_transporttcp\-stimeout10000000\-err_detectignore_err\-irtsp://admin:密码192.168.1.200:554/stream1\-ccopy\-fsegment\-segment_time1800\-segment_formatmatroska\-reset_timestamps1\-strftime1\/data/record/cabinet01/%Y%m%d/%H%M%S.mkv参数说明TCP 传输10 秒超时忽略错误继续运行每 30 分钟一个文件MKV 格式断电不损坏按日期建文件夹文件名带时间戳外面再套一层自动重连的脚本稳定跑几个月没问题。十三、本篇小结录制优先用 MKV 格式异常退出不损坏-c copy直接复制流CPU 占用最低-f segment按时间/大小分片方便管理-rtsp_transport tcp更稳定UDP 延迟低但易花屏断线重连需要自己写脚本循环生产环境超时 错误忽略 自动重连 日志监控下一篇讲HLS/DASH 切片直播和点播的切片生成怎么把视频转成 m3u8 放到网页上播放。我是黒漂技术佬。

相关新闻

Google PAT论文助手:AI智能体框架在学术评审中的推理缩放与自动化验证

Google PAT论文助手:AI智能体框架在学术评审中的推理缩放与自动化验证

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 在科研论文评审过程中,审稿人需要投入大量时间阅读文献、验证实验、检查逻辑一致性,这一过程既耗时又容易因人…

2026/7/9 7:40:17阅读更多 →
计算机毕业设计之基于SSM框架的小学学生综合素质评价系统设计与实现

计算机毕业设计之基于SSM框架的小学学生综合素质评价系统设计与实现

随着教育理念的不断更新,传统的学生评价方式已难以满足现代教育发展的需求。本研究旨在设计并实现一个基于SSM(Spring Spring MVC MyBatis)框架的小学学生综合素质评价系统。该系统旨在全面、科学、客观地评价学生的综合素质,涵…

2026/7/9 7:40:17阅读更多 →
PP-OCRv4 与 3款主流开源OCR模型对比:Mac M2实测精度/速度/模型大小

PP-OCRv4 与 3款主流开源OCR模型对比:Mac M2实测精度/速度/模型大小

PP-OCRv4 与 3 款主流开源 OCR 模型深度对比:Mac M2 实测数据与选型指南在本地设备上部署 OCR 模型时,开发者往往面临精度、速度和模型大小的权衡。本文基于 MacBook Pro M2 硬件环境,对百度 PaddleOCR 的 PP-OCRv4 与 Tesseract、EasyOCR、P…

2026/7/9 7:40:17阅读更多 →
ChatBI试点常见12问:客户成功一线的FAQ与行动建议

ChatBI试点常见12问:客户成功一线的FAQ与行动建议

导语 “ChatBI到底能不能直接替代分析师?”“是不是接上大模型,业务就能自己问数了?”“试点选哪个场景才不会翻车?”——这是我们在陪伴客户启动ChatBI试点的头一个月里,几乎每周都会被反复追问的问题。答案往往不是一…

2026/7/9 8:55:23阅读更多 →
XUnity自动翻译器:打破语言壁垒,畅玩全球Unity游戏

XUnity自动翻译器:打破语言壁垒,畅玩全球Unity游戏

XUnity自动翻译器:打破语言壁垒,畅玩全球Unity游戏 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语游戏中的生涩文本而烦恼吗?是否曾因语言障碍而错过优秀的…

2026/7/9 8:55:23阅读更多 →
外教课录音怎么选?AI智能整理清晰高效帮你省不少心

外教课录音怎么选?AI智能整理清晰高效帮你省不少心

外教课录音怎么选,核心不是选多贵的录音设备,是选对匹配你需求的后续整理方式。如果你录完只是临时记内容,听完就删,用手机自带录音功能就足够;如果需要用来课后复习、整理知识点、做论文语料积累,一定要选…

2026/7/9 8:55:23阅读更多 →
d2s-editor:5分钟学会修改暗黑破坏神2存档的终极指南

d2s-editor:5分钟学会修改暗黑破坏神2存档的终极指南

d2s-editor:5分钟学会修改暗黑破坏神2存档的终极指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾经想过轻松修改暗黑破坏神2的存档文件,但又害怕复杂的十六进制编辑器?d2s-editor…

2026/7/9 8:55:23阅读更多 →
web作业1-3

web作业1-3

Web作业1输出九九乘法表编写表单和表单信息接收这两个页面Web作业2从数据库获取显示修改表单<% page contentType"text/html;charset UTF-8" language"java" %><% page import"java .sql.*" %><!DOCTYPE html><html><…

2026/7/9 8:55:23阅读更多 →
腾讯云Edgeone Makers:轻松打造AI Agent,小白也能玩转AI开发!

腾讯云Edgeone Makers:轻松打造AI Agent,小白也能玩转AI开发!

1.Edgeone Makers是什么 腾讯最近上线的Edgeone makers&#xff0c;可以帮开发者快速搭建和运行 AI Agent&#xff0c;不需要自己搭建一堆复杂的服务。它提供了模型接入、运行环境、数据记忆和监控等能力&#xff0c;让你可以更简单地把 AI 功能接入现有业务&#xff0c;或者快…

2026/7/9 8:50:23阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述&#xff1a;从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目&#xff0c;叫 skills4/skills &#xff0c;它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景&#xff1a;一个旨在展示或教授某种技能的仓库&#xff0c;本身却成了安…

2026/7/9 5:56:19阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示&#xff1a;因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战&#xff1a;从“黑箱预测”到“可信推理”2026年6月&#xff0c;第7届机器学习与趋势国际会议&#xff08;MLT 2026&#xff09;将在悉尼召开。会议议程中&#xff0c;“因果与可解释机器学习…

2026/7/8 7:00:12阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时&#xff0c;通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中&#xff0c;是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/9 2:47:07阅读更多 →
Three.js 着色器光效教程

Three.js 着色器光效教程

着色器光效 Shader Light ▶ 在线运行案例 案例合集&#xff1a; 三维可视化功能案例&#xff08;threehub.cn&#xff09;开源仓库github地址&#xff1a; https://github.com/z2586300277/three-cesium-examples400个案例代码: 网盘链接 你将学到什么 ShaderMaterial 自…

2026/7/9 0:04:37阅读更多 →
如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理:开源工具CASEMOVE终极指南

如何5分钟掌握CS2智能库存管理&#xff1a;开源工具CASEMOVE终极指南 【免费下载链接】casemove A dedicated desktop app that enables you to move items in and out of storage units in CS2. 项目地址: https://gitcode.com/gh_mirrors/ca/casemove 还在为CS2存储单…

2026/7/9 0:04:37阅读更多 →
GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a vs MySQL 8.0:ALTER TABLE语法与限制的5点关键差异对比

GBase 8a与MySQL 8.0&#xff1a;ALTER TABLE语法差异深度解析与实战指南1. 两种数据库的ALTER TABLE能力全景对比在数据库架构设计和运维过程中&#xff0c;表结构变更&#xff08;DDL操作&#xff09;是不可避免的需求。GBase 8a作为国产分析型数据库代表&#xff0c;与开源M…

2026/7/9 0:04:37阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/8 6:59:54阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/8 13:42:39阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/8 13:42:39阅读更多 →