rtmpdump参数详解

  rtmpdump是用来处理RTMP流媒体的工具包,支持rtmp://、rtmpt://、rtmpe://、rtmpte://、rtmps://等协议,有Windows、Linux等版本;
 
一、rtmpdump用法:
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] [-d subscription] [-e] [-k skip] [-A start] [-B stop]  [-b buffer]  [-m timeout]  [-T key]  [-w swfHash]  [-x swfSize]  [-W swfUrl] [-X swfAge] [-o output] [-#] [-q] [-V] [-z]
 
二、参数详解:
参数组参数描述



这些选项定义如何连接到RTMP流媒体服务器:
--rtmp url
-r url
RTMP流内容的URL;
--host hostname
-n hostname
覆盖RTMP流内容URL的主机地址;
--port port
-c port
覆盖RTMP流内容URL的端口号;
--protocol num
-l num
覆盖RTMP流内容URL的协议;支持一下值:
  0 = rtmp
  1 = rtmpt
  2 = rtmpe
  3 = rtmpte
  4 = rtmps
  5 = rtmpts
--socks host:port
-S host:port
使用指定SOCKS4代理服务器;



这些选项定义RTMP内容连接请求包。如果没有提供正确的值,媒体服务器将拒绝连接尝试:
--app app
-a app
连接到RTMP服务器的应用名称,会覆盖RTMP URL中的app;
有时rtmpdump URL无法正确自动解析app名称,这时必须使用该选项;
--tcUrl url
-t url
目标流的URL;默认为自定根据参数拼接为:
  rtmp[e]://host[:port]/app/playpath;
 
--pageUrl url
-p url
媒体嵌入网页的URL;
默认情况下没有被发送的价值;
--swfUrl url
-s url
该媒体swf播放器的URL;
默认情况下没有被发送的价值;
--flashVer ver
-f ver
swf播放器使用的Flash版本;
默认是"LNX 10,0,32,18";
 --auth string
-u string
将要添加到连接的身份验证字符串;
使用此选项将添加一个布尔值,然后将指定的字符串;
此选项仅用于特定服务,已过时,请使用“--conn”选项来代替;
 --conn type:data
-C type:data
在连接参数添加任意AMF数据;
类型必须为:
  B:布尔值,使用0、1分别表示FLASE、TRUE;
  N:数字;
  S:字符串; 
  O:对象,使用1、0分别作为对象的开始、结束标记;对象的子数据、在数据类型前加“N”、并指定值的名称,如:“NB:myFlag:1”;完整对象例子:
    -C O:1 -C NS:name:爱E族 -C NS:site:aiezu.com -C O:0
  Z:“null”;

这选项可以多次使用,构造任意AMF序列。例如:
  -C B:1 -C S:authMe -C O:1 -C NN:code:1.23 -C NS:flag:ok -C O:0










 
这些选项在连接请求成功后生效:
--playpath path
-y path
覆盖RTMP URL解析的playpath(播放路径);
rtmpdump有时不能正确解析playpath,通过该选项明确指定;
--playlist
-Y
在play命令之前发送set_playlist命令;
否则播放列表将会值包含playpath;
--live
-v
指定媒体是一个直播流;
直播流没有resuming或seeking的可能;
--subscribe stream
-d stream
订阅的实时流名称,默认playpath;
--resume
-e
恢复一个不完整的rtmp流下载;
--skip num
-k num
恢复时寻找最后一个关键帧跳过的关键帧数;
如果经常尝试恢复失败,这可能有用,默认0;
--start num
-A num
流起始点秒数,实时流无效;
--stop num
-B num
该流停止点秒数;
--buffer num
-b num
设置缓冲时间数毫秒;
默认为36000000;
--timeout num
-m num
num秒后没有收到任何数据会话超时,默认值120;



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

--flv output
-o output
指定输出文件名;
如果名字是“-”或被省略,流写入到stdout;
--hashes
-#
显示流百分比进度条;
--quiet
-q
制止所以命令的输出;
--verbose
-V
详细输出;
--debug
-z
debug输出级,最详细可输出所有分组数据;
--help
-h
查看帮助;
 
三、退出状态:
  • 0:程序执行完成;
  • 1:不可恢复的错误;
  • 2:不完全转移,可能会得到进一步恢复;

 
四、参考:
rtmpdump官网:http://rtmpdump.mplayerhq.hu/(官网上有各个版本下载链接)

0 个评论

要回复文章请先登录注册