1<HTML> 2<HEAD> 3<title>RTMPDUMP(1): </title></head> 4<table> 5<thead> 6<tr><td>RTMPDUMP(1)<td align="center"><td align="right">RTMPDUMP(1) 7</thead> 8<tfoot> 9<tr><td>RTMPDump v2.4<td align="center">2012-07-24<td align="right">RTMPDUMP(1) 10</tfoot> 11<tbody><tr><td colspan="3"><br><br><ul> 12<!-- Copyright 2011 Howard Chu. 13 Copying permitted according to the GNU General Public License V2.--> 14</ul> 15 16<h3>NAME</h3><ul> 17rtmpdump − RTMP streaming media client 18</ul> 19 20<h3>SYNOPSIS</h3><ul> 21<b>rtmpdump</b> 22<b>−r</b><i> url</i> 23[<b>−n</b><i> hostname</i>] 24[<b>−c</b><i> port</i>] 25[<b>−l</b><i> protocol</i>] 26[<b>−S</b><i> host:port</i>] 27[<b>−a</b><i> app</i>] 28[<b>−t</b><i> tcUrl</i>] 29[<b>−p</b><i> pageUrl</i>] 30[<b>−s</b><i> swfUrl</i>] 31[<b>−f</b><i> flashVer</i>] 32[<b>−u</b><i> auth</i>] 33[<b>−C</b><i> conndata</i>] 34[<b>−y</b><i> playpath</i>] 35[<b>−Y</b>] 36[<b>−v</b>] 37[<b>−R</b>] 38[<b>−d</b><i> subscription</i>] 39[<b>−e</b>] 40[<b>−k</b><i> skip</i>] 41[<b>−A</b><i> start</i>] 42[<b>−B</b><i> stop</i>] 43[<b>−b</b><i> buffer</i>] 44[<b>−m</b><i> timeout</i>] 45[<b>−T</b><i> key</i>] 46[<b>−j</b><i> JSON</i>] 47[<b>−w</b><i> swfHash</i>] 48[<b>−x</b><i> swfSize</i>] 49[<b>−W</b><i> swfUrl</i>] 50[<b>−X</b><i> swfAge</i>] 51[<b>−o</b><i> output</i>] 52[<b>−#</b>] 53[<b>−q</b>] 54[<b>−V</b>] 55[<b>−z</b>] 56<br> 57<b>rtmpdump −h</b> 58</ul> 59 60<h3>DESCRIPTION</h3><ul> 61<b>rtmpdump</b> 62is a tool for dumping media content streamed over RTMP. 63<p> 64<b>rtmpdump</b> 65makes a connection to the specified RTMP server and plays the media 66specified by the given 67<i>url</i>. 68The url should be of the form 69<pre> 70 rtmp[t][e]://hostname[:port][/app[/playpath]] 71</pre> 72<p> 73Plain rtmp, as well as tunneled and encrypted sessions are supported. 74</ul> 75 76<h3>OPTIONS</h3><ul> 77</ul> 78 79<h4>Network Parameters</h4><ul> 80These options define how to connect to the media server. 81<p> 82<dl compact><dt> 83<b>−−rtmp −r</b> <i>url</i> 84<dd> 85URL of the server and media content. 86</dl> 87<p> 88<dl compact><dt> 89<b>−−host −n</b> <i>hostname</i> 90<dd> 91Overrides the hostname in the RTMP URL. 92</dl> 93<p> 94<dl compact><dt> 95<b>−−port −c</b> <i>port</i> 96<dd> 97Overrides the port number in the RTMP URL. 98</dl> 99<p> 100<dl compact><dt> 101<b>−−protocol −l</b> <i>number</i> 102<dd> 103Overrides the protocol in the RTMP URL. 104<pre> 105 0 = rtmp 106 1 = rtmpt 107 2 = rtmpe 108 3 = rtmpte 109 4 = rtmps 110 5 = rtmpts 111</pre> 112</dl> 113<p> 114<dl compact><dt> 115<b>−−socks −S</b> <i>host:port</i> 116<dd> 117Use the specified SOCKS4 proxy. 118</dl> 119</ul> 120 121<h4>Connection Parameters</h4><ul> 122These options define the content of the RTMP Connect request packet. 123If correct values are not provided, the media server will reject the 124connection attempt. 125<p> 126<dl compact><dt> 127<b>−−app −a</b> <i>app</i> 128<dd> 129Name of application to connect to on the RTMP server. Overrides 130the app in the RTMP URL. Sometimes the rtmpdump URL parser cannot 131determine the app name automatically, so it must be given explicitly 132using this option. 133</dl> 134<p> 135<dl compact><dt> 136<b>−−tcUrl −t</b> <i>url</i> 137<dd> 138URL of the target stream. Defaults to rtmp[e]://host[:port]/app/playpath. 139</dl> 140<p> 141<dl compact><dt> 142<b>−−pageUrl −p</b> <i>url</i> 143<dd> 144URL of the web page in which the media was embedded. By default no 145value will be sent. 146</dl> 147<p> 148<dl compact><dt> 149<b>−−swfUrl −s</b> <i>url</i> 150<dd> 151URL of the SWF player for the media. By default no value will be sent. 152</dl> 153<p> 154<dl compact><dt> 155<b>−−flashVer −f</b> <i>version</i> 156<dd> 157Version of the Flash plugin used to run the SWF player. The 158default is "LNX 10,0,32,18". 159</dl> 160<p> 161<dl compact><dt> 162<b>−−auth −u</b> <i>string</i> 163<dd> 164An authentication string to be appended to the Connect message. Using 165this option will append a Boolean TRUE and then the specified string. 166This option is only used by some particular servers and is 167deprecated. The more general 168<b>−−conn</b> 169option should be used instead. 170</dl> 171<p> 172<dl compact><dt> 173<b>−−conn −C</b> <i>type:data</i> 174<dd> 175Append arbitrary AMF data to the Connect message. The type 176must be B for Boolean, N for number, S for string, O for object, or Z 177for null. For Booleans the data must be either 0 or 1 for FALSE or TRUE, 178respectively. Likewise for Objects the data must be 0 or 1 to end or 179begin an object, respectively. Data items in subobjects may be named, by 180prefixing the type with 'N' and specifying the name before the value, e.g. 181NB:myFlag:1. This option may be used multiple times to construct arbitrary 182AMF sequences. E.g. 183<pre> 184 −C B:1 −C S:authMe −C O:1 −C NN:code:1.23 −C NS:flag:ok −C O:0 185</pre> 186</dl> 187</ul> 188 189<h4>Session Parameters</h4><ul> 190These options take effect after the Connect request has succeeded. 191<p> 192<dl compact><dt> 193<b>−−playpath −y</b> <i>path</i> 194<dd> 195Overrides the playpath parsed from the RTMP URL. Sometimes the 196rtmpdump URL parser cannot determine the correct playpath 197automatically, so it must be given explicitly using this option. 198</dl> 199<p> 200<dl compact><dt> 201<b>−−playlist −Y</b> 202<dd> 203Issue a set_playlist command before sending the play command. The 204playlist will just contain the current playpath. 205</dl> 206<p> 207<dl compact><dt> 208<b>−−live −v</b> 209<dd> 210Specify that the media is a live stream. No resuming or seeking in 211live streams is possible. 212</dl> 213<p> 214<dl compact><dt> 215<b>−−subscribe −d</b> <i>stream</i> 216<dd> 217Name of live stream to subscribe to. Defaults to 218<i>playpath</i>. 219</dl> 220<p> 221<dl compact><dt> 222<b>−−realtime −R</b> 223<dd> 224Download approximately in realtime, without attempting to speed up via 225Pause/Unpause commands ("the BUFX hack"). 226Useful for servers that jump backwards in time at the Unpause command. 227Resuming and seeking in realtime streams is still possible. 228</dl> 229<p> 230<dl compact><dt> 231<b>−−resume −e</b> 232<dd> 233Resume an incomplete RTMP download. 234</dl> 235<p> 236<dl compact><dt> 237<b>−−skip −k</b> <i>num</i> 238<dd> 239Skip 240<i>num</i> 241keyframes when looking for the last keyframe from which to resume. This 242may be useful if a regular attempt to resume fails. The default is 0. 243</dl> 244<p> 245<dl compact><dt> 246<b>−−start −A</b> <i>num</i> 247<dd> 248Start at 249<i>num</i> 250seconds into the stream. Not valid for live streams. 251</dl> 252<p> 253<dl compact><dt> 254<b>−−stop −B</b> <i>num</i> 255<dd> 256Stop at 257<i>num</i> 258seconds into the stream. 259</dl> 260<p> 261<dl compact><dt> 262<b>−−buffer −b</b> <i>num</i> 263<dd> 264Set buffer time to 265<i>num</i> 266milliseconds. The default is 36000000. 267</dl> 268<p> 269<dl compact><dt> 270<b>−−timeout −m</b> <i>num</i> 271<dd> 272Timeout the session after 273<i>num</i> 274seconds without receiving any data from the server. The default is 120. 275</dl> 276</ul> 277 278<h4>Security Parameters</h4><ul> 279These options handle additional authentication requests from the server. 280<p> 281<dl compact><dt> 282<b>−−token −T</b> <i>key</i> 283<dd> 284Key for SecureToken response, used if the server requires SecureToken 285authentication. 286</dl> 287<p> 288<dl compact><dt> 289<b>−−jtv −j</b> <i>JSON</i> 290<dd> 291JSON token used by legacy Justin.tv servers. Invokes NetStream.Authenticate.UsherToken 292</dl> 293<p> 294<dl compact><dt> 295<b>−−swfhash −w</b> <i>hexstring</i> 296<dd> 297SHA256 hash of the decompressed SWF file. This option may be needed if 298the server uses SWF Verification, but see the 299<b>−−swfVfy</b> 300option below. The hash is 32 bytes, and must be 301given in hexadecimal. The 302<b>−−swfsize</b> 303option must always be used with this option. 304</dl> 305<p> 306<dl compact><dt> 307<b>−−swfsize −x</b> <i>num</i> 308<dd> 309Size of the decompressed SWF file. This option may be needed if the 310server uses SWF Verification, but see the 311<b>−−swfVfy</b> 312option below. The 313<b>−−swfhash</b> 314option must always be used with this option. 315</dl> 316<p> 317<dl compact><dt> 318<b>−−swfVfy −W</b> <i>url</i> 319<dd> 320URL of the SWF player for this media. This option replaces all three 321of the 322<b>−−swfUrl</b>, 323<b>−−swfhash</b>, 324and 325<b>−−swfsize</b> 326options. When this option is used, the SWF player is retrieved from the 327specified URL and the hash and size are computed automatically. Also 328the information is cached in a 329<i>.swfinfo</i> 330file in the user's home directory, so that it doesn't need to be retrieved 331and recalculated every time rtmpdump is run. The .swfinfo file records 332the URL, the time it was fetched, the modification timestamp of the SWF 333file, its size, and its hash. By default, the cached info will be used 334for 30 days before re-checking. 335</dl> 336<p> 337<dl compact><dt> 338<b>−−swfAge −X</b> <i>days</i> 339<dd> 340Specify how many days to use the cached SWF info before re-checking. Use 3410 to always check the SWF URL. Note that if the check shows that the 342SWF file has the same modification timestamp as before, it will not be 343retrieved again. 344</dl> 345</ul> 346 347<h4>Miscellaneous</h4><ul> 348<p> 349<dl compact><dt> 350<b>−−flv −o</b> <i>output</i> 351<dd> 352Specify the output file name. If the name is − or is omitted, the 353stream is written to stdout. 354</dl> 355<p> 356<dl compact><dt> 357<b>−−hashes −#</b> 358<dd> 359Display streaming progress with a hash mark for each 1% of progress, instead 360of a byte counter. 361</dl> 362<p> 363<dl compact><dt> 364<b>−−quiet −q</b> 365<dd> 366Suppress all command output. 367</dl> 368<p> 369<dl compact><dt> 370<b>−−verbose −V</b> 371<dd> 372Verbose command output. 373</dl> 374<p> 375<dl compact><dt> 376<b>−−debug −z</b> 377<dd> 378Debug level output. Extremely verbose, including hex dumps of all packet data. 379</dl> 380<p> 381<dl compact><dt> 382<b>−−help −h</b> 383<dd> 384Print a summary of command options. 385</dl> 386</ul> 387 388<h3>EXIT STATUS</h3><ul> 389<p> 390<dl compact><dt> 391<b>0</b> 392<dd> 393Successful program execution. 394</dl> 395<p> 396<dl compact><dt> 397<b>1</b> 398<dd> 399Unrecoverable error. 400</dl> 401<p> 402<dl compact><dt> 403<b>2</b> 404<dd> 405Incomplete transfer, resuming may get further. 406</dl> 407</ul> 408 409<h3>ENVIRONMENT</h3><ul> 410<p> 411<dl compact><dt> 412<b>HOME</b> 413<dd> 414The value of 415$<b>HOME</b> 416is used as the location for the 417<i>.swfinfo</i> 418file. 419</dl> 420</ul> 421 422<h3>FILES</h3><ul> 423<p> 424<dl compact><dt> 425<i>$HOME/.swfinfo</i> 426<dd> 427Cache of SWF Verification information 428</dl> 429</ul> 430 431<h3>SEE ALSO</h3><ul> 432<a href="../man8/rtmpgw.8"><b>rtmpgw</b></a>(8) 433</ul> 434 435<h3>AUTHORS</h3><ul> 436Andrej Stepanchuk, Howard Chu, The Flvstreamer Team 437<br> 438<<a href="http://rtmpdump.mplayerhq.hu">http://rtmpdump.mplayerhq.hu</a>> 439</ul></tbody></table></html> 440