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

从内网到外网:手把手教你用FFmpeg+RTSP实现远程视频监控(2023最新版)

2023年跨网络视频监控实战基于FFmpeg与RTSP的高效部署指南在智能安防需求激增的当下远程视频监控已成为中小企业、家庭农场乃至个人工作室的刚需配置。传统方案常受限于网络边界而现代技术栈让内网摄像头穿透NAT成为可能——无需昂贵硬件仅凭开源工具链即可构建专业级监控系统。本文将拆解最新RTSP推流技术组合从协议原理到云端落地手把手实现低延迟、高可用的跨网络监控方案。1. 监控系统架构设计与核心组件选型构建跨网络视频监控系统本质上是解决三个核心问题协议兼容性、网络穿透能力和媒体流转发效率。现代方案通常采用分层架构[摄像头/NVR] │ ├── RTSP/ONVIF/GB28181内网协议 │ [边缘计算层] │ ├── FFmpeg流媒体转码 ├── SIP信令服务GB28181场景 │ [云端中继层] │ ├── SRS/ZLMediaKit流媒体服务器 ├── WebRTC网关可选 │ [客户端层] ├── Web播放器/VLC/移动端APP2023年推荐技术栈对比组件类型候选方案适用场景关键优势转码工具FFmpeg 6.0通用RTSP流转发支持硬件加速低资源占用流媒体服务器ZLMediaKit 2023.7中小规模部署GB28181原生支持毫秒级延迟SRS 6.0WebRTC集成场景完善的集群方案网络穿透Cloudflare Tunnel无公网IP环境无需配置路由器客户端播放H5 MSEWASM浏览器直接播放免插件兼容移动端提示选择GB28181协议时需确认设备支持SIP注册功能旧款摄像头可能需要固件升级2. 内网流媒体采集与协议解析实战2.1 RTSP地址发现与验证现代监控设备通常提供三种接口协议获取视频流基础RTSP地址通过设备文档或厂商工具获取格式示例rtsp://admin:password192.168.1.100:554/Streaming/Channels/101使用VLC验证连通性vlc --rtsp-tcp rtsp://admin:password192.168.1.100:554/Streaming/Channels/101ONVIF自动发现安装python-onvif工具包进行设备探测from onvif import ONVIFCamera cam ONVIFCamera(192.168.1.100, 80, admin, password) media_service cam.create_media_service() profiles media_service.GetProfiles() stream_uri media_service.GetStreamUri({ StreamSetup: {Stream: RTP-Unicast, Transport: {Protocol: RTSP}}, ProfileToken: profiles[0].token }) print(stream_uri.Uri)GB28181设备注册需搭建SIP服务器如WVP-PRO设备配置界面填入SIP服务器ID: 34020000002000000001 SIP地址: 您的云服务器IP 端口: 5060 认证ID: 340200000013200000012.2 FFmpeg高效转码参数配置针对监控场景优化的转码命令示例ffmpeg -i rtsp://source_stream -c:v libx264 -preset ultrafast -tune zerolatency \ -b:v 1500k -maxrate 1500k -bufsize 1000k -g 50 -an \ -f flv rtmp://media_server/live/stream_key关键参数解析-preset ultrafast牺牲压缩率换取更低延迟-tune zerolatency禁用帧缓冲实时模式必备-g 50每50帧插入关键帧平衡seek与延迟-an丢弃音频减少带宽监控场景常用3. 云端流媒体服务器部署进阶技巧3.1 ZLMediaKit高性能配置config.ini关键配置项[rtsp] # 启用TCP传输模式穿透防火墙更友好 tcpMode1 [hls] # 缩短切片时长降低延迟 segDur2 segNum3 [general] # 启用性能监控接口 enable_ffmpeg_log1启动服务后通过API获取推流地址curl http://127.0.0.1:8080/index/api/getMediaList?secret035c73f7-bb6b-4889-a715-d9eb2d1925cc3.2 网络穿透方案对比实施方案一端口转发需公网IP路由器配置DNAT规则外部端口: 1935 内部IP: 192.168.1.200 内部端口: 1935 协议: TCP/UDP测试连通性telnet your_public_ip 1935方案二Cloudflare Tunnel无公网IP# 安装cloudflared wget https://github.com/cloudflare/cloudflared/releases/download/2023.8.2/cloudflared-linux-amd64 chmod x cloudflared-linux-amd64 # 创建隧道 ./cloudflared-linux-amd64 tunnel create media-tunnel # 配置路由 echo https://media.yourdomain.com - http://localhost:80 ~/.cloudflared/config.yml # 启动服务 ./cloudflared-linux-amd64 tunnel run media-tunnel4. 客户端播放优化与异常处理4.1 自适应播放方案HTML5播放器集成代码示例script srchttps://cdn.jsdelivr.net/npm/flv.js1.6.2/dist/flv.min.js/script video idvideoElement controls muted/video script if (flvjs.isSupported()) { const flvPlayer flvjs.createPlayer({ type: flv, url: https://your-server/live/stream.flv, isLive: true, hasAudio: false }); flvPlayer.attachMediaElement(document.getElementById(videoElement)); flvPlayer.load(); flvPlayer.play(); } /script4.2 常见故障排查指南症状画面卡顿检查服务端CPU负载top -p $(pgrep ffmpeg)降低转码分辨率-vf scale1280:720切换传输协议RTMP→HTTP-FLV症状流中断检查FFmpeg进程存活systemctl status ffmpeg_push启用断线重连ffmpeg -reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5 -i rtsp://...症状高延迟禁用B帧-bf 0缩短GOP-g 30启用WebRTC传输需SRS服务器在最近为某连锁便利店部署的监控系统中通过组合ZLMediaKit的TCP模式和FFmpeg硬件加速VAAPI成功将端到端延迟控制在800ms以内同时支持50门店摄像头集中管理。关键发现是H.265编码在同等画质下比H.264节省40%带宽但需要客户端设备支持HEVC解码。

