项目简介
本项目是基于C语言开发的RTMP(Real - Time Messaging Protocol)流媒体处理工具集,具备RTMP流下载、代理服务器、HTTP网关以及核心RTMP协议处理功能。包含多个工具和库,可帮助开发者处理RTMP流媒体数据,适用于流媒体应用、监控系统等场景。
项目的主要特性和功能
- RTMP流下载:利用
rtmpdump
工具,可从RTMP服务器下载流媒体内容,支持自定义连接参数与输出文件。 - HTTP - RTMP网关:
rtmpgw
工具能将RTMP流转换为HTTP流,便于通过HTTP协议传输流媒体。 - RTMP代理服务器:
rtmpsuck
工具可捕获和保存RTMP流,具备调试日志功能,能记录客户端与服务器通信数据。 - RTMP服务器:
rtmpsrv
工具实现了简单的RTMP服务器,用于接收和处理RTMP连接请求。 - 核心RTMP库:
librtmp
库提供RTMP协议核心处理功能,包括连接管理、数据读写、AMF数据格式处理等。 - SWF验证:支持自动生成SWF文件哈希值,用于RTMP流验证和安全检查。
- 跨平台支持:支持Linux、Unix、MacOSX和Windows等多平台,提供跨平台编译支持。
安装使用步骤
前提条件
已下载本项目的源码文件。
安装依赖
项目依赖OpenSSL和zlib库,也可用GnuTLS或PolarSSL替代OpenSSL,需确保这些库已安装在系统中。
编译项目
- Linux/Unix系统:
bash $ make SYS=posix
- MacOSX系统:
bash $ make SYS=darwin
- Windows系统:
bash $ make SYS=mingw
- 跨平台编译:
bash $ make CROSS_COMPILE=arm-none-linux- INC=-I/my/cross/includes
运行工具
- 使用
rtmpdump
下载RTMP流:bash $ ./rtmpdump -r rtmp://example.com/live/stream -o output.flv
- 使用
rtmpgw
启动HTTP - RTMP网关:bash $ ./rtmpgw
- 使用
rtmpsuck
捕获RTMP流:bash $ ./rtmpsuck
- 使用
rtmpsrv
启动RTMP服务器:bash $ ./rtmpsrv
注意事项
- 使用OpenSSL,需确保版本为0.9.8或更新。
- 使用PolarSSL,需确保版本为1.0.0或更新。
- 可通过
make CRYPTO=
命令关闭加密功能进行编译。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】