本文属于《ZLMediaKit源码分析》连载系列博客的第一篇,简要介绍了ZLMediaKit的功能定位、技术优势和源码目录结构。
ZLMediaKit是一个采用现代C++标准编写的开源项目,它既可以直接作为流媒体服务器使用,也可以作为音视频、流媒体相关应用(如:播放器、推流器、流媒体服务器二次开发)的SDK。
ZLMediaKit原生支持多种操作系统,比如Windows、Linux、macOS、Android、iOS等,开发调试都十分方便。
让我们先从源码目录开始分析。后文将采用“ZLMediaKit/”来表示ZLMediaKit源码的根目录,在这个目录下可以看到3rdpart、Android、api等子目录。
ZLMediaKit/目录下的内容描述如下:
子目录 |
内容描述 |
3rdpart |
第三方开源库,包含三个子目录,内容如下: (1) jsoncpp:用来处理json格式字符串的C++库。 (2) media-server:由老陈提供的C++媒体服务器,里面包含了若干媒体文件格式、传输协议的封装类。 (3) wepoll:epoll for windows。为Windows平台实现的仿epoll API。 (4) ZLToolKit:整个ZLMediaKit项目范围内通用的基础工具库,ZLMediaKit流媒体协议库和MediaServer应用程序就是基于这个库实现的。此库封装的功能包括日志、线程池、定时器、任务、缓冲区、套接字、事件处理循环、工具类等,由于它比较通用,因此可以作为“第三方开源库”给其它项目使用(包括ZLMediaKit项目)。 |
Android |
采用ZLMediaKit框架开发的Android版流媒体播放器。 |
api |
将C++风格的ZLMediaKit核心框架封装成纯C风格的API,供C程序调用。 |
cmake |
可供ZLMediaKit/CMakeLists.txt加载的cmake子模块。 |
conf |
包含流媒体服务器的配置文件config.ini |
docker |
docker镜像构建脚本 |
package |
rpm包支持 |
postman |
restful接口测试工具postman的测试项目文件 |
release |
项目构建目标输出目录 |
server |
基于3rdpart和src目录中的模块开发的一个流媒体服务器。 |
src |
ZLMediaKit流媒体开发库,主要由各种流媒体传输协议实现构成,还有Player、Pusher和Record等功能模块。 |
srt |
SRT协议支持 |
tests |
测试代码 |
webrtc |
WebRTC协议栈支持 |
webrtc_player |
WebRTC播放器 |
www |
帮助文件文章来源:https://www.toymoban.com/news/detail-690991.html |
从这一篇文章开始,作者将会连载一系列文章,带读者全面领略流媒体领域的明星开源项目ZLMediaKit的技术风范。文章来源地址https://www.toymoban.com/news/detail-690991.html
到了这里,关于ZLMediaKit简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!