GB28181与RTSP/ONVIF协同实现视频AI平台低成本摄像头接入
1. 方案选型为什么视频AI平台绕不开GB28181和RTSP/ONVIF先交代一下背景。我手上这套视频AI平台主要做两件事一是把分散在几十个项目的几百路摄像头全部统一接入二是基于这些实时视频流做结构化分析比如区域入侵、烟火识别、工服检测这类算法。设备端什么牌子都有海康、大华、宇视还有一堆叫不上名字的小厂货甚至还有一部分是用户自己拿旧手机改的RTSP推流。最开始我也想过全走厂家SDK但后来发现这条路根本走不通——每接一个品牌就要单独开发一套光海康的ISAPI和大华的SDK就够喝一壶的更别提有些小众设备只给个RTSP地址连SDK都不愿意提供。最后我定下来的方案是平台侧只保留三条协议通道GB28181为主、RTSP为辅、ONVIF做设备发现和参数配置然后所有摄像头的接入成本几乎为零后续算法调用的流也全部统一成RTSP。先说GB28181。它是国内安防设备接入平台的事实标准国标协议信令走SIP媒体走RTP/RTCP。几乎所有国标设备都内置了这个协议海康、大华在中高端型号里默认就支持只要在网页端打开GB28181接入选项填上SIP服务器IP、端口、设备ID这些参数就能上线。平台这边用开源方案做SIP服务器设备上线后主动注册平台发起实时视频、云台控制、录像回放这些操作信令和媒体都走标准流程。这套链路最大的优点是你根本不用碰设备厂家私有协议只跟SIP打交道。RTSP则是最后一道兜底。不是所有设备都支持GB28181尤其是老型号或者一些IPC模组方案的小摄像头它们可能只提供一个RTSP地址类似rtsp://admin:passwordip:554/Streaming/Channels/101。这种情况就必须用RTSP拉流的方式作为补充接入。平台这边做一个RTSP拉流网关统一把不同的RTSP地址拉回来再转成平台内部统一的流格式后续AI分析模块只认这一种格式不用关心源流是什么编码、什么分辨率。ONVIF的角色容易被忽略但实际很关键。它是设备发现和参数配置的标准协议设备在局域网内会广播自己的ONVIF服务地址用ONVIF Device Manager这类工具就能扫描到设备还能改IP、改OSD、调帧率码率。对于一台不知道IP、不知道账号密码的摄像头你靠ONVIF找到它然后重置参数是最快的路径。我甚至遇到过GB28181注册到平台后画面黑屏的情况排查到最后是通过ONVIF把设备的时间源改成NTP同步才解决的。所以ONVIF在我这套体系里不是用来拉流的而是用来做设备侧诊断和预配置的。选型逻辑也很简单GB28181解决国产设备大规模接入的问题RTSP解决零散设备兼容的问题ONVIF解决设备前期的发现和配置问题。三者的关系就像一条流水线——ONVIF负责把设备理清楚GB28181把设备纳进来RTSP把设备用起来。这个架构跑下来我最大的感受是不要试图用一种协议解决所有问题把三种协议用在它们最擅长的地方平台的接入成本才会真正降下来。2. 平台核心架构与零成本接入设计拆解2.1 接入层SIP服务器与设备注册流程平台接入层的核心是一个基于开源SIP服务器搭建的GB28181信令网关。设备注册的流程是这样的设备端配置好SIP服务器IP、端口、账号和密码后会周期性地发送SIP REGISTER请求服务器收到注册请求后返回200 OK设备就算上线了。这个周期默认一般是60秒或者120秒具体看设备型号。注册成功后平台需要从设备的SIP信令里解析出设备编码、通道编码、设备名称、IP地址这些基础信息然后把它们写入平台的设备资源表。这一步做完平台上就能看到某项目-某点位-某通道这样的完整资源树了。这里有一个细节设备名称和通道名称不能只依赖设备自己上报因为很多现场工作人员填设备名很不规范什么摄像头1前段2都有。我是在平台上加了一个设备重命名功能管理员可以手动把GB28181设备ID映射成业务名称比如把通道ID34020000001310000001映射成一号厂房北门。这样后续算法告警、录像回放都直接用业务名称不会出现分析结果里冒出一串数字ID的尴尬。信令网关还需要处理心跳。GB28181协议里设备会周期性发送MESSAGE消息作为心跳默认心跳间隔一般是60秒但海康的设备在GB28181接入配置页面里有一个心跳周期参数单位是秒默认值通常是60可以自己改成30或者120。这里我要重点说一句心跳周期太短会增大信令服务器的压力心跳周期太长又会导致平台误判设备离线。对于几百路设备的项目我一般建议设成60秒服务器设备和平台都能接受。对于4G摄像头这类网络不稳定的场景反而建议把心跳周期调大一点比如90秒到120秒因为4G网络本身就是非可靠链路心跳太快会因为网络抖动产生大量误报离线。注册和心跳是GB28181接入最基础的两件事但也是最容易出问题的地方。我统计过自己这边项目里接入失败的案例至少有四成是出在注册和心跳上要么是SIP端口没放通要么是设备ID和平台不匹配要么是心跳超时导致设备反复离线。后面第4章我会专门列一张排查对照表。2.2 流媒体层GB28181媒体流接收与RTSP拉流网关设备注册成功后平台要发起实时视频走的是GB28181的INVITE信令流程。平台SIP服务器往设备发INVITE请求请求中携带SDP信息说明要接收的媒体格式和端口设备收到后回复200 OK然后往平台指定的端口推RTP流。这里最容易踩坑的地方是SDP协商。GB28181默认是用TCP还是UDP传媒体国标里是两种情况都允许但很多设备出厂默认是UDP如果你的平台侧流媒体服务只监听TCP端口那就会一直黑屏。我的做法是平台侧同时监听TCP和UDP而且SDP里把两种传输方式都写清楚协商的时候跟随设备能力走保证最大兼容性。收到RTP流之后还要做两件事才能变成可用的流一是RTP负载类型解析H264/H265的RTP打包规范不一样H264通常用单一NALU模式或者FU-A分片模式H265的打包逻辑又略有差异解析错了画面就会花屏或者直接绿屏二是音视频同步GB28181的RTP包里时间戳是采样频率单位视频90000Hz、音频8000Hz平台要做的是把音视频时间戳统一换算到同一个时间基准线上不然播放器切音轨或者录像存储时会出现音画不同步。RTSP拉流网关的原理更简单直接。输入是一个RTSP URL网关用FFmpeg或者其他推流组件去拉这个地址然后把拉回来的流重新打包成平台统一的流格式。这里我自定义了一套内部拉流策略对每一路RTSP源平台会维护一个会话会话里有拉流状态、错误重试次数、最近帧时间戳、帧率、码率这些信息。AI分析模块要拉流时不会直接去连设备而是通过这个会话去拿实时帧或者子流。这样做的好处是多个算法服务要分析同一路摄像头时摄像机只需要推一路流到平台平台再分发避免摄像机因为多路并发拉流导致的性能问题。实测下来有些低端IPC并发拉流超过4路就会死机或者重启接上平台这个转发层之后这个故障再没有出现过。2.3 分析侧AI模块统一消费视频流的接口设计AI分析模块对接视频流的方式我建议是统一走RTSP拉流或者WebRTC。项目里用的算法主要是基于深度学习的目标检测和行为分析模型它们对输入流的要求通常是H264编码、不超过1080P、帧率不低于10fps、最好是关键帧间隔不超过2秒否则检测效果会明显下降。实际项目里摄像头的编码格式、分辨率、帧率参差不齐所以我在平台侧设置了一个流转换层。所有流入平台的流包括GB28181接收的RTP流和RTSP拉回来的流都会经过一个转码模块统一输出成H264 High Profile、分辨率720P或者1080P、GOP为2秒的RTSP流算法服务按需拉取。这个转码过程虽然会给服务器增加一些CPU开销但换来的是算法模块的调试体验大幅提升——不用再为某一个摄像头单独调参数。我用一台带核显的普通服务器实测过单机转码16路1080P H264CPU占用大概在40%左右加一个低端GPU卡可以把转码任务卸载到GPUCPU占用能降到10%以下。还有一个容易被忽略的点是音频。GB28181的音频编码一般是G711A或者G711UAI分析时如果只需要视频可以不在SDP里协商音频减少一条流媒体的带宽和转码开销。但如果你要做语音对讲或者语音告警联动就必须把音频链路完整走通而且要注意音频的RTP时间戳处理和视频是独立的需要单独做时间基准转换。我自己的平台是先视频后音频视频链路稳定之后再逐步加音频这样出问题的时候定位范围会小很多。3. 实操实录五步完成GB28181设备接入到AI分析链路打通3.1 环境准备与软件选型我用的这套方案软件部分全部是开源和免费工具没有花一分钱买商业流媒体平台。核心组件如下SIP信令服务器开源GB28181 SIP服务器负责设备注册、心跳、INVITE信令交互。流媒体服务基于FFmpeg做RTP接收、转码和RTSP输出配合一个自研的流管理进程。ONVIF工具ONVIF Device Manager用于设备发现、参数修改和诊断。算法模块基于开源深度学习推理框架通过RTSP拉流做实时分析。硬件方面一台普通PC服务器就够了。我测试用的机器是E5-2650 v4双路、64GB内存、一块GTX 1080显卡实测跑16路1080P实时分析GPU占用在70%左右CPU占用不到50%非常稳定。需要说明的是算法这东西吃的是推理算力拉流和转码吃的是CPU和内存如果只做接入不做分析普通4核8G的机器就能扛住30路以上的GB28181接入。部署逻辑上SIP服务器、流媒体服务、算法服务三个进程可以放在同一台机器上也可以分开部署。小规模项目建议合并部署省运维成本大规模项目建议SIP服务器单独一台流媒体和算法按需扩展。3.2 海康摄像头GB28181接入的完整配置海康摄像头的接入配置在网页端网络-高级设置-平台接入里找到GB28181页面把启用打开然后填几个关键参数SIP服务器IP填平台服务器的IP地址。SIP服务器端口默认5060。设备编码这个是身份的ID系统自动生成一串20位数字也可以手动改但要保证全平台唯一。通道编码一个摄像头对应一个通道编码同样要保证唯一。注册有效期默认3600秒不用改。心跳周期默认60秒4G环境改成90秒更稳。密码设备侧和平台侧保持一致。配置完保存后摄像头的SIP状态会显示在线或者注册成功。如果平台这边一直看不到设备上线先检查网络是否能通再检查SIP服务器的5060端口是否监听UDP最后看设备侧的状态页面是否提示发送注册请求成功。我遇到过一个很奇怪的问题海康摄像头的GB28181页面填写设备编码时如果填得不规范比如长度不对或者中间有空格设备侧会报参数错误。有些型号的海康摄像头设备编码必须严格是18位或者20位数字不能是字母。设备编码的规范是中心编码行业编码类型编码序号实际使用中最关键的是序号部分不要和其他通道重复否则会造成信令串线平台会把流发给错误的通道。3.3 RTSP取流地址与平台拉流策略RTSP地址的格式各厂家略有差异但基本规律是rtsp://用户名:密码IP:端口/路径。海康比较常见的是rtsp://admin:password192.168.1.64:554/Streaming/Channels/101其中101代表主码流第1通道201代表子码流。大华是rtsp://admin:password192.168.1.64:554/cam/realmonitor?channel1subtype0subtype为0是主码流1是子码流。萤石私有设备取流地址通常是rtsp://admin:passwordip:554/h264/ch1/main/av_stream但要注意萤石设备如果开启了加密RTSP会被强制禁止。拉流策略这里有一个关键决策AI分析该用主码流还是子码流不同项目的选择完全不同。对于人脸识别这类对清晰度要求高的场景必须用主码流1080P或者更高对于人员逗留、区域入侵这类只要看出有没有人动的场景子码流就够720P甚至4CIF都行带宽占用能少一半不止。我自己的经验是接入平台时默认拉主码流但给每一路都配一个分析码流字段算法按需选择主码流或子码流。这样既保证了画质又不会白白浪费带宽和算力。拉流过程中常见的问题是连接超时和断流重连。RTSP拉流默认超时时间我设在5秒重试间隔3秒最多连续重试10次。如果设备端密码错误或者RTSP服务没启动平台会很快标记这路摄像头拉流失败并在告警里明确提示具体错误码运维人员不用去猜。这里我强烈建议在平台里做一个流健康检查功能周期性拉取一路RTSP流并解析帧数据确认不是只返回了SDP但没有实际媒体流。因为有些设备在RTSP握手成功后会返回200 OK但之后就不推数据了这种情况平台会误判为正常在线但画面却一直是黑屏。3.4 平台内部统一流输出与AI分析模块对接平台内部统一流我定义为一个标准RTSP URL模板rtsp://平台IP:8554/{设备业务ID}/{码流类型}码流类型分main和sub两类。AI分析模块接入时只需要按规则拼URL就行。这样设计有一个隐性好處当摄像头离线或者网络出问题导致源流断了平台侧可以自动切换到备用源流或者推送一个蓝屏测试流AI模块不会因为流断开而崩溃它只会收到连续的帧只是画面可能是测试画面算法服务再结合平台下发的在线状态字段决定是否暂停分析排查问题方便很多。AI模块对接的通信方式我用的是最简单的RTSP因为算法服务内部已经用FFmpeg做解码直接拉RTSP流即可。如果延时要求特别高比如在门禁闸机这类场景RTSP实时流经过平台转分发后会有500ms~1s的延迟这时可以考虑用WebRTC或者GB28181的实时低延迟通道。但低成本方案下RTSP的延迟完全可以接受——区域入侵这类场景500ms延迟几乎不影响检测效果。整合测试时重点验证三件事一是并发拉流稳定性同时拉20路RTSP流跑24小时观察内存泄露和连接数增长二是异常恢复能力不断拉掉网络模拟摄像头故障看平台能否在预期时间内恢复三是算法准确性用一段标准的测试视频源循环播放对比算法输出的检测结果是否和人工标注一致这个环节能发现很多细节问题比如镜头畸变导致的检测框偏移、夜间噪声导致的误检增多。3.5 心跳周期调整与4G摄像头接入的特殊处理4G摄像头的接入和有线网摄像头完全不同因为4G网络存在频繁的IP切换、基站漫游和链路抖动GB28181的注册和心跳机制必须做特殊适配。先说注册有效期很多4G摄像头在一张4G卡上用的是省电模式可能长时间处于休眠状态SIP注册过期后不会主动重注册平台就会一直等待。我在平台里加了一个自动踢出离线设备再重新注册的逻辑每30分钟检查一次所有国标设备的上次注册时间如果过期且心跳也中断了就主动发一个SIP OPTIONS去探测探测不到就直接踢下线设备下次上线时会重新注册平台自然恢复。心跳周期调整这里4G环境我建议把心跳间隔从默认的60秒调成90秒。原因很简单4G链路本身RT时延比有线网高如果心跳包在网络里多绕了一下60秒内不能完成一次完整的心跳交互平台就会误判离线。而调成90秒后留给网络抖动的冗余更多误判率明显下降。但也不能无脑调大心跳间隔太长的话平台发现设备离线需要的时间也变长对实时类应用影响比较大。还有一个4G摄像头特有的问题是URL直连不可用。很多4G摄像头用的是内网IP平台在公网侧无法直接访问它的RTSP地址所以4G摄像头必须走GB28181这种方式接入信令走SIP服务器媒体流由设备主动推送到平台侧的流媒体服务也就是设备推流平台收流模式完全不需要平台去连接设备的内网IP。这也是为什么GB28181在大规模安防接入中不可替代的原因——它是主动注册、主动推流的协议天然适合NAT和4G环境。4. 常见问题与排查技巧实录4.1 设备注册不上线的高频原因对照表设备注册不上线是GB28181接入最常见的故障。我整理了一张排查对照表基本覆盖了我这几年遇到的所有注册失败场景现象可能原因排查方法解决办法设备显示注册失败SIP服务器地址或端口配置错误检查设备配置页的IP和端口改成正确的平台IP和5060端口平台看不到设备上线设备ID与平台不一致对比设备编码和平台侧配置统一设备编码保证长度和格式正确注册成功但立即离线心跳超时查看平台侧心跳超时参数调节设备心跳周期和平台超时阈值注册成功但列表混乱设备ID重复检查所有设备的编码唯一性重新分配不重复的序号段注册成功后过一段时间掉线防火墙NAT会话超时检查防火墙UDP会话超时时间调整防火墙NAT会话超时到3600秒以上最后一条我要单独说一下。很多项目现场的网络环境很复杂中间隔着防火墙或者路由器它们对UDP会话有一个老化时间默认可能在60秒或者300秒左右。GB28181注册和心跳都是UDP包如果NAT会话超时时间比心跳周期短心跳包就穿不过去设备会反复掉线重连。解决办法一个是把防火墙的UDP会话超时改大另一个是让设备的心跳周期小于NAT老化时间。海康设备里的心跳周期参数就是干这个用的我遇到过一次在客户现场死活连不上最后发现是客户路由器默认UDP老化只有60秒而设备心跳也是60秒两者几乎同时老化所以每60秒就会断一次。把心跳改成50秒之后问题立刻消失。4.2 画面黑屏、花屏的定位思路画面黑屏的排查顺序我一般是这样先确认信令是否成功设备是否返回了INVITE 200 OK再确认流媒体服务端口是否收到RTP包可以用工具抓包看UDP端口有没有数据最后确认RTP包里的PS封装是否正常解析。GB28181的媒体流有PS流和基本流两种封装方式国标要求支持PS流封装很多设备默认发PS流如果平台侧只实现了基本流解析就会一直黑屏。花屏的排查要从时间戳入手。GB28181要求RTP时间戳基于90000Hz时钟但某些非标设备会发送8000Hz或者自定义时钟的时间戳平台侧按90000Hz解析就会出现花屏或者卡顿。这类问题的通用解法是在平台侧加一个时间戳异常检测如果检测到帧间时间戳跳变超过设定的阈值就自动用系统时间基准重新计算时间戳。还有一个经常被忽略的点是摄像头的时间同步。GB28181的录像回放、报警联动都与时间有关如果设备时间和平台时间不一致可能导致录像时间轴错乱。我的习惯是接入完成后第一时间通过ONVIF设置设备的时间服务器指向平台所在内网的NTP地址并开启自动同步。4.3 语音对讲功能的踩坑记录GB28181语音对讲是很多AI平台会忽略的功能但实际项目里经常被要求。对讲流程是平台向设备发送INVITE请求SDP里携带音频格式和接收端口设备收到后开始向平台推音频流。这里有两个坑一是音频编码格式海康和大华基本都支持G711但有的中标设备只支持AAC平台如果不做AAC解码就听不到声音二是音频的方向问题对讲包含平台说、设备听和设备说、平台听两个方向GB28181里是通过SDP的不同标签区分的如果标签写错就会出现对讲声音发不出去但能收得到的现象。另外要注意很多平台的GB28181 SDP协商里默认带的是视频编码参数如果不手动加上音频部分对讲INVITE会把音频协商失败。我自己的处理方式是平台侧维护一个支持音频能力的通道列表只有在需要语音对讲时才在SDP中加入音频参数避免对所有设备都协商音频导致兼容性问题。4.4 长期运行的稳定性优化视频接入平台和普通业务系统最大的不同是它是7x24小时不间断跑的服务。长期运行中最常见的问题是内存增长和句柄泄漏。流媒体服务如果处理完一路流的FLV封装或者RTSP推流后没有正确释放资源运行一周左右内存就会飙到几个G。我的经验是给流媒体服务配置一个守护脚本每5分钟检查一次进程的RSS内存如果超过设定阈值就自动重启同时把流管理状态持久化重启后可以自动恢复之前的会话。还有一个稳定性优化点是不要把GB28181设备的注册心跳和流媒体会话混在一个进程里管理。我把信令和媒体分为两个独立进程信令进程仅处理注册、心跳、INVITE控制指令媒体进程只负责收流、转码、推流。这样即使某个流的RTP接收卡死了也只是影响那一路不会拖垮整个平台的注册链路。实测中这个设计让我避免了一个印象非常深刻的故障有一次某路摄像头推的流里带了异常SPS数据导致平台的解码器崩溃如果是单进程架构整个平台都会挂掉现在只是那一路流断了平台自动重启流会话就恢复了。5. 个人实操心得与后续扩展建议这套基于GB28181、RTSP、ONVIF的零成本视频AI平台接入方案我前前后后跑了快两年接了十几个项目的数百路摄像头最大的体会是协议标准化带来的收益远远超过想象。你不必为每一个品牌单独写适配代码不必为每一次新增设备跑现场配置只要把三条协议链路维护好平台就能像插线板一样不断往上接新设备。而且这三条链路全部基于开源组件软硬件成本几乎为零特别适合中小型项目或者预算有限的场景。如果要我总结一条最核心的经验那就是接入方案要按设备类型分层设计。GB28181负责国标设备、4G设备、跨网络设备RTSP负责局域网直连设备和小众品牌ONVIF负责设备前期的自动发现和参数预配置。三种协议各司其职比尝试用某一种协议通吃全部设备要稳妥得多。后续这个方案还可以在两个方向扩展。一个是增加WebRTC接入让手机浏览器直接拉流免插件、低延迟适合移动端的AI巡检场景另一个是把流媒体转发层改成集群模式用负载均衡把多路流转发分散到多台服务器支撑更大规模的接入。如果同时接入的路数超过1024路单机方案就会遇到瓶颈到时候就需要把SIP信令服务器、流媒体服务器、算法服务器拆分部署并引入分布式消息队列来协调设备上下线和流会话状态。不过对于绝大部分项目来说单机方案已经够用了——我见过不少宣称大规模的项目实际并发在线设备其实也就一两百路。最后分享一个实用的小技巧在接入调试阶段强烈建议先接两路最容易成功的设备建立基线比如一台海康和一台支持ONVIF的小厂摄像头确保平台基本链路通了再批量接入。这样做的好处是批量接入时如果出现问题你可以快速判断是设备参数的问题还是平台配置的问题而不是在一大堆设备里盲目排错。这个习惯帮我躲过了无数次接100路设备结果全在报错的灾难现场。

