WebRTC/RTSP/RTMP/HTTP/HLS/HTTP-FLV/WebSocket-FLV/HTTP-TS/HTTP-fMP4/WebSocket-TS/WebSocket-fMP4/GB28181/SRT server and client framework based on C++11
Go to file
2017-05-02 23:43:33 +08:00
.settings update 2017-05-02 17:09:25 +08:00
cmake move cmake file 2017-05-02 23:42:35 +08:00
src 调整目录结构 2017-05-02 17:15:12 +08:00
tests add test for multi server 2017-05-02 23:43:10 +08:00
X64 调整目录结构 2017-05-02 17:15:12 +08:00
.cproject ENABLE_MEDIAFILE宏拆分为ENABLE_HLS和ENABLE_MP4V2 2017-05-02 17:07:02 +08:00
.DS_Store 添加媒体源demo 2017-04-20 11:56:31 +08:00
.gitignore update 2017-05-02 17:07:32 +08:00
.project 初始提交 2017-04-01 16:35:56 +08:00
.travis.yml add yml file 2017-05-02 23:43:33 +08:00
CMakeLists.txt add test for multi server 2017-05-02 23:43:10 +08:00
LICENSE Initial commit 2017-04-01 16:30:26 +08:00
README.md Update README.md 2017-04-23 14:48:54 +08:00

一个基于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)

  • 我的编译环境

  • 依赖

    • ZLToolKit

      本项目依赖我的另一个项目(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