尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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 放到网页上播放。我是黒漂技术佬。
RELATED

相关推荐

计算机毕业设计之旅行社网站的设计与实现

计算机毕业设计之旅行社网站的设计与实现

伴随着社会以及科学技术的发展,互联网已经渗透在人们的身边,网络慢慢的变成了人们的生活必不可少的一部分,紧接着网络飞速的发展,系统管理这一名词已不陌生,越来越多的旅行社等机构都会定制一款属于自己个性化的管理系…

📅 2026/9/10 18:33:28
模型路由器架构:智能调度AI模型实现成本与性能优化

模型路由器架构:智能调度AI模型实现成本与性能优化

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 在构建复杂AI应用时,单一模型往往难以应对多样化的任务需求。传统做法要么使用超大模型"一刀切"处理所有问题&a…

📅 2026/9/10 5:02:19
2026年批量AI外呼机器人选型指南:合规、效率与成本全解析

2026年批量AI外呼机器人选型指南:合规、效率与成本全解析

说明:本文依据《电信条例》《个人信息保护法》、工信部呼叫中心监管规范及2025年智能呼叫中心行业白皮书撰写。文中数据来源于厂商公开实测、行业通用基准及公开案例,遵循事实与观点分离原则,旨在提供可量化的选型参考。 一、批量AI外呼机器人…

📅 2026/9/10 10:57:23
MORE NEWS

更多资讯

📰

无锡南途科技:GEO优化服务如何帮工厂打赢AI搜索信任战

AI搜索正在改变企业获取客户的路径。当采购商在DeepSeek或豆包中输入“无锡地板厂家哪家靠谱”,大模型不会返回一排蓝色链接,而是直接生成一段带有引用的答案。这段答案里出现谁、引用谁,取决于模型对企业信源可信度的判断。E-E-A-T——经验、…

📰

core-js 中 `Symbol.prototype.description` 提案的实现与使用

core-js 中 Symbol.prototype.description 提案的实现与使用 【免费下载链接】core-js Standard Library 项目地址: https://gitcode.com/GitHub_Trending/co/core-js Symbol.prototype.description 是一个只读访问器属性,用于获取 Symbol 在创建时传入的描述…

📰

无锡南途科技:GEO优化如何重构企业内容与AI搜索的信任链

大模型搜索的普及正在改变一个根本问题:用户不再满足于十条蓝色链接,而是期待一个经过推理、整合、带有信源引用的直接答案。这种变化对内容生态的冲击是结构性的。过去围绕关键词密度和反向链接构建的排名逻辑,正在让位于以实体关系为核心的…

📰

基于 awesome-copilot 的 Arize 人工标注实战:Annotation Config、Queue 编排与 Python SDK 批量打标

基于 awesome-copilot 的 Arize 人工标注实战:Annotation Config、Queue 编排与 Python SDK 批量打标 【免费下载链接】awesome-copilot Community-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot. …

📰

无锡南途科技:AI搜索驱动下内容生态的信任重构

AI搜索正在改变内容分发的底层规则。传统搜索引擎以链接列表回应查询,用户需自行筛选判断;而生成式引擎直接输出整合后的答案,内容能否被引用,取决于其是否被模型判定为可信信源。这一转变带来两个显著影响:用户行为从…

📰

开源提示词模板库实战:从结构化设计到跨模型复用

1. 从到处CtrlC到自建提示词库:我为什么要做这个开源项目 先交代下背景。过去一年里,我几乎每天都在和提示词打交道。无论是日常的内容创作、代码调试,还是团队内部的项目协作,提示词都成了绕不开的入口。但真正让我暴躁到想骂人的…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