小雉系统模块清单

该文详细列出了一个复杂系统中的各个模块,包括内存管理、加密解密、数据序列化、日志处理、配置管理、接口通信等多个方面,强调了模块的可选性和必须性,以及在特定场景下的功能,如DNS解析、视频流处理、RTSP和RTMP协议支持等。
摘要由CSDN通过智能技术生成
序号类别模块名称依赖模块简要说明备注
1基础模块FsObject系列
  • 提供线程内的内存池及引用计数实现
  • 提供多线程的内存池及引用计数实现
  • 提供数组链表和排序方法
  • 提供字符串,二进制,结构体链表排序
必须
2可变栈
  • 提供一个在栈上动态申请空间的方法
  • 申请的空间内存无须释放
  • 空间自动调整到实际需要的大小
可使用malloc和free替换
3通用加解密模块md5、sha、crc、base64、摘要认证、3Bit、4Bit等加密解密功能必须
4EBML
  • 提供储二进制、整数、小数、字符串的嵌套数据结构
  • 提供ebml序列化与反序列化
  • 提供加密与解密功能
必须
5xmlEBML
  • 提供xml序列化与反序列化
  • 提供xml同ebml互转的功能
可选
6jsonEBML
  • 提供json序列化与反序列化
  • 提供xml同ebml互转的功能
可选
7DNS
  • 提供异步的DNS请求功能(解决先系统请求dns卡顿的问题)
可选
8Config
  • EBML
  • xml
  • json
  • 提供储二进制、整数、小数、字符串自描述实现
  • 提供模板自描述实现
  • 提供二进制、整数、小数、字符串的读取功能
  • 提供模板的读取功能
  • 提供从ebml、xml、json中导入数据功能
  • 提供导出ebml、xml、json数据功能
兼容性配置需要
9异常处理监控模块xml
  • 提供线程创建顺序跟踪
  • 提供线程资源占用统计
  • 提供线程死锁诊断
  • 提供实时报表功能
  • 提供循环标记功能(不打印,在出问题后显示)
可选
10崩溃反编译模块监控模块
  • 崩溃自动进入调试模式
  • 提供调用堆栈、源代码的行号
  • 显示崩溃时的线程信息
  • 重要的异常内存或结构落盘
可选
11模块化日志
  • 为每个模块提供单独的日志级别控制
  • 运行时可修改任意模块的日志级别
  • 提供异常关注点设置
可选
12日志捕捉模块
  • 捕捉程序的标准输出或错误发送给日志服务器
  • 记录日志并管理日志大小
可选
13日志服务器
  • 收取与缓存日志数据
  • 为监控模块提供一个交互接口
  • 过滤模块化日志产生的关注点并写入硬盘
  • 检测程序的状态,把崩溃时的日志信息写入硬盘
  • 日志实时信息查看
  • 日志历史信息查看
可选
14硬件看门狗
  • 判断系统是否正常
  • 在系统正常时通过驱动重置硬件计时器
  • 处理父进程变动异常
可选
15框架相关多端口汇聚
  • 对收到的数据进行预判断(遍历7层协议库)把连接交响应的应用处理(如80端口上收到http数据让nginx处理,收到php数据让php-fpm数据,收到sip指令交gb28181模块处理)
  • 可同时绑定多个端口,数据由哪个模块处理与端口号无关,只与内容相关
必须
16配置服务中心
  • Config
  • 多端口汇聚
  • 提供配置注册接口(每个模块只声明自己需要的参数)
  • 汇聚所有模块的需求生成配置
  • 从硬盘上读取历史配置,导入新配置中并处理兼容性问题
  • 响应网络请求,导出xml,json配置发送给客户端或接受客户端的配置数据并写入硬盘
  • 在配置发生变化(客户端发送新配置,或模块申请新参数)时,自动处理历史配置与新配置结构的差异,并把处理结果通知所有应用模块(有调用注册接口的模块),让模块同步配置
  • 提供别名设置,无论逻辑上数据需要中转多少次,执行始终直接操作最终对象
必须
17接口管理中心配置服务中心
  • 提供本地接口注册(模块间函数通信的一个实现,允许模块乱续启动)
  • 提供本地联接接口,调用后直接连接到具体功能的函数指针
  • 提供网络接口注册(多模块共享一个端口的实现)
  • 自动判断xml和json,转ebml后提交给各模块处理(注册接口的模块)
  • 收集模块的ebml处理结果自动转xml或json回执给客户端
  • 帮助模块完成需要等待的事项,比如视频合成后把合成地址回执给客户端
