前端时间给客户做了一套厂区监控,12台大华网络摄像机分布在四个点位,要求录像不在本地存,统一回传一台专用FTP服务器,方便集中调阅和长期归档。这类需求这两年确实越来越多,很多做安防的朋友也都问过我大华摄像机到底怎么配置FTP推送存储。我干脆把整套流程从服务器搭建到摄像机端配置,再到实际踩过的那些坑一次说清楚。不管你是给门店做监控,还是自己单位里有一两台大华摄像机想远程备份录像,这篇文章按步骤跟着做就能搞定。
1. 方案怎么选:为什么舍SD卡和NVR,选FTP存储
很多人在做监控方案的时候第一反应是“直接上NVR不就行了”,确实,NVR是主流选择。但当点位分散、需要把数据统一放到一个指定的存储节点、或者需要和现有业务系统共用存储资源时,FTP承载的视频/图片推送方案反而更灵活。
1.1 FTP存储适合什么样的环境
FTP存储本质上是让摄像机自己把录像文件或抓拍图片上传到你指定的FTP服务器目录里。听起来很简单,但它在实际项目里适合的场景其实非常明确。
第一类是点位分散的项目。比如连锁门店,每家门面只有一两台摄像机,给每家单独配一台NVR经济性很差,设备量也多。这时候把几十个门店的摄像机全部指向公司总部的FTP服务器,文件按门店编号、日期自动分类,总部随时能翻到任意一家店的录像。
第二类是已有NAS或文件服务器的环境。很多公司本身就有群晖、威联通,或者Windows服务器在跑文件共享服务。摄像机支持FTP推送之后,直接在存储服务器上分配一个目录就能当录像仓库用,不用额外采购硬件,预算友好。
第三类是对录像凭证要求较高的场景。比如出入口车牌的抓拍图片、收银台的交易抓拍,后台系统可能还要定期采集这些文件做OCR或人工复核。文件直接落到FTP目录里,其他系统直接读目录处理,比从NVR导录像方便得多。
1.2 存储方案横向对比
我把常用的几种监控存储方案拆开对比过,各有明显倾向性,FTP方案能在里面立住脚恰恰是因为它简单和通用。
| 方案 | 优点 | 缺点 | 适合场景 |
|---|---|---|---|
| SD卡本地存储 | 部署零成本,断网也能录 | 容量小,卡容易坏,不方便统一管理 | 单机临时使用 |
| NVR一体方案 | 管理功能全,回放体验好,支持报警联动 | 设备预算高,点位分散时不好集中 | 单点/园区项目主力 |
| FTP服务器存储 | 存储成本可控,服务器可复用,目录文件开放 | 管理功能弱,回放依赖文件方式,配置需要动手 | 多点位集中归档、图片抓拍 |
| 云存储方案 | 不用运维,随时随地看 | 流量和存储费长期算下来贵,视频出域有合规问题 | 个人少量点位 |
从表格也能看出来,FTP方案的管理能力和回放体验确实不如NVR,但它的优势是“把录像变成普通文件”。一旦视频变成文件,后续你要做数据分析、对接业务系统、自动清理过期数据,都是文件系统层的事,可控性很高。
1.3 整体数据流转方式
整套方案的链路其实不复杂:大华网络摄像机在本地录制视频/抓拍图片时,按照你的计划配置,将生成的文件通过FTP协议上传到存储服务器的指定目录里。摄像机与服务器之间只需要网络TCP/IP通,端口21默认走FTP控制连接,数据通道视主动/被动模式动态协商。
我在项目中用的实际拓扑是:厂区交换机下面挂摄像机,服务器也接在同一个三层交换机上。如果把服务器放在分部,摄像机在另一个城市,那中间需要解决网络互通问题,常见做法是专线或者通过路由器端口映射方式把FTP服务映射到公网IP上,不过这也意味着被动模式端口和防火墙上要做相应放行,后面排查部分我会单独说。
2. 服务器端准备:把Windows机器变成一台稳妥的FTP存储服务器
FTP服务器的搭建方式很多,Linux下有vsftpd,Windows下有IIS自带的FTP服务,也有FileZilla Server这种轻量程序。考虑到很多用户手头的机器就是一台普通Windows电脑或者Windows Server,我先讲Windows下最稳的方案,不同版本系统操作差异不大。
2.1 磁盘规划与空间估算
在动手搭服务之前,请先花几分钟算清楚存储容量。别小看这一步,我见过不止一个项目因为空间算少了,跑了三个月硬盘写满,监控悄悄停录,客户来问的时候一脸尴尬。
录像占用空间和码流直接相关。大华摄像机主码流一般设置成4Mbps左右,单路一天录像量大概在40GB上下。我习惯用一个逆推公式:
单路日存储量(GB) = 码流(Mbps) / 8 × 3600秒 × 24小时 / 1024
按4Mbps算下来约42GB,如果分辨率是400万像素且帧率25fps、码流会更高一些,实际可以打到相机端看“编码”页面里的实时码率。图片抓拍的占用就少多了,一张200万像素JPEG大约200KB左右,就算每秒抓一张,一天也就17GB左右。
我建议在搭建前画一张简单的表,填入点位数量、单台码流、保留天数,算出一个总容量,再去给磁盘分区。比如12台摄像机,主码流4Mbps,保留30天,总容量就是42GB乘以12再乘以30,大约15TB。这种情况下单盘肯定不够,要做RAID或者至少挂两块大容量盘分别做目录。空间规划做好了,后面运维能省一大半心。
2.2 用IIS搭建FTP服务的完整步骤
Windows系统自带IIS组件,不用额外安装第三方程序,这也是我最推荐新手使用的方式。以Windows Server 2019为例,步骤如下:
第一步,打开“服务器管理器”,点击“添加角色和功能”,在“服务器角色”里勾选“Web服务器(IIS)”,然后在角色服务里勾选“FTP服务器”和“FTP扩展性”。如果只是本机测试,在Windows 10/11专业版也可以用控制面板“启用或关闭Windows功能”找到IIS下的FTP服务勾选。
第二步,安装完成后,在“管理工具”里打开“Internet Information Services (IIS)管理器”,找到左侧的“网站”节点,右键选择“添加FTP站点”。
第三步,站点名称随意,比如“CameraStorage”,物理路径指定到你准备存监控文件的目录,比如D:\FTPRoot。这里建议提前把分区和数据盘准备好,不要把系统C盘当作存储盘用。
第四步,绑定设置里IP地址选择“全部未分配”或指定服务器内网IP,端口默认21。SSL选项在纯内网环境下选择“无SSL”。如果用公网传输,至少应该考虑FTPS,但大华部分老固件对FTPS支持一般,内网项目通常无SSL即可。
第五步,身份验证信息设置。勾选“基本”,授权允许访问用户处可以指定“所有用户”或“指定角色/用户组”,读写权限都勾上。IIS默认会以Windows账户作为FTP登录用户,所以还要在系统里创建一个专门账户,比如ftpuser,并赋予它对D:\FTPRoot的读取写入权限,权限在文件夹属性的“安全”页签里设置。
到这里IIS的FTP服务基本能跑起来。用本机的文件资源管理器输入 ftp://127.0.0.1 测试一下,能登录并能创建目录,服务器端就算OK了。
2.3 FileZilla Server作为轻量备选
如果你用的机器是普通办公电脑,不想装IIS那样重的角色,或者Windows家庭版里找不到IIS功能,FileZilla Server是很好的替代品。它的安装包很小,配置界面清晰,而且对主动/被动模式控制比IIS直观。
FileZilla Server安装时选择“Standard”模式,服务随系统启动,管理端口默认14147,安装完成后用Administrator账号登录管理界面。在“Edit”菜单下的“Users”里添加FTP账号,指定home目录并勾选“Read”和“Write”权限。然后在“Edit”下的“Settings”里找到“Passive mode settings”,设置被动模式端口范围,比如自定义为50000到50300,这样方便防火墙规则精确放行。
和IIS相比,FileZilla的日志更清楚,FTP交互过程都会打在日志窗口里,排查问题时能直接看到FTP响应码,这一点在实际项目里非常有用。我个人如果临时给客户搭存储节点,更倾向于用FileZilla,因为调试速度快。
2.4 防火墙放行与端口范围
这是搭建环节里最容易翻车的地方,也是搜索词里“windows服务器ftp防火墙设置”被反复搜的原因。很多人的FTP服务启动正常,但摄像机就是连不上,十有八九是Windows防火墙拦截了。
需要放行的规则分两块:控制连接端口TCP 21,以及被动模式下的数据连接端口范围。如果用了IIS,在IIS管理器左侧选中服务器节点(不是站点节点),双击“FTP防火墙支持”,填入防火墙的外部IP地址和“数据通道端口范围”,通常写成1024-65535或者更窄的50000-50300,然后把这个范围加入防火墙入站规则。如果用了FileZilla,则在设置里自定义一个连续的端口段。
在“高级安全Windows防火墙”中新建两条入站规则,一条放行TCP 21,另一条放行你设置的被动端口范围,作用域选择“任何IP地址”即可。新手容易只放行21端口,导致摄像机登录成功但传文件的时候卡在0%,画面停在“正在连接数据通道”,其实就是被动端口没通。
还要检查一下FTP服务器所在的这台Windows机器,网络配置文件是否为“专用”,有时候公共网络的防火墙规则会更严格,导致自定义入站规则不生效。把网络配置文件切成专用,再确保规则启用,基本上就稳了。
3. 大华摄像机端配置全流程
服务器端准备好之后,剩下的重点就是摄像机侧配置。大华网络摄像机的Web管理界面在近几代固件上做了不少调整,不同型号菜单名会略有差异,比如老款叫“存储设置”,新款叫“存储管理”,核心配置逻辑是一致的。
3.1 连接摄像机与初始化
新出的大华摄像机默认IP通常为192.168.1.108,用户名admin,首次登录会强制要求设置激活密码。我建议在配置FTP之前,先把摄像机接入与FTP服务器互通的局域网段,然后规划好摄像机的固定IP,避免以后电池项目重启后IP漂移导致上传中断。
浏览器访问摄像机IP时,如果打不开,先检查本机网段是否一致。很多旧型号的Web插件依赖Internet Explorer模式或ActiveX控件,建议在浏览器设置里开启兼容性视图,或者直接安装最新版大华插件。新版固件已经支持Chrome、Edge的无插件预览,但配置页某些元素偶尔还是会有兼容问题,火狐或者电脑上换台浏览器往往能解决。
登录后建议先做四件事:修改默认端口和强密码、调整系统时间为当前时区、配置NTP服务器地址、校准码流参数。时间同步这件事尤其重要,FTP目录如果是按日期自动创建,摄像机时间不对,文件就会落到错误的日期文件夹里,后期查找会非常痛苦。
3.2 FTP存储参数设置详解
在Web管理界面找到“存储管理”或“存储设置”,点开“FTP”页签,这就是关键的配置页。
启用FTP存储开关先打开。接着填服务器地址,支持IP和域名两种方式。如果用域名,需要在摄像机的“网络设置”里填好DNS服务器,否则域名解析走不通。端口默认21,除非你在服务器端改了监听端口,否则不用动。
用户名和密码填刚才在服务器端创建的FTP账号。需要注意,IIS模式下如果授权用户是Windows账户,就要填Windows账户名和密码;FileZilla的话填你自己创建的账号即可。存储路径这里可以写得具体一点,比如 /cam01,摄像机在连接后会在这个路径下自动构建目录结构。如果远程目录不存在但FTP用户权限足够,大华摄像机会尝试自动创建,不放心的话可以先在服务器端建好目录。
传输模式选择上,同一局域网内主动被动都行,跨网段或经路由器NAT转发,最好选“被动模式”。大华部分型号的FTP配置页里有“传输模式”下拉框,默认可能是“主动”,我们实际项目中只要出现跨网段上传不稳定的问题,第一件事就是把它切到被动模式,问题往往立刻缓解,原因是主动模式下服务器会主动向摄像机IP的随机端口回连,经过NAT时很容易被丢包。另外“图片文件名”和“文件命名规则”可以根据厂家原厂播放器习惯来调整,我一般保持默认,只在“远程目录”里带上摄像机位置信息,便于后期管理。
FTP配置页里还有一个细节点:部分固件允许设置“定时上传”和“事件上传”两份FTP策略。定时上传适合持续录像归档,事件上传适合抓拍报警图片。这两份策略互相独立,实际项目中经常有人只配了事件上传,结果日常定时录像完全没有,事后查录像才发现是个空架子。
3.3 存储计划和上传策略
FTP地址配完后,别急着关闭页面,还要在“存储计划”里设置真正的上传时间窗口。大华摄像机存储计划的一般逻辑是:你可以分别给“定时录像”“报警录像”“定时抓图”“报警抓图”设置通道计划。
以全天定时录像上传为例:在“存储计划”页面,选择对应通道,录像类型选“定时”,按7天或按星期拖出一个全天时间格,确定后保存。录像文件会按计划产生,再通过FTP策略上传到服务器。这里的注意点是“上传”操作不是实时的,摄像机内部会根据文件生成周期和FTP带宽自动排队上传。如果单路主码流码率高,FTP服务器性能又有限,可能出现上传滞后,磁盘上堆积一些待传文件。针对这种情况,一是降低录像码流,二是在服务器端确认网卡带宽和磁盘速度,三是不要把几十路视频全丢给一台低配主机。
抓图策略同理,在“抓拍计划”里设定时间间隔,比如每分钟抓一张,配合事件联动,可以实现低码率的定时图片存档。这个尤其适合收银台、仓储门口这类不需要连续录像只留关键画面的场景。
3.4 测试与录像文件验证
所有参数配置完成后,点击“测试”按钮。大华摄像机会向FTP服务器发起一次连接测试,并返回“连接成功”或相关错误码。连接成功不代表配置就完全正确,我见过测试成功但实际录像一直没传上来的情况,原因出在存储计划没有生效或者文件上传策略没选对。
测试完毕后,最稳妥的验证方法是等几分钟,去FTP服务器的目标目录里看有没有真实文件出现。打开目录,正常应该看到按摄像机名称或日期生成的文件夹,里面出现后缀为.dav(录像)或.jpg(图片)的文件。.dav文件是大华的私有录像格式,直接用Windows播放器打不开,需要安装大华智能播放器SmartPlayer,或者通过大华录像机、Web插件回放。如果服务器目录里已经能刷出文件,并且文件时间和大小正常,那这条上传链路就是通的。
我在第一次做这个项目的时候,测试完连接成功就以为搞定了,直到第二天想回放录像才发现服务器上什么都没有。后来检查发现存储计划里“定时录像”时间格没保存成功,页面一直停在前一天。所以现在每次配置完,我都会故意在摄像机前面来回走动几下,制造一段活动录像,然后亲眼看到文件出现在FTP目录里才算验收通过。
4. 实战中高频踩坑与排查方法
这部分是文章的精髓部分,全是从实际项目里一个个试出来、搜出来的答案。摄像机FTP存储不难配,但是遇到问题如果没有排查思路,真的是抓瞎。
4.1 连接测试总失败
登录FTP服务器时提示“连接失败”或“服务器无响应”,这是出现频率最高的问题。按照我从下往上的排查顺序:先检查网络能不能通,服务器本机防火墙是否放行21端口,再检查FTP服务是否在运行。
本机测通后,再在摄像机配置页面点测试。如果局域网内直接连FTP服务器没问题,但跨网段失败,重点检查路由器和交换机上有没有做访问控制,或者目标服务器的入站规则是否存在。
另外一个容易被忽略的点是Windows账户密码策略。很多Windows Server启用了“密码必须符合复杂性要求”和“定期强制修改密码”,FTP账号密码过期了,摄像机当然连不上。我在一个连锁项目里就撞上过这种问题:服务器管理员每个月强制改密,运维同事只改了系统登录密码,忘了更新摄像机里的FTP密码,于是每月月底监控存储就悄悄断掉,直到下月初才恢复。解决方法是给FTP服务建专门的服务账户,取消密码过期选项,或者直接禁用账户的“密码永不过期”属性。
4.2 文件上传后打不开或时间错乱
常见情况是.dav文件能在服务器上看到,但播放器打不开,或者文件大小异常。如果文件始终是0KB,多半是FTP数据通道没建立,重点检查被动模式端口范围是否放行。
文件播放不了还有一种常见原因:摄像机在上传过程中断电或网络中断,导致文件只有文件的头部信息没有完整数据。大华有的机型在上传功能上提供“断网续传”选项,在存储计划或FTP设置里有一项“断网重连后继续上传”,建议打开。虽然不能保证百分之百不丢片段,但能把断网期间的录像补传回来大半。
时间错乱则是摄像机系统时间和服务器时间偏差导致的。如果你在FTP目录里设置了按日期自动归档,时间不准会把文件存到前一天或后一天的目录里去。稳妥做法是一边在摄像机Web端开启NTP时间同步,指向可靠的NTP服务器,另一边在存储服务器上也配置同样的NTP源,确保双方基准时间一致。
4.3 跨网段上传不稳定
摄像机上报的是局域网内的FTP服务器,基本没什么问题。一旦FTP服务器部署在异地,比如总部机房,分部将通过专线或公网链路向总部传输视频流量,问题就来了。
首先,公网链路的带宽和稳定性决定了你能不能传主码流。4Mbps码流算上TCP传输和分片开销,实际占用带宽约5Mbps左右,10路摄像机同时传就需要50Mbps上行带宽。许多位置的上行带宽根本达不到这个级别,结果就是FTP上传长期排队、录像在本地堆积占满了SD卡。
其次是前面提到的主动模式难题。跨网段完成端口映射后,外部网络环境中的NAT对主动模式不友好,一定要把传输模式切换为被动模式,读到这里如果还没改,现在就去把摄像机和FTP服务器两侧都确认一遍。
再次是FTP服务器的被动端口范围是否完整映射并放行。通过路由器做端口映射时,很多人只映射了21端口,导致了控制连接建立成功、数据连接超时的经典问题。解决方法是把你在服务器端设置的那段被动端口,如50000-50300,全部在路由器映射到FTP服务器的内网IP上。
4.4 长期运行的几个隐藏坑
长时间运行后,磁盘写满是分布式存储里最常见的故障点。摄像机端会反复重试,FTP服务日志里全是写入失败记录,但摄像机界面上的FTP连接状态可能仍然显示正常,监控人员不主动检查根本发现不了。我的习惯是每月写一个自动清理脚本,按日期删除超过保留期限的目录。在Windows上可以用计划任务跑批处理,在Linux上写crontab,具体脚本网上都有,主力是递归删除N天前修改过的文件。
还有一个坑是单文件大小超限。FTP传输协议本身对文件大小没有明确限制,但Windows文件系统单文件最大支持到16TB,这个基本碰不到;倒是摄像机如果设置了很高的码流,单个录像文件可能非常大,录像文件达到一定大小后大华摄像机会自动分段生成新文件。这个参数在编码设置里可以调整分段时长,一般默认15到30分钟一段,不需要动,因为分段过短会产生大量小文件,反而影响FTP传输效率和后期检索。
5. 多路摄像机统一归档:运维思路比配置更值钱
当项目从一两台摄像机扩展到几十台时,FTP存储方案的瓶颈往往不在技术上,而在目录组织和运维习惯上。
5.1 目录规划与命名规范
我强烈建议在项目开始时就把目录结构定成“服务器根目录/点位名称/日期”的三层结构。如果你想保持每台摄像机的文件不串,可以为每台摄像机创建单独的FTP账号,把每个账号的根目录锁定到指定路径,大华摄像机端“存储路径”只填一个斜杠或相对路径即可,这样即使某台摄像机配置错误,也只影响自己的目录,不会污染其他点位的文件。
命名规范也值得统一:建议使用“日期_通道号_时间.dav”这类格式。大华默认的文件命名已经包含通道和时间信息,正常情况下不需要额外修改,但如果同一台摄像机有多个码流进程或者多路AI抓拍,建议在远程目录里用“通道号+具体任务类型”区隔,比如/CH1/archive、/CH1/plate。这样后期要按事件或报警线索调视频时,效率会高很多。
5.2 容量监控与数据清理策略
服务器端的磁盘容量监控比想象中更重要。Windows自带“存储感知”能看大概空间,但不够精确。我一般用一个简单方案:在服务器上写一个PowerShell脚本,每天检查磁盘剩余空间,低于阈值就往邮箱或企业微信群发一条告警。有条件的话用Zabbix这类监控工具统一盯,没条件就用bat脚本加计划任务,五分钟之内就能布置好。
清理策略要和生产需求匹配。如果客户要求的保留期是90天,那么清理任务就删90天之前的目录。脚本里要特别小心“按文件修改时间”还是“按目录名称日期”判断,建议以目录名日期为准,因为这个更直观,避免因为FTP上传偶尔延迟导致文件修改时间和实际拍摄时间不一致而误删。
我自己在实际运维中还养成一个习惯:每季度抽查两到三天的录像,用SmartPlayer随机打开几个时间点回放,确认画面清晰度和码流正常。这套“服务器端验证+定期清理+容量告警”的组合下来,FTP存储方案基本能做到无人值守稳定运行。
根据我个人的经验,大华摄像机做FTP存储最怕的不是配置难,而是配完不管。用FTP方式做监控存储,本质上就是在搭建一条文件流水线——摄像机是源头,服务器是池子,目录规范是分拣员,清理策略是循环系统。只要把这几条理顺,这个方案无论是成本还是可靠性,都完全不输一台中端NVR。