{"id":35542484,"url":"https://github.com/libxengine/libxengine","last_synced_at":"2026-03-11T10:01:23.902Z","repository":{"id":54969147,"uuid":"364132372","full_name":"libxengine/libxengine","owner":"libxengine","description":"xengine is network,protocol,video and audio codec,streammedia protocol toolkit with c c++","archived":false,"fork":false,"pushed_at":"2026-01-13T06:35:19.000Z","size":793143,"stargazers_count":44,"open_issues_count":15,"forks_count":14,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-17T05:07:17.260Z","etag":null,"topics":["avcodec","client","database","epoll","flv","http","http2","iocp","kqueue","network","protocol","rfc","rtmp","server","streammedia","toolkit","webrtc","websocket"],"latest_commit_sha":null,"homepage":"https://www.xyry.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libxengine.png","metadata":{"files":{"readme":"README.en.md","changelog":"CHANGELOG","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":"COPYRIGHT","agents":null,"dco":null,"cla":null}},"created_at":"2021-05-04T03:50:36.000Z","updated_at":"2026-01-13T06:28:22.000Z","dependencies_parsed_at":"2025-08-01T08:45:54.453Z","dependency_job_id":null,"html_url":"https://github.com/libxengine/libxengine","commit_stats":null,"previous_names":["libxengine/libxengine"],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/libxengine/libxengine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libxengine%2Flibxengine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libxengine%2Flibxengine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libxengine%2Flibxengine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libxengine%2Flibxengine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libxengine","download_url":"https://codeload.github.com/libxengine/libxengine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libxengine%2Flibxengine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30377837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T06:09:32.197Z","status":"ssl_error","status_checked_at":"2026-03-11T06:09:17.086Z","response_time":84,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["avcodec","client","database","epoll","flv","http","http2","iocp","kqueue","network","protocol","rfc","rtmp","server","streammedia","toolkit","webrtc","websocket"],"created_at":"2026-01-04T05:09:58.346Z","updated_at":"2026-03-11T10:01:23.896Z","avatar_url":"https://github.com/libxengine.png","language":"C","readme":"[中文](README.md) ||  [English](README.en.md)\n# XEngine\nNetwork and Media Development Kit, Communication Engine and Middleware, Network Communication Development Framework, Streaming Media Development Framework, Audio and Video Development Framework\n\n## Now Version is\nV9.34.0.1001\n  \n## Note  \nYou should read README.md(English:README.en.md) first. If you can, please read XEngine_Docment/开发人员必读.docx  \nFor more content,please visit our website: www.xyry.org\n  \n## Description\nXEngine is a stable and reliable cross-platform development framework written in C/C++, supporting Windows, Linux, macOS, Android, and iOS. It provides 47 modules (SO, DLL, DYLIB) and thousands of API functions for you to use, enabling you to rapidly develop and deploy your application environment on top of this framework.  \nThe engine offers a wide range of interfaces for backend services, network protocols, streaming media, and audio/video codec functionalities. With this framework, you can quickly develop and deploy a variety of large-scale or small-to-medium-sized servers and related applications.  \nXEngine is a comprehensive development framework focused on network protocols, streaming media, audio/video processing, and server-side functionalities. It includes libraries that support the entire service lifecycle and helps you tackle complex challenges from the network I/O layer to the application layer — including performance issues.  \nYou can think of XEngine as a lightweight C-language alternative to the Boost library, but more oriented towards network communication, backend services, network protocols, streaming protocols, and audio/video codec tasks. Using the APIs provided by this framework, you can develop the programs or services you need, including but not limited to: chat services, video conferencing, voice conferencing, file services, remote monitoring, logging services, HTTP services, proxy services, data forwarding, messaging, security authentication, streaming services, audio/video encoding and decoding, P2P tools, and other related services.  \nXEngine features a fully-fledged thread pool model (covering everything from network I/O to business logic), unlike the pseudo-thread-pool models commonly seen on the market. It also doesn’t rely on complex coroutine systems, allowing you to build truly high-performance servers.\n\n## Software goals\nFor personal:Once you’ve mastered this communication development engine, you’ll find that building related applications becomes a smooth and enjoyable experience in your future work or studies. While others may just be starting to write code, you could already be wrapping up months' worth of development work.  \nFor Enterprises:A task that might normally take a team of 2–5 people around 3–6 months to complete can be accomplished by just 1–2 people in under a month using this framework—significantly reducing both time and costs for the company.  \nThis development kit uses a unified C-style interface for all exports. The functions of each module can be used independently or together, giving you the flexibility to choose only the modules you need.  \nNow, it's time to start learning this engine...\n#### learn to\nIf you want to use this framework, it may take a week to fully learn to get started.  \nYou can understand the infrastructure through the documentation, you can find Function by search header file or comments\n  \n#### learning method\nIf you want to do network service communication development, you need to understand the XEngine_Core module of the XEngine_Core component and the XClient_Socket module of the XEngine_Client component  \nYou can also look at HelpComponents_Packets of the XEngine_HelpComponents component to see how network packets are handled  \nMore advanced use can be combined with the HelpComponents_XLog log module under the XEngine_HelpComponents component and the HelpComponents_Database database module  \nWhen you are familiar with this framework, you can use the XEngine_StreamMedia component to develop streaming media or XEngine_AVCodec to develop audio and video codec functions  \nYou can also use the XEngine_RfcComponents component to develop some common protocol services, such as HTTP, WEBSOCKET, SIP, etc...\n#### Learn tutorials\nYou can also watch the video tutorials we provide to learn more about how to use each component module:https://www.xyry.org/Learn.docx\n  \n## Deployment environment\nWe recommend you to use git tool download and update(windows can use TortoiseGit),only english path  \nNote: More available system versions will only be released on github. It is recommended to use github  \ngit clone https://gitee.com/libxengine/libxengine.git  \ngit clone https://github.com/libxengine/libxengine.git\n  \n#### Windows\nAfter downloading via GIT, you can directly run the XEngine_WINEnv64.bat file located in the main directory. By default, the installation script only configures the header file variables for the development environment. If you use parameter 1, it will copy all modules into the system  \nNote: The git version defaults to 64bit. If you need 32BIT or ARM64, you need to download it from the github release page and put it in another directory to run the XEngine_WINEnv32 or XEngine_WINEnvArm64 script file  \nAfter the execution is successful, the user environment variable of this directory will be added to your system  \nTake Visual Studio as an example, add in your project-\u003eproperties-\u003eVC++ directory  \ninclude directory $(XEngine_Include) header file environment  \nadd $(XEngine_Lib32) to the library directory for x86 arch  \nadd $(XEngine_Lib64) for x64 arch  \nadd $(XEngine_LibArm64) for arm64 arch  \n###### how to use\nWhen using our library under WINDOWS, you need to enable WSAStartup(MAKEWORD(2,2),\u0026st_WSAData) when you program start and use WSAClean() when your program destory to use our network library  \nlink to the library,sush as base library:#pragma comment(lib,\"XEngine_BaseLib/XEngine_BaseLib\")  \n###### Runtime library\nThe software we release is compiled using MD. The runtime library of VS2022 is required  \nMost of the time, the runtime library is already installed on the system, if not, then we recommend that you install it  \nx86(VS2015-VS2022):https://aka.ms/vs/17/release/vc_redist.x86.exe  \nX64(VS2015-VS2022):https://aka.ms/vs/17/release/vc_redist.x64.exe  \nARM64(VS2022):https://aka.ms/vs/17/release/vc_redist.arm64.exe\n###### UPDate\nUse git to pull directly\n  \n#### Linux\nWe provide an environment setup script, which is written based on Ubuntu 24.04. Our software supports most Linux distribution systems. If you are using a different system, customization may be required. You can view the installation instructions by using the -h parameter with the installation script.  \nNote: The cores of different Linux distributions are separate and cannot be supported simultaneously.  \nLinux offers both ARM64 and X64 system environments. The Git repository is based on Ubuntu 24.04 x86_64.For ARM64, you need to download it manually from the release page and then run the installation script.\n###### how to use\nopen terminal  \ncd libxengine  \nchmod 777 *  \nsudo ./XEngine_LINEnv.sh -i 3  \nthe script can be run by self  \nWe recommend that you execute the environment configuration script twice to check whether the environment installation is successful  \nlink to the library,sush as base library:-lXEngine_BaseLib  \n###### UPDate\nterminate execution in the xengine dir:git pull  \nExecute the command after success:sudo ./XEngine_LINEnv.sh -b -i 6 to clean,and sudo ./XEngine_LINEnv.sh -b -i 3 to install  \nIf there is a major update, it is recommended to clean up and run sudo . /XEngine_LINEnv.sh -i 3 to reprocess the environment.\n#### MacOS\nMacOS requires system 13 and above,install like to linux,you can view the installation method through the -h parameter of the installation script.  \nplease make sure xcode is installed in you system before execution this script.if not,please execution:xcode-select --install  \nWhen configuring the brew environment, you need to manually enter the password and press Enter to confirm the information  \nWe recommend that you execute the environment configuration script twice to check whether the environment installation is successful  \nmacos provides ARM64 and X64 system environment, the git repository is x86_64. arm64 need to go to the release page to download the,and run the install script\n###### how to use\nThe installation does not require administrator permissions, just run: ./XEngine_LINEnv.sh -i 3  \nUpdates can also be updated through git, then cleaned up with -i 6, and installed with -i 3  \nthe script can be run by self\n  \n#### Android\ncopy depend file into your project,ANDROID environment needs to be downloaded from the GITHUB release page  \nsupport ANDROID system 10 and above,ARM64\n  \n#### IOS(IPHONE)\nDue to system limitations, you can only copy the dependent shared libraries to your program directory and put them together,IOS environment needs to be downloaded from the GITHUB release page  \nSupport IOS15 and above systems, ARM64-bit architecture is required\n\n## System Version\nload header file:  \n#include \u003cpch.h\u003e //Precompiled, Windows may require  \n#include \u003csystem  header.h\u003e  \nusing namespace *;                //C++ NAME SPACE  \n#include \u003cXEngine_CommHdr.h\u003e  \n#include \u003cXEngine_ProtocolHdr.h\u003e //maybe need  \n#include \u003cXEngine_Include/components_dir/moduename_Define.h\u003e  \n#include \u003cXEngine_Include/components_dir/moduename_Error.h\u003e  \n#include \u003cyour  header  file\u003e\n  \n## Directory Structure\n  \n*libxengine            SDK Release dir\n* XEngine_Mac              MacOS System Release version folder(x86_64)\n* XEngine_Windows          WINDOWS Release version folder(x86_64)\n* XEngine_Linux           LINUX release version folder(UBuntu24.04_x86_64)\n* XEngine_Include         Header Folder\n * --XEngine_CommHdr.h      Public header file\n * --XEngine_ProtocolHdr.h  protocol header\n * --XEngine_Types.h        Function conversion header files for non-WINDOWS system platforms\n * --XEngine_*              Components Header\n * XEngine_Docment        Docment Dir\n * --SDK服务协议.docx        Protocol Docment\n * --开发人员必读.docx       Xengine docment\n * --开发文档.docx           develop docment\n * --结构图\n* XEngine_Configure        Configure file Dir,for http and sip configure\n* CODE_OF_CONDUCT.md       Contribution content description\n* CONTRIBUTING.md          CONTRIBUTING List\n* README.en.md             english readme\n* README.md                chinese readme\n* XEngine_LINEnv.sh        Linux And MacOS Env XEngine Install Configure Script\n* XEngine_WINEnv32.bat     Windows Env 32BIT XEngine Install Configure Script\n* XEngine_WINEnv64.bat     Windows Env 64BIT XEngine Install Configure Script\n* XEngine_WINEnvArm64.bat  Windows Env Arm64 XEngine Install Configure Script\n* SECURITY.md              Version Maintenance Security Update Instructions\n* XEngine_APIDoc.chm       API Docment\n* CHANGELOG                Latest version update instructions\n* COPYRIGHT                Third-party library copyright notice\n* HOSTORY                  update history\n* LICENSE                  XEngine copyright notice\n  \n## Follow us\nIf you think this software is helpful to you, please give us a START  \nand wechat qr scan to follow us  \n![qrcode](https://www.xyry.org/qrcode.jpg)\n\n### component struct\n* Codec component: used for audio and video codec development and filter, transcoding and other operations\n* Basic components: including basic time, string, algorithm, file, event, handle and other operations\n* Client Components: Contains regular TCP and UDP client development, as well as other advanced client development SDKs\n* Core components: including various high-performance network services, high-performance thread pools and network-related basic protocol development, etc.\n* Helping components: including protocol group unpacking, binary group unpacking, decompression, database related SDK development\n* Network components: SDKs for network-related protocols and tools development\n* Standard Components: Modules developed for protocols introduced by the RFC standards organization.\n* Streaming Media Components: Interface modules for client-server protocol-related development of streaming media protocols\n* System components: SDK development components related to the system platform\n\n## Contribution Guidelines\nRepository: https://github.com/libxengine/xengine  \nLicense Information: https://www.xyry.org/auth.html  \nIf you are contributing code, please fork the repository and write your code in your own fork. Once completed, submit a PR to the develop branch of our repository.  \nYou must strictly follow the coding standards outlined in the Development Document.docx when writing your code.refer\u003c环境配置.docx\u003eto configure your develop env  \nIf you only need to compile and use the code, please switch to the master branch in our repository, as the develop branch is for development purposes and is not intended for regular use.  \n\n## Software Architecture\n![软件架构图](https://www.xyry.org/XEngine_StructPic/EngineFrameWork.png  \"软件架构图\")\n![引擎模块图](https://www.xyry.org/XEngine_StructPic/EngineRelation.png  \"引擎模块图\")\n  \n### components struct picture\n![音视频编解码组件结构图](https://www.xyry.org/XEngine_StructPic/XEngine_AVCodec.png  \"音视频编解码组件结构图\")\n![基础组件结构图](https://www.xyry.org/XEngine_StructPic/XEngine_BaseLib.png  \"基础组件结构图\")\n![客户端组件结构图](https://www.xyry.org/XEngine_StructPic/XEngine_Client.png  \"客户端组件结构图\")\n![核心组件结构图](https://www.xyry.org/XEngine_StructPic/XEngine_Core.png  \"核心组件结构图\")\n![帮助组件结构图](https://www.xyry.org/XEngine_StructPic/XEngine_HelpComponents.png  \"帮助组件结构图\")\n![网络组件结构图](https://www.xyry.org/XEngine_StructPic/XEngine_NetHelp.png  \"网络组件结构图\")\n![标准组件结构图](https://www.xyry.org/XEngine_StructPic/XEngine_RfcComponents.png  \"标准组件结构图\")\n![流媒体组件结构图](https://www.xyry.org/XEngine_StructPic/XEngine_StreamMedia.png  \"流媒体组件结构图\")\n![系统组件结构图](https://www.xyry.org/XEngine_StructPic/XEngine_SystemSdk.png  \"系统组件结构图\")","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibxengine%2Flibxengine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibxengine%2Flibxengine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibxengine%2Flibxengine/lists"}