# ngx_cloud **Repository Path**: H-kernel/ngx_cloud ## Basic Information - **Project Name**: ngx_cloud - **Description**: 基于nginx源码构建的多进程服务,包括了媒体服务、转码服务等等 - **Primary Language**: C - **License**: BSD-4-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-02 - **Last Updated**: 2026-04-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ngx_cloud ## 介绍 ### 基于nginx源码构建的多进程服务框架: 系统在nginx源码基础上构建的多进程服务框架,即利用nginx的master守护进程和管理机制支持扩展 进程服务管理,并定义了扩展进程以动态库形式独立扩展;同时兼顾nginx原来内生的module扩展功能和开 源生态整合。 1、基于nginx-rtmp模块构建的实时流服务 2、基于nginx-vod模块构建的媒体点播服务 3、扩展进程服务:媒体服务、转码服务等等 ### 最新版本nginx 1.28.0 ## 软件架构 ### 软件架构说明 1、系统采用nginx做基础服务框架,并多nginx进程管理进行增强支持管理外部动态库扩展服务进程。 2、同时支持预集成nginx-rtmp、nginx-vod模块进行媒体直播、点播服务器。 3、支持http文件上传、远程文件管理等接口能力。 ## 扩展进程模块 ### 扩展进程架构 扩展进程是满足扩在接口的so库拉起的单独进程服务,扩展进程被nginx master进程统一管理,如下: ![视频图片媒体接入处理方案](ngx_media.png) [参考]ngx_cloud 扩展进程接入 ### 扩展进程配置 扩在进程在ngx_cloud.conf配置文件中配置,如下配置 指令sub_process 参数分别按顺序是模块名称、模块动态库、模块工作目录。 ![扩展进程配置](ngx_extend.png) ### 扩展进程启动 扩展模块启动后启动,会自动创建一个子进程,并运行扩展模块。 ![扩展进程信息](ngx_extend_process.png) ### 扩展进程列表 下列扩展进展还在建设中,请关注后续版本(提供下载包)。 #### mod_hostguard 1、主机守护进程,提供实时采集主机CPU、内存、网卡、磁盘等使用和健康信息 2、提供以独立日志文件形式提供上述信息的记录和归档 3、可以配置独立文件目录按保存天数删除清理(可以最后写时间和读取时间判断过期) 4、支持配置功能目录下的日志文件等进行归档和定期伤处处理。 #### mod_authorize 1、基于SQLite数据库构建的认证模块。 2、支持账户+密码方式认证,http-degist 方式认证。 3、支持通过token方式认证,JWT方式认证。 4、支持对回话Seesion或者token的有效期管理。 5、支持通过https接口管理账户信息和token信息。 ------建设中... #### mod_transcode 1、集成ffmpeg库、支持对实时流、视频文件进行编码压缩、分辨率转换、封装转化等转码处理。 2、支持以XML模版形式配置和控制音视频相关参数。 3、支持多路并发和拉流、推流任务。 #### mod_live_stream 1、实时流服务模块 2、支持通过rtsp、rtmp协议进行拉流 3、支持rtmp推流 4、支持标准H264、H265视频编码格式 5、支持标准G7.11、ACC音频编码格式 6、支持多路转发和高性能转发能力。 #### mod_smartimage 1、基于AiCodec的智能图片压缩处理模块,不改变分辨率、人眼感知体验的AiCodec压缩。 2、支持基于图像分块和帧内预测的图片AiCodec压缩技术 3、支持多路压缩和多磁盘路径扫描压缩 4、支持基于ESRGAN的图像增强和提高分辨率 5、支持对图像增展示 ![视频图片上传压缩/还原处理流程](ngx_smartimage.png) #### mod_rtxpnode 1、基于RTSP/RTMP协议接入RTXP节点,多路高并发网络IO处理。 2、支持RTSP流形式复制多路拉流转发输出。 3、支持通过任务形式RTMP形式推流输出。 4、支持通过任务形式将视频流录制成为mp4文件。 5、支持H264、H265、G711A、G711U、G722、G726、G729A、AAC音频编码格式。 ## Nginx 扩展模块 #### ngx_stor_upload_module 模块 1、基于开源nginx-http-upload-module模块修改,实现http 文件multipart上传功能。 2、基于开源nginx-upload-progress-module实现上传进度反馈。 3、扩展增加上传过程中临时文件命名参数和能力;支持上传过程中.upload后缀,上传完成rename为原名。 #### ngx_s3_http_module 模块 1、基于nginx扩展s3接口能力,将本地磁盘存储提供s3接口。 2、支持上传文件、下载文件、删除文件、文件列表查询等标准s3接口能力。 -----模块规划中...... #### ngx_rtmp_module 模块 1、基于nginx-rtmp模块构建的实时流服务模块。 2、提供rtmp实时流推入,支持实时rtmp、flv、hls、dash流输出。 3、支持视频H.264、H.265和AAC音频编码格式。 #### ngx_vod_module 模块 1、基于nginx-vod模块构建的媒体点播服务模块。 2、提供点播服务,支持http、hls、dash流输出。 3、支持H.264、H.265和AAC音频编码格式。 4、支持MP4文件播放。 ## 安装教程 TODO: ## 使用说明 ### ngx_cloud 扩展进程接入 用户可以自定义基于C/C++实现的动态库(only linux),导出.so文件实现以下函数接口, ngx_cloud守护进程(master)会根据配置文件启动进程,并管理进程。如下: #ifndef __MUTIL_MODULES_INCLUDE_H__ #define __MUTIL_MODULES_INCLUDE_H__ #include #include #include #ifdef WIN32 #ifdef LIB_MS_MODULE_EXPORTS #define MOD_API __declspec(dllexport) #else #define MOD_API __declspec(dllimport) #endif #else #define MOD_API #endif extern "C" { MOD_API int mod_start(const char* wrkpath); MOD_API void mod_stop(); } #endif /* __MUTIL_MODULES_INCLUDE_H__ */ ## 参与贡献 TODO: