mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2024-12-09 04:40:38 +08:00
.settings | ||
cmake | ||
src | ||
tests | ||
.cproject | ||
.DS_Store | ||
.gitignore | ||
.project | ||
.travis.yml | ||
CMakeLists.txt | ||
LICENSE | ||
README.md |
一个基于C++11简单易用的轻量级流媒体库
平台 | 编译状态 |
---|---|
Linux |
项目特点
- 基于C++11开发,避免使用裸指针,代码稳定可靠;同时跨平台移植简单方便,代码清晰简洁。
- 打包多种流媒体协议(RTSP/RTMP/HLS),支持协议间的互相转换,提供一站式的服务。
- 使用epoll+线程池+异步网络IO模式开发,并发性能优越。
- 只实现主流的的H264+AAC流媒体方案,代码精简,脉络清晰,适合学习。
功能清单
-
RTSP
- RTSP 服务器,支持RTMP/MP4转RTSP。
- RTSP 播放器,支持RTSP代理。
- 支持
rtp over udp
rtp over tcp
rtp over http
rtp组播
四种RTP传输方式 。
-
RTMP
- RTMP 播放服务器,支持RTSP/MP4转RTMP。
- RTMP 发布服务器,支持录制发布流。
- RTMP 播放器,支持RTMP代理。
- RTMP 推流客户端。
-
HLS
- 支持HLS文件生成,自带HTTP文件服务器。
-
HTTP[S]
- 服务器支持
目录索引生成
,文件下载
,表单提交请求
。 - 客户端提供
文件下载器(支持断点续传)
,接口请求器
。
- 服务器支持
-
其他
- 支持输入YUV+PCM自动生成RTSP/RTMP/HLS/MP4.
- 支持简单的telnet调试。
- 支持H264的解析,支持B帧的POC计算排序。
后续任务
- 提供更多的示例代码
- 提供ios工程
编译(Linux)
-
我的编译环境
- Ubuntu16.04 64 bit + gcc5.4(最低gcc4.7)
- cmake 3.5.1
-
依赖
-
cmake:
# 安装cmake sudo apt-get insatll cmake
-
libmysqlclient(使能ENABLE_MYSQL宏,非必备项)
# 安装mysql客户端开发套件 sudo apt-get install libmysqlclient-dev
-
libssl(使能ENABLE_OPENSSL宏,非必备项)
# 安装openssl开发套件 sudo apt-get install openssl sudo apt-get install libssl-dev
-
git clone --depth=50 https://github.com/xiongziliang/ZLToolKit.git cd ZLToolKit mkdir -p build cd build cmake .. make sudo make install
-
libfaac(使能ENABLE_FAAC宏,非必备项)
# 安装faac开发套件 sudo apt-get install libfaac-dev
-
libx264(使能ENABLE_X264宏,非必备项)
# 安装x264开发套件 sudo apt-get install libx264-dev
-
libmp4v2(使能ENABLE_MP4V2宏,非必备项)
# 安装mp4v2开发套件 sudo apt-get install libmp4v2-dev
-
-
编译
cd ZLMediaKit mkdir -p build cd build cmake .. make make install
联系方式
- 邮箱:771730766@qq.com
- QQ群:542509000