必须
18掩码通信服务
  • 本服务为一个多对多的开关量实现
  • 允许多个模块同时注册同一个掩码也允许多个模块同时联接同一个掩码,在掩码发生改变时(注册的任何一个模块都可能设置掩码值),本模块计算其是否发生0与非0转换,转换时通知所有联接此掩码的对象
  • 本模块的典型应用为按需拉流
必须
19开方分组
  • 因本框架面向算法设计,需要对对象进行遍历,而在大型流媒体应用中,如16万个相机只有1个在拉流,也需要遍历16万相机,开方分组是把16万个相机分为400组,每组400个相机,把遍历数由16万降为800
可选
20视频相关h264FsObject系列
  • 解析h264解构,实现FsObject系列的派生
  • 解码h264
可选
21h264编码FsObject系列
  • 编码h264
可选
22h265FsObject系列
  • 解析h265解构,实现FsObject系列的派生
  • 解码h265
可选
23h265编码FsObject系列
  • 编码h265
可选
24mkv
  • H264
  • h265
  • 把h264封装为mkv
  • 把h265封装为mkv
  • 从mkv读取h264
  • 从mkv读取h265
可选
25rtsp拉流模块
  • FsObject系列
  • DNS
使用rtsp协议拉取摄像头的视频流可选
26rtsp推流接收模块rtsp拉流模块使用rtsp协议接收其他平台的rtsp推流,输出与rtsp拉流模块相同可选
27rtsp流分发模块FsObject系列使用rtsp协议分发rtsp直播流可选
28rtsp推流模块
  • rtsp流分发模块
  • DNS
使用rtsp协议推送视频流到支持推流的rtsp服务器可选
29rtsp回放模块
  • rtsp流分发模块
  • MKV
  • 根据rtsp协议异步读取mkv中指定部分
  • 响应rtsp的跳转
  • 自动适配rtsp的网络速率
可选
30rtsp kcp模块
  • 实现抢占他人网速收发数据(开启时在网络带宽有限时,会导致他人严重卡顿)
  • 可降低网络延时40%
可选
31hls流分发模块FsObject系列
  • 使用hls协议分发hls直播流
可选
32hls回放模块
  • hls流分发模块
  • MKV
  • 根据hls协议异步读取mkv中指定部分
  • 响应hls的跳转
  • 自动适配hls的网络速率
可选
33rtmp拉流模块
  • FsObject系列
  • DNS
使用rtmp协议拉取摄像头的视频流可选
34rtmp推流接收模块rtmp拉流模块使用rtmp协议接收其他平台的rtmp推流,输出与rtmp拉流模块相同可选
35rtmp流分发模块FsObject系列使用rtmp协议分发rtmp直播流可选
36rtmp推流模块
  • rtmp流分发模块
  • DNS
使用rtmp协议推送视频流到支持推流的rtmp服务器可选
37sip服务器FsObject系列
  • 先外注册
  • 接受其他服务器注册
  • 处理sip指令
可选
38gb28181拉流模块sip服务器
  • 获取其他服务器的流信息
  • 使用tcp或udp拉取其他gb28181平台的直播视频流
  • 自适应rtcp协议
可选
39gb28181流分发模块sip服务器
  • 响应其他平台的取流请求,按要求使用tcp拉、tcp推、udp推方式分发直播流
  • 自动判断对端对rtcp的支持情况
  • 对端支持rtcp时应发送rtcp指令
可选
40gb28181回放模块gb28181流分发模块
  • 根据gb28181协议异步读取mkv中指定部分
  • 响应gb28181的跳转
  • 自动适配gb28181的网络速率
  • 提供储存查询
可选
41Inflray拉流模块FsObject系列拉取Inflray视频流可选
42文件点播模块mkv
  • 实现rtsp的文件点播请求
  • 实现hls的文件点播请求
可选
43相机控制级联FsObject系列
  • 实现相机控制的抽象
  • 提供所有控制接口的网络控制
  • 提供所有控制接口的本地联接控制
  • 提供所有控制接口的多机级联控制
  • 提供外挂控制接口
  • 控制协议转换的桥梁(如onvif转gb28181)
可选
44onvif控制模块相机控制级联
  • 实现相机转动
  • 实现相机缩放
  • 实现相机预置位
  • 实现相机图像参数控制
  • 实现相机ptz的获取与调取
