RTMPdump 使用说明

RTMPdump(libRTMP)这是一个C++的开源工程, 主要作用是下载RTMP流媒体。

名称

rtmpdump - (RTMP流媒体客户端)RTMP streaming media client

使用参数

rtmpdump -r url [-n hostname] [-c port] [-l protocol] [-S host:port] [-a app] [-t tcUrl] [-p pageUrl] [-s swfUrl] [-f flashVer] [-u auth] [-C conndata] [-y playpath] [-Y] [-v] [-R] [-d subscription] [-e] [-k skip] [-A start] [-B stop] [-b buffer] [-m timeout] [-T key] [-j JSON] [-w swfHash] [-x swfSize] [-W swfUrl] [-X swfAge] [-o output] [-#] [-q] [-V] [-z] 

rtmpdump -h

说明

rtmpdump 是一个可以通过RTMP协议下载流媒体的工具.

rtmpdump 通过给定的URL建立连接到指定的RTMP服务器. 这URL应该如下:

    rtmp[t][e]://hostname[:port][/app[/playpath]]

支持一般以及加密的RTMP会话

选项

网络参数

这些选项定义了如何连接到服务器


--rtmp -r url
连接到服务器的url
--host -n hostname
覆盖 RTMP URL的主机地址.
--port -c port
覆盖 RTMP URL的端口号.
--protocol -l number
覆盖 RTMP URL的协议.
  0 = rtmp
  1 = rtmpt
  2 = rtmpe
  3 = rtmpte
  4 = rtmps
  5 = rtmpts
--socks -S host:port
使用指定 SOCKS4 代理.

连接参数

这些选项定义了RTMP请求连接的数据包内容,如果不提供正确的值,服务器将拒绝连接尝试

--app -a app
连接到RTMP的应用名,覆盖RTMP URL中的app。有时rtmpdump URL 无法正确自动解析app名称。这时必须使用该选项。
--tcUrl -t url
目标流的URL。默认格式 rtmp[e]://host[:port]/app/playpath.
--pageUrl -p url
媒体嵌入网页的URL,默认情况下没有被发送的价值
--swfUrl -s url
该媒体swf播放器的URL. 默认情况下没有被发送的价值.
--flashVer -f version
swf播放器使用的Flash版本. 默认是"LNX 10,0,32,18".
--auth -u string
增加到connect的验证字符串,使用此选项将增加一个bool值TRUE,然后是指定的字符串,此选项仅用于一些特定的服务器,已经过时了,更一般情况,--conn选项应该被代替使用
--conn -C type:data
任意AMF数据追加到connect,类型说明,
B 布尔型
N 数字
S 字符串
O 对象
Z 空
对于布尔型必须是0或1作为FALSE或TRUE,
对于对象数据必须以0或1分别作为结束和开始的标制,子对象中数据项前加前缀类型N,并指定值名称,例如:
  -C B:1 -C S:authMe -C O:1 -C NN:code:1.23 -C NS:flag:ok -C O:0

会话选项
这些选项在连接成功后生效

--playpath -y path
覆盖RTMP URL解析的playpath,rtmpdump有时不能正确解析,通过该选项明确
--playlist -Y
在play命令之前发生set_playlist命令。否则播放列表将会值包含playpath
--live -v
指定媒体是实时流。在实时流中没有恢复和搜索。
--subscribe -d stream
订阅的实时流名称。默认 playpath.
--realtime -R
实时下载时试图使用暂停和恢复命令("the BUFX hack"),服务器可以调到后面再使用恢复命令,恢复和搜索在实时流中还是可以实现的
--resume -e
恢复一个不完整的rtmp流下载
--skip -k num
恢复时寻找最后一个关键帧跳过的关键帧数。如果经常尝试恢复失败,这可能有用,默认0。
--start -A num
开始到流的秒数,实时流无效
--stop -B num
该流停止秒数
--buffer -b num
设置缓冲时间,单位毫秒. The default is 36000000.
--timeout -m num
num秒后没有收到任何数据会话超时,默认值120。

安全参数

这些选项处理额外的身份验证,来自服务器的请求
--token -T key
输入安全令牌响应,如果服务器需要使用安全令牌验证
--jtv -j JSON
JSON令牌用于传统Justin.tv服务器 ,调用NetStream.Authenticate.UsherToken
--swfhash -w hexstring
swf文件的SHA256 hash 数值. 如果服务器使用swf验证,该选项会被用到, 看下面 --swfVfy 选项. 该哈希值是32字节,并且必须以十六进制表示. 始终与 --swfsize 选项一起使用.
--swfsize -x num
解压后SWF文件大小. 服务器swf验证时可能需要此选项,看下面--swfVfy 选项.始终与  --swfhash 选项一起使用.
--swfVfy -W url
swf播放器的URL,此选项将替换所以三个--swfUrl, --swfhash, and --swfsize选项。使用此选项时,swf播放器将从指定URL检索,并自动计算哈希和大小。此外信息缓存在一个swfinfo文件在用户主目录,所以它在每次rtmpdump运行时,并不需要检索和重新计算。swfinfo记录URL,生成时间,修改SWF文件时间,它的大小,它的哈希,默认情况下,缓冲信息用于30天,然后重新检测。
--swfAge -X days
指定使用缓存的swf信息天数,然后重新检查,使用0为经常检查,如果检查显示swf具有相同的修改时间戳,它不会被再次检索

杂项

--flv -o output
指定输出文件名,如果这个名字是-或被省略,流写入到stdout
--hashes -#
显示流进度,一个哈希标记没1%进度,而不是字节计数器
--quiet -q
制止所以命令的输出
--verbose -V
详细输出.
--debug -z
debug输出等级,最详细可输出所有分组数据
--help -h
打印命令选项摘要

退出状态
0
程序成功运行
1
不可知错误
2
不完全转移,可能会得到进一步恢复

作者

Andrej Stepanchuk, Howard Chu, The Flvstreamer Team
http://rtmpdump.mplayerhq.hu

英文原文:http://rtmpdump.mplayerhq.hu/rtmpdump.1.html

中文原文:http://blog.163.com/zhujiatc@126/blog/static/18346382013713114012167/

RTMPdump Windows版本下载:http://download.csdn.net/detail/leixiaohua1020/6512579

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: rtmpdump是一个开源的命令行工具,用于从流媒体服务器上下载或录制RTMP流(Real-Time Messaging Protocol)。vc工程是指使用VC++编写的工程项目。将两者结合起来,意味着在VC++环境下使用rtmpdump工具进行流媒体下载或录制。 要在VC++中使用rtmpdump工具,首先需要下载并安装rtmpdump源代码。然后在VC++项目中添加rtmpdump的相关文件,并在代码中引用相关的头文件。接下来,就可以使用rtmpdump提供的函数来实现对RTMP流的下载或录制。 具体而言,可以使用rtmpdumprtmpdump()函数指定要下载或录制的RTMP流的URL,并设置保存的文件路径。通过调用该函数,rtmpdump将连接到流媒体服务器并获取流媒体数据,并将其写入指定的文件中。在下载或录制过程中,还可以使用rtmpdump的其他函数来处理数据流,例如解密、分段等操作。 在VC++中使用rtmpdump工程可以为流媒体下载或录制提供更灵活和定制化的功能。通过使用VC++的编程特性,可以进行更高级的数据处理和界面设计,实现更复杂的功能需求。同时,rtmpdump的开源性质也使得用户能够根据自己的需求对其进行修改和扩展。 总之,通过在VC++中使用rtmpdump工程,可以方便地实现对RTMP流的下载或录制,并根据需要进行定制化的功能扩展。这为开发者提供了更大的灵活性和自由度,以满足不同的流媒体处理需求。 ### 回答2: rtmpdump是一款用于从RTMP流媒体服务器下载或录制音频/视频内容的开源工具。vc工程是指使用Visual C++编程语言和开发环境创建的软件项目。 要创建一个rtmpdump的vc工程,首先需要下载rtmpdump的源代码,然后使用Visual C++打开相应的工程文件。接下来需要配置工程的编译环境,确保所需的头文件和库文件路径正确。 在工程中,会有一些源代码文件,这些文件负责实现rtmpdump的各种功能,例如建立与RTMP服务器的连接、发送请求、接收数据、数据解析等等。这些文件会被编译成可执行的二进制文件。 在编译期间可能会遇到一些依赖项问题,例如需要额外链接一些库文件以支持某些功能。开发人员需要根据编译过程中的错误信息,对工程进行适当的配置和调整,以确保成功编译。 一旦vc工程成功编译完成,就可以生成一个可执行文件,该文件可以在命令行中运行。通过指定RTMP服务器的URL和相关参数,可以让rtmpdump工具连接到服务器并下载或录制所需的音频/视频内容。 总的来说,创建一个rtmpdump的vc工程需要下载源代码、配置编译环境、解决依赖项问题,并根据需要添加自定义功能。通过编译和运行工程生成的可执行文件,就能实现从RTMP流媒体服务器下载或录制音频/视频内容的操作。 ### 回答3: rtmpdump是一个用于下载和保存RTMP流的工具。它提供了用于处理RTMP协议的源代码,可以自定义编译和构建,获得一个可以在不同平台上运行的RTMP下载工具。 RTMP是一种用于流媒体传输的协议,它是Adobe公司开发的一种实时通信协议,常用于视频直播、在线游戏和音频通信等领域。rtmpdump工具可以连接到RTMP服务器,读取和接收RTMP流,并将其保存为本地文件。 vc工程是指使用Visual C++编译器创建的工程。通过将rtmpdump的源代码加入到Visual C++工程中,我们可以使用VC++的功能和特性来构建和调试rtmpdump工具。这样,我们就可以根据自己的需求进行修改和定制,使其能够更好地满足我们的需求。 在vc工程中,我们可以使用rtmpdump的源代码来构建一个命令行界面的工具,以便用户可以通过命令行输入相关参数来下载RTMP流。我们可以利用Visual C++的调试功能来排查和修复可能存在的问题,提高工具的稳定性和性能。 除了在vc工程中进行开发和调试,rtmpdump还可以在不同的平台上进行编译和构建,如Linux、Mac和Android等。这使得rtmpdump工具具有更广泛的适用性和可移植性。 总结来说,rtmpdump vc工程是指使用Visual C++编译器创建的工程,并集成了rtmpdump的源代码,使其能够在Windows平台上运行和定制化,从而实现对RTMP流进行下载和保存的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值