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-06-03 11:14:27 +08:00
.settings update 2017-05-02 17:09:25 +08:00
cmake 提供Android编译支持 2017-06-03 10:52:49 +08:00
src 提供Android编译支持 2017-06-03 10:52:49 +08:00
tests 提供Android编译支持 2017-06-03 10:52:49 +08:00
.cproject update for Android 2017-05-26 10:59:24 +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 Update .travis.yml 2017-05-11 22:57:26 +08:00
build_for_android.sh 提供Android编译支持 2017-06-03 10:52:49 +08:00
build_for_ios.sh Update build_for_ios.sh 2017-05-11 23:47:13 +08:00
build_for_linux.sh Update build_for_linux.sh 2017-05-11 23:45:51 +08:00
build_for_mac.sh 添加编译脚本 2017-05-11 22:55:29 +08:00
CMakeLists.txt 提供Android编译支持 2017-06-03 10:52:49 +08:00
LICENSE Initial commit 2017-04-01 16:30:26 +08:00
README.md Update README.md 2017-06-03 11:14:27 +08:00

一个基于C++11简单易用的轻量级流媒体库

平台 编译状态
Linux Build Status
macOS Build Status
iOS Build Status
Android Build Status

项目特点

  • 基于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计算排序。

后续任务

  • 提供更多的示例代码

编译(Linux)

  • 我的编译环境

    • Ubuntu16.04 64 bit + gcc5.4(最低gcc4.7)
    • cmake 3.5.1
  • 编译

    cd ZLMediaKit
    ./build_for_linux.sh
    

编译(macOS)

  • 我的编译环境

    • macOS Sierra(10.12.1) + xcode8.3.1
    • Homebrew 1.1.3
    • cmake 3.8.0
  • 编译

    cd ZLMediaKit
    ./build_for_mac.sh
    

编译(iOS)

  • 编译环境:请参考macOS的编译指导。

  • 编译

    cd ZLMediaKit
    ./build_for_ios.sh
    
  • 你也可以生成Xcode工程再编译

    cd ZLMediaKit
    mkdir -p build
    cd build
    # 生成Xcode工程工程文件在build目录下
    cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/iOS.cmake -DIOS_PLATFORM=SIMULATOR64 -G "Xcode"
    

编译(Android)

  • 我的编译环境

    • macOS Sierra(10.12.1) + xcode8.3.1
    • Homebrew 1.1.3
    • cmake 3.8.0
    • android-ndk-r14b
  • 编译

    cd ZLMediaKit
    export ANDROID_NDK_ROOT=/path/to/ndk
    ./build_for_android.sh
    

联系方式