项目简介
RTMPDump是基于C语言开发的工具,用于下载通过RTMP协议传输的媒体内容。RTMP是基于TCP的流媒体协议,常用于音频、视频等数据流的传输。该工具支持从RTMP服务器下载流媒体,具备断点续传功能,且在下载过程中可显示进度,如下载速度、已完成比例等,程序借助RTMP库函数与RTMP服务器通信、读写数据。
项目的主要特性和功能
- RTMP协议支持:能从RTMP服务器下载流媒体内容,支持断点续传。
- 多平台编译:可在Linux、Unix、MacOSX和Windows等平台编译运行。
- 加密支持:支持处理加密的RTMP流(如RTMPS/HTTPS),可选用OpenSSL、GnuTLS或PolarSSL进行加密处理。
- 命令行参数:可通过命令行参数指定连接信息,如主机名、端口、协议、播放路径等。
- 进度显示:下载时显示进度,包含下载速度、已完成比例等。
- 输出选项:支持将下载内容输出到文件或标准输出。
- SWF验证:能自动生成SWF验证信息,保证与RTMP服务器的兼容性。
- 服务器模拟:提供rtmpsrv、rtmpsuck和rtmpgw等工具,用于模拟RTMP服务器、透明代理和HTTP网关。
安装使用步骤
编译项目
- 在Linux/Unix系统上:
bash make SYS=posix
- 在MacOSX系统上:
bash make SYS=darwin
- 在Windows系统上:
bash make SYS=mingw
- 若需交叉编译,使用
CROSS_COMPILE
变量,例如:bash make CROSS_COMPILE=arm-none-linux- INC=-I/my/cross/includes
依赖库
项目依赖OpenSSL和zlib库,也可选用GnuTLS或PolarSSL代替OpenSSL。若不需要加密支持,可通过以下命令禁用SSL:
bash
make XDEF=-DNO_SSL
生成共享库
默认生成静态库和共享库,若不需要共享库,可通过以下命令禁用:
bash
make SHARED=
运行程序
- 编译成功后,运行RTMPDump:
bash ./rtmpdump -r rtmp://server/app/stream -o output.flv
- 使用
-W
选项自动生成SWF验证信息:bash ./rtmpdump -W -r rtmp://server/app/stream -o output.flv
- 使用
--conn
选项指定自定义连接参数:bash ./rtmpdump --conn B:0 --conn S:hello -r rtmp://server/app/stream -o output.flv
服务器工具
- rtmpsrv:模拟RTMP服务器,获取客户端连接参数。
- rtmpsuck:透明代理,捕获RTMP流量并记录未加密的数据。
- rtmpgw:将RTMP流转换为HTTP响应,支持通过HTTP请求下载RTMP流。
注意事项
- 使用OpenSSL时,版本需为0.9.8或更高。
- 使用PolarSSL时,版本需为1.0.0或更高。
- 在Windows系统上,可能需手动安装OpenSSL或使用预编译的二进制文件。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】