相关新闻

风电功率曲线异常数据清洗与风能资源评估实践

风电功率曲线异常数据清洗与风能资源评估实践

简介:面向风电领域科研人员、工程技术人员及高校研究生的论文复现资料包,主题为风电功率曲线异常数据清洗及考虑风速风向的风能资源评估。内容系统分析异常数据成因及其对功率特性建模的影响,实现k-means、DBSCAN、Thompson tau法与Copula理论…

2026/10/9 5:44:45 阅读更多 →
双框架支持:校园二手跳蚤市场系统设计与卖家端小程序开发

双框架支持:校园二手跳蚤市场系统设计与卖家端小程序开发

1. 从标题里读出来的潜台词:这不是二选一,是双轨兼容先说个有意思的现象。我混迹技术社区这些年,见到太多校园二手交易类项目的标题写法,十有八九是"基于XX框架的校园二手交易系统",要么ThinkPHP&#xff0c…

2026/10/9 5:43:45 阅读更多 →
RabbitMQ工作队列模式实战:原理、可靠性保障与生产排错

RabbitMQ工作队列模式实战:原理、可靠性保障与生产排错

写在前头:只要常年和后端打交道,早晚会遇到一类场景——用户点了一个按钮,后台要去发邮件、生成报表、处理图片,结果这些操作又慢又占资源,直接把接口拖死,用户一边刷新一边骂。我第一次认真处理这个问题用…

