1 Star 3 Fork 0

xengine / XEngine_StreamMedia

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

中文 ||  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中提交

空文件

简介

xengine 流媒体服务器 c c++ streammedia server 开源免费的流媒体服务器 展开 收起
取消

贡献者

全部

近期动态

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

搜索帮助

53164aa7 5694891 3bd8fe86 5694891