项目简介
本项目是基于C语言的RTMP协议处理库及工具集,包含多个处理RTMP流媒体的实用程序与库,可实现RTMP连接、数据传输、URL解析等功能。
项目的主要特性和功能
- rtmpdump:命令行工具,支持多种参数,可用于下载和处理RTMP流,包括实时流下载、恢复下载,支持多种输出选项。
- rtmpsrv:简单的RTMP服务器,能处理客户端连接与播放请求,还可生成rtmpdump命令保存流数据。
- rtmpsuck:RTMP代理服务器,监听指定地址和端口,接收和转发RTMP数据包,可将媒体数据保存到文件。
- librtmp:实现RTMP协议的C语言库,具备建立连接、发送和接收数据等底层功能。
安装使用步骤
安装依赖
需安装OpenSSL和zlib,也可选择GnuTLS或polarssl代替OpenSSL。使用OpenSSL时,版本需为0.9.8或更高;使用Polar SSL时,版本需为1.0.0或更高。
编译
使用“make”命令编译,根据不同平台指定“SYS”变量,例如:
- Linux、Unix等:make SYS=posix
- MacOSX:make SYS=darwin
- Windows:make SYS=mingw
也可使用“CROSS_COMPILE”变量进行交叉编译:
make CROSS_COMPILE=arm-none-linux- INC=-I/my/cross/includes
可通过指定“XDEF”宏来控制加密支持,例如:
- 仅使用rtmpe支持,无rtmps/https支持:make XDEF=-DNO_SSL
- 使用POLARSSL且无rtmps/https支持:make CRYPTO=POLARSSL XDEF=-DNO_SSL
- 关闭所有加密支持:make CRYPTO=
默认会构建共享库,可通过以下命令关闭:
make SHARED=
使用
根据各个工具的说明使用,如:
- rtmpdump:直接执行rtmpdump
并搭配相应参数使用。
- rtmpsrv:运行rtmpsrv
可获取Flash客户端发送到RTMP服务器的参数。
- rtmpsuck:运行rtmpsuck
并可使用-z
选项开启调试日志。
- rtmpgw:使用HTTP请求GET /
并以URL编码方式提供rtmpdump参数。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】