相关文章:

从内网到外网:手把手教你用FFmpeg+RTSP实现远程视频监控(2023最新版)

2023年跨网络视频监控实战:基于FFmpeg与RTSP的高效部署指南 在智能安防需求激增的当下,远程视频监控已成为中小企业、家庭农场乃至个人工作室的刚需配置。传统方案常受限于网络边界,而现代技术栈让内网摄像头穿透NAT成为可能——无需昂贵硬件…...

Linux服务器外网访问失败的5个常见坑点(附详细排查命令)

Linux服务器外网访问失败的5个系统性排查指南 刚部署完项目却发现外网无法访问?这可能是每个Linux运维新手都会遇到的"成人礼"。不同于零散的问题解决,本文将用系统化的排查思路,带你从底层网络原理到实操命令,彻底掌握…...

Dify 2026 API网关安全攻防推演(2024Q4最新CISA红队渗透报告深度解码)

第一章:Dify 2026 API网关安全态势全景概览Dify 2026 版本将API网关安全能力提升至企业级零信任架构标准,全面覆盖认证、授权、流量审计、策略执行与威胁响应五大核心维度。其安全态势不再依赖单点防护组件,而是通过统一策略引擎驱动动态策略…...

原子操作 CAS 与锁实现

原子操作 CAS 与锁实现 文章目录原子操作 CAS 与锁实现1. CPU 缓存架构与缓存一致性1.1 为什么需要 CPU 缓存?1.2 写回策略与缓存不一致问题1.3 缓存一致性协议:MESI 与总线嗅探2. 原子操作:不可分割的执行单元2.1 什么是原子操作&#xff1f…...

商旅MICE平台怎么选?2026高性价比平台推荐|含核心功能测评

2026年中国十大商旅MICE平台综合推荐与深度解析 随着企业数字化转型的加速和全球业务拓展的需求增长,商旅MICE(会议、奖励旅游、会议展览)管理已成为企业战略的重要组成部分。到2026年,中国商旅管理市场预计将突破5000亿规模&…...

本地部署千问大模型

下载千问大模型大家可以从魔搭社区平台,下载各种版本的各种大模型,尽量能在自己的电脑上运行,所以这边下载1.5B的版本下载后的文件夹里的东西不要动即可环境准备在开始之前,先统一环境。本文基于transformersPyTorch,支…...

C# 基于OpenCv的视觉工作流-章34-投影向量