可选
45宇视控制模块相机控制级联
  • 实现相机转动
  • 实现相机缩放
  • 实现相机预置位
  • 实现相机图像参数控制
  • 实现相机ptz的获取与调取
可选
46gb28181控制模块相机控制级联
  • 实现相机转动
  • 实现相机缩放
  • 实现相机转动输出(如onvif进gb28181出)
  • 实现相机缩放输出(如onvif进gb28181出)
可选
47gb28181控制模块相机控制级联
  • 实现相机转动
  • 实现相机缩放
  • 实现相机转动输出(如onvif进gb28181出)
  • 实现相机缩放输出(如onvif进gb28181出)
可选
48Inflray控制模块相机控制级联Inflray全景相机控制可选
49dib模块FsObject系列
  • 实现FsObject系列的派生
  • 图像颜色的变换
  • 图像缩放
  • 图像旋转
  • 图像画线
  • 输出bmp图片
  • 加载bmp图片
可选
50jpg模块dib模块
  • 实现FsObject系列的派生
  • 解码为dib
  • 压缩dib为jpg
  • jpg扩展ebml信息
  • 从jpg中读取ebml信息
可选
51点阵写字模块dib模块
  • 从矢量字库中生成点阵字
  • 缓存点阵字
  • 使用and,or,xor等方式把点阵字叠加到dib上
可选
52本地拉取模块
  • dib模块
  • 接口管理中心
  • 可拉取本地一路流,实现图像拷贝、旋转拉伸、插帧、虚拟通道等业务
  • 可同时拉取多路视频,进行拼接、旋转拉伸、插帧等业务
可选
53本地推送模块
  • dib模块
  • 接口管理中心
  • 同时推送一路或多路流到此虚拟通道
  • 虚拟通道内可进行全景帧拼接业务
  • 虚拟通道内可实现基站切换时虚拟通道动态关联业务
可选
54相机状态检测模块
  • jpg模块
  • 接口管理中心
  • 轮巡所有相继
  • 以能否取到关键帧为标准判定是否在线
  • 缓存关键帧
  • 提供网络接口,按需解码为jpg或bmp
可选
55视频转码模块
  • jpg模块
  • h264
  • h265
  • 自动选择合适的图像变换路线(如同时有h265和h264时转yuv420P,程序自动调用h264解码实现–因为h264解码开销更低)
  • 自动评估cpu性能,在串行与并行间自动切换(比如h264转yuv420P需求中,在cpu性能好时应使用单线程解码,在cpu吃力时应对h264自动进行分组后使用多核处理)
  • 在相机多,cpu核心少时每个核心应自动轮换处理各相机需要变换的业务,即允许单核处理多相机的业务
可选
56视频水印模块
  • dib模块
  • 点阵写字模块
  • 自动选择合适的图像,按配置写响应的信息,如有ycc而没有yuv420P,应直接在ycc上写字,而不强求yuv420P
可选
57视频记录模块
  • mkv
  • FsObject系列
  • 把h264或h265写入mkv
  • 缓存最近10 min写入硬盘数据的帧地址
  • 提供截取短视频业务
  • 维护录像记录信息
  • 提供录像信息查询功能
  • 自动评估硬盘性能,尽量尽早写入硬盘,在性能不足时自动合并写入数据,用大块写入代替碎片写入
  • 监听回放业务需求,在有回放读取时,自动暂停写入业务,在读到足够数据后再写入(优化读取)
可选
58磁盘管理程序FsObject系列
  • 一个基于预测的磁盘管理程序–不需要纪录所有文件名及文件的大小实现删除最早数据的实现(因如有1000万条数据,每条100字节,仅记录就需要1G,同时还有数据记录与硬盘数据是否一致的问题(机器掉电会导致其不一致))
  • 统计与学习文件系统的变化规律,找到变化快的和变化慢的目录
  • 在变化快的目录中发现新文件,目录大小变大
  • 在空间不足时删除变化目录慢目录中的数据
可选
59代理回放管理模块
  • mkv
  • FsObject系列
  • 一个第三方储存映射到本地的方案实现
  • 定义第三方储存的需要实现的接口
  • 处理具体的回放类请求,创建回放任务与管理回放任务
  • 实现cdn加速回放
  • 可为不支持倒放的第三方储存实现倒放功能
可选
60代理回放任务模块代理回放管理模块
  • 响应具体的回放任务
  • 查找硬盘缓存,有缓存直接使用缓存
  • 播放位置无缓存或缓存不足时,调用“代理回放管理模块”的抽象接口获取数据补充缓存
  • 支持对齐算法,把缓存同线上获取数据边界对齐,自动拼接视频
