Coder Social home page Coder Social logo

asdlei99 / sos-open Goto Github PK

View Code? Open in Web Editor NEW

This project forked from shenhzou654321/sos-open

0.0 0.0 0.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

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.