C# 基于OpenCv的视觉工作流-章34-投影向量 本章目标: 一、投影向量;一、 投影向量 投影向量分为行投影、列投影,原理是将各行/行像素值进行汇总统计。 本例中对汇总统计进行求取平均值,截取高出平均值的部分进行数量统计。 OpenCv…...

Using Vulkan -- Queues

应用程序通过 VkQueue 提交工作,通常以 VkCommandBuffer 对象或稀疏绑定的形式提交。 提交到同一个 VkQueue 的命令缓冲区按提交顺序开始执行,但开始后允许独立推进并乱序完成。 提交到不同队列的命令缓冲区彼此之间是无序的,除非使用 VkSe…...

无人机高空工程车辆识别 高清工程车辆识别 高清车辆识别 高清铲车压路机识别 无人机矿场行人识别 深度学习yolo第10558期

工程车辆识别计算机视觉数据集数据集概览 本数据集基于高空视角遥感影像构建,聚焦工程场景目标识别,为目标检测模型提供标准化标注样本,支撑工地监测与工程管理场景应用。项目内容类别数量4类类别名称汽车、人员、工程车1、工程车2图像数量50…...

MySQL的安装和卸载组件

目录安装组件:卸载MySQL的组件手动删除目录检查服务📝前言: 我们前面学习了如何安装MySQL,但如果有一些组件需要再安装或者是卸载,可以通过下面的方法执行这个是:MySQL安装和组件安装🔗 通过搜索…...

告别手动截图!Python+SCPI让示波器自动采集数据

在日常测试工作里,频繁手动操作示波器调节参数、截图、记录数据,不仅效率低下,还容易出现操作失误和数据遗漏。借助Python/Labview/C#SCPI指令实现远程自动化控制,就能让罗德示波器自动完成电压波形采集、界面截图与原始数据保存&…...

【力扣-42. 接雨水】Python笔记

题目回顾题目编号:42 题目名称:接雨水 题目难度:困难 输入示例:height [0,1,0,2,1,0,1,3,2,1] 输出示例:6给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接…...

鸿蒙中 应用的权限:申请授权(三)

本文同步发表于我的微信公众号,微信搜索 程语新视界 即可关注,每个工作日都有文章更新 鸿蒙应用开发中,当应用需要访问用户的隐私信息或使用系统能力时(如获取位置、使用相机、访问日历等),必须向用户申请授…...

私有知识库问答合规失效真相:当Dify RAG遇上《金融消费者权益保护实施办法》,这2类元数据缺失=自动违规

第一章:私有知识库问答合规失效真相:当Dify RAG遇上《金融消费者权益保护实施办法》,这2类元数据缺失自动违规在金融行业部署基于 Dify 的 RAG(检索增强生成)系统时,仅保障答案准确性和响应速度远不足以满足…...

环境变量解密:从基础概念到云原生实践

1. 环境变量基础:从图书馆到代码世界 第一次听说环境变量时,我正坐在大学图书馆里啃着C语言教材。管理员突然广播:"考试周期间,每人限借3本书,借期缩短为15天。"看着同学们手忙脚乱地归还超额书籍&#xff0…...

遗传算法实战:从编码到优化的全流程解析

1. 初识遗传算法:从“适者生存”到代码实现 如果你玩过《文明》这类策略游戏,肯定对“迭代”和“进化”不陌生。你开局只有几个农民,通过不断探索、发展科技、调整策略,最终建立起强大的帝国。遗传算法的核心思想,和这…...

零基础玩转LobeChat:一键部署开源聊天机器人,支持语音和多模态

零基础玩转LobeChat:一键部署开源聊天机器人,支持语音和多模态 想不想拥有一个完全属于自己的智能聊天助手?它界面漂亮,反应迅速,不仅能像ChatGPT一样和你聊天,还能听懂你的语音,看懂你上传的图…...

文墨共鸣模型深度解析:卷积神经网络在文本特征提取中的角色

文墨共鸣模型深度解析:卷积神经网络在文本特征提取中的角色 最近在和一些朋友交流时,发现一个挺有意思的现象。大家一提到像文墨共鸣这类基于Transformer架构的大模型,注意力机制(Self-Attention)总是当之无愧的明星。…...

从勒索病毒到流量分析:一次完整的Solar应急响应实战复盘

