ZLMediaKit/README.md
2017-05-03 00:16:53 +08:00

110 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 一个基于C++11简单易用的轻量级流媒体库
平台|编译状态
----|-------
Linux | [![Build Status](https://travis-ci.org/xiongziliang/ZLMediaKit.svg?branch=master)](https://travis-ci.org/xiongziliang/ZLMediaKit)
- 基于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文件服务器。
- 其他
- 支持输入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
```
- [ZLToolKit](https://github.com/xiongziliang/ZLToolKit)
```
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