可选
61大华SDK代理回放代理回放管理模块
  • 实现“代理回放管理模块”的抽象接口
  • 实现大华sdk回放转rtsp回放
  • 实现大华sdk回放转hls回放
  • 实现大华sdk回放转gb28181回放
可选
62gb28181代理回放代理回放管理模块
  • 实现“代理回放管理模块”的抽象接口
  • 实现gb28181回放转rtsp回放
  • 实现gb28181回放转hls回放
  • 实现gb28181回放进gb28181回放出
可选
63Ais模块Ais模块FsObject系列
  • 支持串口连接ais
  • 支持串口服务器连接ais
  • 支持再分发ais
可选
64DDNS服务器DDNS服务器FsObject系列
  • 同时支持tcp和udp
  • 支持动态dns设置
  • 支持多线检测以最新的为准,如域名y通过A线先报告a,后通过报告ip为b,则查询域名y的ip恒为b
可选
65网络代理KVPN服务器FsObject系列 一个可以使用websocket,http,传输任意数据的代理功能,可在受限网络中打通网络中传输数据(如网络只能使用http,那海康sdk的8000端口的数据则无法传输,使用kvpn后海康sdk的8000端口的数据会以http的方式传输)可选
66KVPN客户端FsObject系列可选
67操作系统定制系统
  • 基于centos裁剪的一个100M左右的基础系统
  • 集成ftp、ssh、git、nginx、opencv及视频应用后约230M
  • 系统采用双系统设计,重启后除数据盘外的所有操作都会丢失,保证出现异常时重启肯定可以正常启动
  • 可定制启动logo
可选
68打包工具
  • 把引导、内核、虚根、驱动、库及应用程序打包为一个升级包
  • 升级包采用jpg封装,可定制企业专署封面
  • 制作升级包时可输入密码,同时会根据密码生成一个系统标识(操作系统应集成此标识),升级包的标识与系统标识必须一致才能升级
  • 系统标识通过hash计算,无法通过hash反推密码,制作升级包时使用的密码应严格保密
定制系统的组件
69系统升级服务端
  • 实现双系统,提供不怕掉电的免维护系统
  • 校验系统,选择完整系统启动,在有新版本(校验是完整的)时,切换新版本系统启动
  • 与客户端升级工具交付,差分升级系统(只上传有差异部分,把有差异部分写入备份系统后重启校验完成升级)
70授权管理系统
  • 读取硬件信息生成SN
  • 使用激活码校验,判断激活码有效后写响应信息授权系统
可选
71客户端升级工具
  • 打开升级包,读取升级包信息
  • 提取升级包的系统标识与服务端校验,一致后执行差分升级
  • 支持多服务器同时升级
  • 多服务器同时升级只占用一份内存,如升级包为200M,同时升级1000台主机,也只占用200M内存
  • 支持批量导入主机
demo,仅提供合作客户
72配置工具ConfigConfig数据结构实现的一个图形demo
73调试工具接口管理中心
  • 图形渲染注册到“接口管理中心”的所有接口
  • 展示所有接口的参数解释、取值范围
  • 测试所有接口的效果
  • 动态生成所有接口的c语言调用demo源码
74激活工具
  • 获取系统的SN
  • 传送激码激活系统
75播放库
  • 视频转码模块
  • MKV
  • rtsp直播
  • rtsp回放
  • 视频拖动
  • 视频快放
  • 视频慢放
  • 视频单帧
  • 视频倒放
  • 视频快速倒放
  • 视频单帧倒放
可选

猜您可能喜欢
*小雉系统安装: http://www.feitianzhi.com/boke/index.php/archives/11/ *
*小雉系统安装包制作: http://www.feitianzhi.com/boke/index.php/archives/50/ *
*小雉系统网络配置:http://www.feitianzhi.com/boke/index.php/archives/15/ *
*小雉系统硬盘配置:http://www.feitianzhi.com/boke/index.php/archives/16/ *
*小雉系统远程升级:http://www.feitianzhi.com/boke/index.php/archives/14/ *
*使用Google Authenticator为小雉系统增加动态密码功能:http://www.feitianzhi.com/boke/index.php/archives/17/ *
*小雉配置工具:http://www.feitianzhi.com/boke/index.php/fslib-config.html *
*资源下载:http://www.feitianzhi.com/boke/index.php/ziyuanxiazai.html *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值