2026/10/9 5:43:45 阅读更多 →

最新新闻

React Native在OpenHarmony上的实战:英雄克制助手开发全记录

React Native在OpenHarmony上的实战:英雄克制助手开发全记录

说实话,最早看到“React Native跑在OpenHarmony上”这几个字,我第一反应是:这又是个玩具项目吧。直到我自己把一套完整的RN业务代码搬过去,跑通、调优、上线到开发者设备上,才确认这条路是真的能走通的。我这次拿来做验…

2026/10/9 6:13:07 阅读更多 →
从TCP状态与Socket原理,到C#异步、Karel和Windows端口报错

从TCP状态与Socket原理,到C#异步、Karel和Windows端口报错

前两天帮一位做产线的朋友排查问题,他的Windows工控机是C#写的上位机,服务端程序只要一重启就报“通常每个套接字地址(协议/网络地址/端口)只允许使用一次”,试过杀进程、重启机器,问题还是反复出现,最后追根溯源才发现…

2026/10/9 6:13:07 阅读更多 →
Spring Boot+Vue高校评教系统:从权限控制到权重计算实战

Spring Boot+Vue高校评教系统:从权限控制到权重计算实战

每年学期末,学校的教务部门往往要为评教这件事忙掉一层皮。过去很多学校还在用Excel收集、人工催办、VLOOKUP算平均分那一套,学生要么被安排到机房集中填报,要么教务员逐个导出数据再按公式汇总。流程长、错误多,最麻烦的是无法做…

