ZLMediaKit/README.md
2017-04-23 14:48:54 +08:00

81 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简单易用的轻量级流媒体库
## 项目优势
- 基于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计算排序。
## 后续任务
- 提供cmake编译方式
- 提供更多的示例代码
- 提供ios工程
## 编译(Linux)
- 我的编译环境
- Ubuntu16.04 64 bit + gcc5.4(最低gcc4.7)
- [eclipse for c++](https://www.eclipse.org/downloads/download.php?file=/oomph/epp/neon/R3/eclipse-inst-mac64.tar.gz)
- 依赖
- [ZLToolKit](https://git.oschina.net/xiahcu/ZLToolKit)
本项目依赖我的另一个项目([ZLToolKit](https://git.oschina.net/xiahcu/ZLToolKit)),编译时,请把两个工程放在同一目录下。
- libfaac
```
#ubuntu下安装faac库
sudo apt-get install libfaac-dev
```
- libx264
```
#ubuntu下安装x264库
sudo apt-get install libx264-dev
```
- libmp4v2
```
#ubuntu下安装mp4v2库
sudo apt-get install libmp4v2-dev
```
- 使用eclipse编译
- 1、点击菜单File->Import->Git(Projects from git)-> Clone URI
- 2、输入git地址点击 Next 然后选择 master 分支然后一路点击 Next 直至导入项目。
- 3、选中 ZLToolKit项目点击鼠标右键在下拉菜单中点击 Build Configurations-> Set Active -> X64选择编译X64版本目标文件。
- 4、在ZLMediaKit项目右键菜单中点击 Clean Project 清理项目。
- 5、在ZLMediaKit项目右键菜单中点击 Build Project 编译项目。
- 使用make编译
如果没有安装eclipse可以使用已经生成的Makefile文件直接编译
```
# 根据makefile编译
cd ZLMediaKit/X64
make clean
make
```
## 联系方式
- QQ群542509000