RTMPDump
RTMPDump is a free software project dedicated to develop a toolkit for RTMP streams. The package includes three programs, codice_1, codice_2 and codice_3. It has been reviewed as "an excellent utility for recording streams broadcasting TV and video on demand" and has been used in academic research on video streaming rate selection and a developmental media framework. The utility has been noted for its small size and its ability to decrypt both RTMPE (Encrypted RTMP) and RTMPS (Secure RTMP) Digital Rights Management technologies. Adobe Systems Inc. asserted that codice_1, in a 2009 Digital Millennium Copyright Act Cease and Desist  order issued against SourceForge, "can be used" to infringe copyrights, without claiming actual use. As of 2009, SourceForge had removed the project files, providing the message "The project specified has been flagged as deleted". From November 2009 onwards, the project has been hosted as a Git repository at MPlayer's website, MplayerHQ.hu. On-demand streams. In negotiating a connection, an RTMP client sends and receives a data stream containing multiple elements, as a single command line. An on-demand stream typically includes the following elements: For a Limelight server. The foregoing are typically the only elements (or "switches") that are  essential to a connection, if neither Tunnelling nor Encryption are in use by the server. Although other elements may be encountered in practice, they are normally non-essential. Hence the following elements are typically sent by the client software application, as a single command line - rtmpdump -r rtmp://xxxxxxxx.fcod.llnwd.net The parts comprising the codice_11 (or codice_12) element must be incorporated in it in the order shown above, as the sequence in which its parts are received by the RTMP server is critical. The authentication strings (codice_24 and codice_25) contain session information, so will change on each fresh connection made to the  server (which in practice typically means they will expire if a new session is begun, not literally on every attempt to resume a connection), but the other elements will not usually vary from session to session. For an Akamai server. The command line is typically as above, except that the codice_11 (or codice_12) element contains the following parts instead - Hence the following elements are typically sent by the client software application, as a single command line - program.exe -r rtmp://xxxxxxx.edgefcs.net The parts comprising the codice_11 (or codice_12) element must be incorporated in it in the order shown above, as the sequence  in which its parts are received by the RTMP server is critical. The authentication string (codice_32) contains session information, so will change on each fresh connection made to the server (typically, if a new session is begun, e.g. the computer is restarted, not literally on every attempt to resume a connection). The other parts will not usually vary from session to session. "Note" - The above describes the simplified form, whereby the stream is first saved to the user's hard disk, to be played back thereafter in a media player capable of playing an FLV encoded file (H.263 or H.264  encoding), such as GOM Player. If it's desired, instead, to play the stream directly from the RTMP server, thus giving immediate playback, additional elements will be needed in the command line including - codice_33: This specifies the version of the Flash plugin installed on the user's computer. For example, codice_34 would indicate the user has the Windows version of Flash Player 9, release 260. codice_35: The capital W command. This is the URL address of the SWF player used to play the stream, as indicated by the web page from which the stream is derived. For example, codice_36. Live  streams. The command line for an Akamai server is typically as for an Akamai on-demand stream. But the codice_11 (or codice_12) element contains the following parts "Note" - If the string contains two or more alternative streams (i.e. offers a choice of streams at alternative bitrates), the element (codice_42 or codice_18) specifies the one chosen by the user, as the identifier item. Hence the following sequence is typically sent by the client software application, as a single command line - rtmpdump.exe --live -r rtmp://xxxxxxx.live.edgefcs.net All these items are mandatory, and must be included in the order shown above. The string following  the codice_44 (question mark) in both the codice_11 and codice_42 elements will typically be identical. The identifier item will typically be a sub-set of the slist data (if the latter offers a choice), otherwise they too will be identical. The codice_21 element can specify an output filename chosen by the user. Specifying the complete is unnecessary, as that element is constructed in memory by the client application. Typically, in memory it takes the following form: codice_48