fslib框架是一套可运行于生产环境的支持c/c++线程死锁,线程cpu资源统计,死机时自动记录死机所对应的源码位置的调试框架,部分功能支持php语言
SOS(Smart OS)视频系统是用c语言开发的一套基于fslib框架的视频服务器应用,在有fslib框架强大的调试功能保驾护航的条件下,SOS(Smart OS)视频系统致力为开发成为单进程的极高性能的综合视频应用,既是支持rtmp,rtsp,hls,gb28181采集,支持rtmp,rtsp,hls,gb28181直播,点播的流媒体服务器,也是一款支持rtmp,rtsp,hls,gb28181的NVR产品,还是一款视频分析系统!
SOS子模块主要有:SOS去中心化的配置管理模块、SOS掩码通信模块(按需拉流,推流的核心)、SOS流媒体、SOS NVR、SOS水印叠加、SOS视频分析等多个模块,构成一套多功能的智能综合视频应用系统:
-
SOS去中心化的配置管理模块 所有服务器既是主服务器,也是从服务器,主从选举使用"比特币"的数据同步机制; 在去中心化的设计下,消灭了主节点与从节点的工程化区别,在配合系统配置自描述的向下兼容设计,让开发者及工程人员可渐进式学习,降低使用难度;
-
SOS掩码通信模块
- 借鉴"面向对象编程"每个对象有独立的空间和方法,需要通信的每个对象拥有自己的空间和管理自己空间的方法(一个二进制位,和这个bit置0和置1的方法);
- 借鉴"内存池的方式",在空间不够用时增加一个long long变量(64位,一个对象只需要1bit空间),优化内存分配,使用数字计算可用一个cpu指令计算64个对象的结果;
- 参考"汇编优化"及计算机的特性--函数及变量均是一个地址,把通信实现为函数指针的直接调用,让一次通信的时间在纳秒级别;
- 在极快且极轻量的SOS掩码通信模块设计支撑下,程序内部可实现随意的多线程通信,且耗时与开销均可忽略不计,让复杂的SOS(Smart OS)视频系统的各种逻辑及接口都可蜕化成单线程串行构架(实质是并行运算),降低了实现单进程的极高性能的综合视频应用的开发成本;
-
SOS流媒体 目前支持rtsp,rtmp,gb2818采集,rtsp,rtmp,hls,gb28181直播:
-
SOS NVR 目前支持rtsp,rtmp,gb2818采集,mkv录像,按时间的rtsp点播,正向单帧,慢放,快放(最大1080P 32倍速),倒向单帧,慢放,快放(最大1080P 32倍速);
-
SOS水印叠加 目前支持rtsp,rtmp,gb2818采集,rtsp,rtmp,hls,gb28181直播视频上加水印输出;
SOS-open是SOS(Smart OS)视频系统的开源版本,继承fslib框架、SOS去中心化的配置管理模块、SOS掩码通信模块的所有功能及特性;
- SOS-open 编译 下载源码解压到Centos7下 如/opt/SOS-open,执行以下命令编译
- cd /opt/SOS-open
- make
- 编译结果在/opt/dist/linux下,文件名为sos
- SOS-open 运行 教程使用SOS(Smart OS)视频系统的环境运行,参考 http://blog.csdn.net/zhangrui_fslib_org/article/details/54091949 搭建好SOS(Smart OS)视频系统的环境运行,然后按如下操作进行;
- 停止服务器: systemctl stop sos ;
- 用u盘或ftp把编译的后的文件"sos"拷贝到测试机上替换" /fs/bin/sos " ;
- 用u盘或ftp把fslib框架的文件"libfslib.so"拷贝到测试机上替换" /usr/lib64/libfslib.so " ;
- 启动服务器: systemctl start sos ;
- 运行 debug 输入sos前的的序号,查看sos的实时信息;
- 如出现死机,在源码" Main/vsys/vsys.c "中查找代码" (long)childRun=0xFF; "删除,并观察出错信息与源码的关系;
- SOS-open 流地址规范 如配置的rtsp转发地址为" /ch1 ",ip为 192.168.1.254,则转发地址如下:
- rtsp转发地址为: rtsp://192.168.1.254/ch1 ;
- rtmp转发地址为: rtmp://192.168.1.254/sos/ch1 ;
- hls转发地址为: rtsp://192.168.1.254:16880/ch1 ;
- SOS(Smart OS)视频系统介绍: http://blog.csdn.net/zhangrui_fslib_org/article/details/50535266
- QQ交流群:463690330