1. 勒索病毒入侵的初始迹象 那天早上刚到公司,财务部同事就火急火燎地跑过来:"所有文件都打不开了!"我赶到现场一看,电脑卡得连任务管理器都要等十几秒才能弹出来。仔细检查发现CPU被一个陌生进程占满,所有文…...

智慧校园管理系统平台选型指南:如何评估未来 3-5 年扩展性

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

Message Pack 协议深度解析与实战指南

1. Message Pack协议的前世今生 第一次接触Message Pack是在2013年做游戏服务器开发时。当时我们的实时对战游戏遇到了严重的网络带宽瓶颈,JSON序列化后的玩家状态数据太大,导致同步延迟明显。尝试了各种优化方案后,同事推荐了这个来自日本的…...

Colab免费GPU+Unsloth:快速微调大模型,打造专属智能助手

Colab免费GPUUnsloth:快速微调大模型,打造专属智能助手 1. 引言 1.1 为什么选择Colab和Unsloth? 大型语言模型(LLM)如Llama、Mistral等在通用任务上表现出色,但要让它们适应特定领域(如医疗问答、法律咨询等),就需要…...

低代码≠低安全,Dify集成必须做的4项合规检查,错过将面临等保2.0一票否决!

第一章:低代码≠低安全:Dify集成中的认知误区与合规警醒在企业级AI应用快速落地的背景下,Dify作为主流低代码LLM应用开发平台,常被误读为“安全责任弱化”的代名词。事实上,低代码仅降低开发门槛,绝不稀释安…...

企业安全必看:如何检测和修复深信服NGAF防火墙文件读取漏洞

企业级防火墙安全实战:NGAF文件读取漏洞深度防御指南 在数字化转型浪潮中,防火墙作为企业网络安全的第一道防线,其安全性直接关系到核心业务系统的稳定运行。近期曝光的某主流防火墙文件读取漏洞,再次为企业安全团队敲响警钟——即…...

Granite-4.0-H-350M部署实战:Windows 11系统环境配置

Granite-4.0-H-350M部署实战:Windows 11系统环境配置 1. 为什么选择Granite-4.0-H-350M在Windows上运行 最近试用Granite-4.0-H-350M时,最直观的感受是它在普通Windows笔记本上跑得特别顺。不像一些大模型需要高端显卡和大量内存,这个350M参…...

解决OpenWRT在M93p上的Intel I217-LM网卡硬件挂起问题:驱动更新与offload关闭实战

1. 问题现象与初步诊断 最近在Lenovo M93p上部署OpenWRT时,遇到了一个让人头疼的问题——系统日志中频繁出现"Detected Hardware Unit Hang"的错误提示。这台设备使用的是Intel I217-LM网卡,在负载较高时会出现网络连接中断的情况。通过ethtoo…...

C++ 核心概念全景解析+实战思维导图

1. C知识体系全景图 第一次接触C时,我被它庞大的知识体系震撼到了。记得当时看着厚厚的《C Primer》,感觉像面对一座高不可攀的山峰。但后来我发现,只要掌握了核心脉络,C其实并没有想象中那么可怕。 C的知识体系可以形象地比作一座…...

【图文讲解】Excel如何筛选重复项?四种简单有效的筛选重复项方法

一、问题背景在用Excel整理数据时,碰到重复数据内容不仅让表格看着乱糟糟的,还容易搞乱数据统计、核算的结果,像学生成绩表里重复的分数、员工信息表里重复的姓名,都得筛选出来处理。其实筛选重复项一点都不难,掌握几个…...

Clawdbot汉化版快速部署:Docker Compose一键启停+多实例隔离(微信/WhatsApp分环境)

Clawdbot汉化版快速部署:Docker Compose一键启停多实例隔离(微信/WhatsApp分环境) 1. 项目概述 Clawdbot汉化版是一个可以在微信、WhatsApp、Telegram等社交平台中使用的智能对话助手。它让你能够在熟悉的聊天软件中直接与AI对话&#xff0…...

华为路由器实战:OSPF NSSA区域配置避坑指南(附完整拓扑实验)

华为路由器实战:OSPF NSSA区域配置避坑指南(附完整拓扑实验) 在大型企业或服务提供商网络的设计与运维中,OSPF作为核心的IGP协议,其区域化设计是控制路由信息泛洪、优化设备性能的关键。对于许多从理论走向实践的工程师…...