1 Star 3 Fork 0

xengine / XEngine_StreamMedia

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

中文 ||  English  

XEngine_StreamMedia

本仓库有开发和主分支,如果要使用,请使用master分支下的代码
只要仓库不是在暂停状态,那么就会有人一直维护和开发,请放心使用

介绍

c c++ 流媒体服务器
c c++ streammedia server
这是一个支持多种流协议的流媒体服务器,他支持推流和拉流,支持各种主流标准协议的流媒体服务器
他还可以作为抽帧服务和转码服务使用
这是一个跨平台的流媒体服务器,提供了完整的演示代码

软件架构

基于libXEngine开发并实现的一套简洁高性能跨平台流媒体解析推流服务

特性:

  1. 支持语音对讲(planning)
  2. 支持视频转码(planning)
  3. 支持抽帧(planning)
  4. 支持转推流
  5. 支持透传数据(planning)
  6. 支持HTTP API管理接口
  7. 支持HTTP HOOK(planning)
  8. 支持全流媒体协议互转

推流协议:

协议名称 视频格式 音频格式 当前状态
RTMP H264 AAC 已完成
SRT H264,H265 AAC 已完成
WEBRTC H264 OPUS 未开始
GB28181 H264 AAC 未开始
JT1078 H264 AAC 已完成
XStream H264,H265 AAC 已完成

拉流协议:

协议名称 视频格式 音频格式 当前状态
RTMP H264 AAC 已完成
RTSP H264 AAC 已完成
M3U8 H264,H265 AAC 已完成
SRT H264,H265 AAC 已完成
WEBRTC H264 OPUS 进行中
HTTP-FLV H264 AAC 已完成
XStream H264,H265 AAC 已完成
TS H264,H265 AAC 已完成

安装教程

XEngine环境

在编译之前必须安装XEngine,可以参考其Readme文档
GITEE:https://gitee.com/xyry/libxengine
GITHUB:https://github.com/libxengine/xengine

快速部署

git clone https://gitee.com/xyry/libxengine.git 或者 git clone https://github.com/libxengine/xengine.git
window执行XEngine_WINEnv.bat 脚本
Linux执行:sudo ./XEngine_LINEnv.sh -i 3
macos执行:./XEngine_LINEnv.sh -i 3

Windows

使用VS打开并且编译,你需要优先配置XEngine环境才能使用
还需要libsrt库,通过vcpkg安装
vcpkg.exe install libsrt:x86-windows libsrt:x64-windows libsrtp:x86-windows libsrtp:x64-windows

Linux

配置完XEngine后需要安装srt库
ubuntu:sudo apt install libsrt-openssl-dev libsrtp2-dev
Rockylinux:sudo dnf install srt-devel srtp2-devel

Linux使用Makefile编译
UBUNTU22.04 或者 RockyLinux 9 x64均可

编译命令

在XEngine_Source目录下执行命令
make 编译
make FLAGS=InstallAll 安装库程序
make FLAGS=CleanAll 清理编译

MacOS

配置完XEngine后需要安装srt库
brew install libsrt srtp
使用makefile编译,控制台运行,需要mac 13以及以上版本

编译命令

参考Linux

视频教程

你也可以观看视频教程来了解我们的代码框架情况:https://www.bilibili.com/video/BV17F4m1M7Ph

使用说明

  1. 切换到MASTER分支
  2. 下载代码
  3. 编译
  4. 安装
  5. 运行XEngine_StreamMediaApp,linux可以使用 -d 1 命令在后台运行
  6. 使用obs推流
  7. 使用VLC等工具播放

示例

推流示例

rtmp://127.0.0.1/live/qyt
srt://127.0.0.1:5603?streamid=#!::h=live/qyt,m=publish
xstream://127.0.0.1:5601

拉流示例

http://127.0.0.1:5600/api?stream=play&sms=live/qyt&type=flv(http-flv)
http://127.0.0.1:5600/api?stream=play&sms=live/qyt&type=ts
rtsp://127.0.0.1:5600/api?stream=play&sms=live/qyt&type=rtsp
rtmp://127.0.0.1/live/qyt
srt://127.0.0.1:5603?streamid=#!::r=live/qyt,m=request
http://127.0.0.1:5601?api?stream=play&sms=live/qyt&type=xstream(http-xstream)

管理接口示例

http://127.0.0.1:5600/api?function=publish&method=get
http://127.0.0.1:5600/api?function=pull&method=get

目录结构

  • XEngine_Docment 文档目录结构
  • XEngine_Release 安装目录结构
  • XEngine_Source 源代目录结构
  • XEngine_APPClient 客户端演示代码

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

关注我们

如果你觉得这个软件对你有帮助,请你给我们一个START吧   也可以通过微信关注我们   qrcode

提交问题

如果你有问题或者发现程序有BUG和意见,可以在issues中提交

MIT License Copyright (c) 2023 XEngine:www.xyry.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

xengine 流媒体服务器 c c++ streammedia server 开源免费的流媒体服务器 展开 收起
C/C++ 等 4 种语言
MIT
取消

贡献者

全部

近期动态

加载更多
不能加载更多了
C/C++
1
https://gitee.com/xengine/XEngine_StreamMedia.git
git@gitee.com:xengine/XEngine_StreamMedia.git
xengine
XEngine_StreamMedia
XEngine_StreamMedia
develop

搜索帮助