2026/10/9 6:13:07 阅读更多 →
用AI零成本快速搭建手机APP:从提示词到安装包全流程

用AI零成本快速搭建手机APP:从提示词到安装包全流程

最近各个群里都在转一个叫“死了么”的APP,光是名字就能让人多看两眼,点进去也无非就是一个大按钮,按一下给你弹一句让人哭笑不得的“人生忠告”。但真正让我感兴趣的,不是这个APP本身有多好玩,而是它背后那件事&#…

2026/10/9 6:13:07 阅读更多 →
基于网络的分布式入侵检测系统:混合检测与模块化架构解析

基于网络的分布式入侵检测系统:混合检测与模块化架构解析

简介:这份资源是一篇关于网络安全中入侵检测系统设计与实现的参考文献型PDF文档,适合网络安全方向的学生、高校教师及从事网络防护的技术人员阅读。文档从入侵检测系统的基本概念出发,系统梳理了其分类方式,包括基于主机与基于网络…

2026/10/9 6:13:07 阅读更多 →
500kV LCC-HVDC双端输电系统MATLAB/Simulink建模实战

500kV LCC-HVDC双端输电系统MATLAB/Simulink建模实战

做电力系统仿真的朋友,十有八九绕不过高压直流输电(HVDC)这道坎。最近我用MATLAB/Simulink完整搭了一套两端500kV的LCC-HVDC输电系统模型——送端整流站、受端逆变站,直流侧额定电压500kV、直流电流2kA,整体输送功率10…

2026/10/9 6:12:06 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →