Giter VIP home page Giter VIP logo

shenhzou654321 / sos-open Goto Github PK

View Code? Open in Web Editor NEW
35.0 4.0 24.0 862 KB

sos(smart os)是基于fslib调试框架开发的一套去中心化的集rtmp,rtsp,hls,gb28181采集和rtmp,rtsp,hls,gb28181服务器于一体的高性能流媒体服务器,同时也是一款支持rtmp,rtsp,hls,gb28181的NVR,也是一款视频分析服务器(如水印服务器,行为分析服务器)

C++ 0.02% C 97.94% Makefile 1.82% Shell 0.22%

sos-open's Introduction

fslib框架

fslib框架是一套可运行于生产环境的支持c/c++线程死锁,线程cpu资源统计,死机时自动记录死机所对应的源码位置的调试框架,部分功能支持php语言

SOS(Smart OS)视频系统

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流媒体SOS NVRSOS水印叠加SOS视频分析等多个模块,构成一套多功能的智能综合视频应用系统:

  1. SOS去中心化的配置管理模块 所有服务器既是主服务器,也是从服务器,主从选举使用"比特币"的数据同步机制; 在去中心化的设计下,消灭了主节点与从节点的工程化区别,在配合系统配置自描述的向下兼容设计,让开发者及工程人员可渐进式学习,降低使用难度;

  2. SOS掩码通信模块

  • 借鉴"面向对象编程"每个对象有独立的空间和方法,需要通信的每个对象拥有自己的空间和管理自己空间的方法(一个二进制位,和这个bit置0和置1的方法);
  • 借鉴"内存池的方式",在空间不够用时增加一个long long变量(64位,一个对象只需要1bit空间),优化内存分配,使用数字计算可用一个cpu指令计算64个对象的结果;
  • 参考"汇编优化"及计算机的特性--函数及变量均是一个地址,把通信实现为函数指针的直接调用,让一次通信的时间在纳秒级别;
  • 在极快且极轻量的SOS掩码通信模块设计支撑下,程序内部可实现随意的多线程通信,且耗时与开销均可忽略不计,让复杂的SOS(Smart OS)视频系统的各种逻辑及接口都可蜕化成单线程串行构架(实质是并行运算),降低了实现单进程的极高性能的综合视频应用的开发成本;
  1. SOS流媒体 目前支持rtsp,rtmp,gb2818采集,rtsp,rtmp,hls,gb28181直播:

  2. SOS NVR 目前支持rtsp,rtmp,gb2818采集,mkv录像,按时间的rtsp点播,正向单帧,慢放,快放(最大1080P 32倍速),倒向单帧,慢放,快放(最大1080P 32倍速);

  3. SOS水印叠加 目前支持rtsp,rtmp,gb2818采集,rtsp,rtmp,hls,gb28181直播视频上加水印输出;

SOS-open

SOS-openSOS(Smart OS)视频系统的开源版本,继承fslib框架SOS去中心化的配置管理模块SOS掩码通信模块的所有功能及特性;

  1. SOS-open 编译 下载源码解压到Centos7下 如/opt/SOS-open,执行以下命令编译
  • cd /opt/SOS-open
  • make
  • 编译结果在/opt/dist/linux下,文件名为sos
  1. 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; "删除,并观察出错信息与源码的关系;
  1. 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-open's People

Contributors

fslib avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.