r472 - in trunk/librtmp: librtmp.3 librtmp.3.html
Author: hyc Date: Wed May 5 10:00:51 2010 New Revision: 472 Log: Very rudimentary library overview, read rtmp.h for more details Added: trunk/librtmp/librtmp.3 trunk/librtmp/librtmp.3.html Added: trunk/librtmp/librtmp.3 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/librtmp/librtmp.3 Wed May 5 10:00:51 2010 (r472) @@ -0,0 +1,196 @@ +.TH LIBRTMP 3 "2010-05-04" "RTMPDump v2.2e" +.\" Copyright 2010 Howard Chu. +.\" Copying permitted according to the GNU General Public License V2. +.SH NAME +librtmp \- RTMPDump Real-Time Messaging Protocol API +.SH LIBRARY +RTMPDump RTMP (librtmp, -lrtmp) +.SH SYNOPSIS +.B #include <librtmp/rtmp.h> +.SH DESCRIPTION +The Real-Time Messaging Protocol (RTMP) is used for streaming +multimedia content across a TCP/IP network. This API provides most client +functions and a few server functions needed to support RTMP, RTMP tunneled +in HTTP (RTMPT), encrypted RTMP (RTMPE), RTMP over SSL/TLS (RTMPS) and +tunneled variants of these encrypted types (RTMPTE, RTMPTS). The basic +RTMP specification has been published by Adobe but this API was reverse- +engineered without use of the Adobe specification. As such, it may +deviate from any published specifications but it usually duplicates the +actual behavior of the original Adobe clients. + +The RTMPDump software package includes a basic client utility program +in +.BR rtmpdump (1), +some sample servers, and a library used to provide programmatic access +to the RTMP protocol. This man page gives an overview of the RTMP +library routines. These routines are found in the -lrtmp library. + +The basic interaction is as follows. A session handle is created using +.BR RTMP_Alloc () +and initialized using +.BR RTMP_Init (). +All session parameters are provided using +.BR RTMP_SetupURL (). +The network connection is established using +.BR RTMP_Connect (), +and then the RTMP session is established using +.BR RTMP_ConnectStream (). +The stream is read using +.BR RTMP_Read (). +A client can publish a stream using +.BR RTMP_Write (). +While a stream is playing it may be paused and unpaused using +.BR RTMP_Pause (). +The stream playback position can be moved using +.BR RTMP_Seek (). +When +.BR RTMP_Read () +returns 0 bytes, the stream is complete and may be closed using +.BR RTMP_Close (). +The session handle is freed using +.BR RTMP_Free (). + +All data is transferred using FLV format. The basic session requires +an RTMP URL. Additional options may be specified by appending +space-separated key=value pairs to the URL. The RTMP URL format +is of the form +.nf + rtmp[t][e|s]://hostname[:port][/app[/playpath]] +.fi + +Plain rtmp, as well as tunneled and encrypted sessions are supported. +.SH OPTIONS +.SS "Network Parameters" +These options define how to connect to the media server. +.TP +.BI socks= host:port +Use the specified SOCKS4 proxy. +.SS "Connection Parameters" +These options define the content of the RTMP Connect request packet. +If correct values are not provided, the media server will reject the +connection attempt. +.TP +.BI app= name +Name of application to connect to on the RTMP server. Overrides +the app in the RTMP URL. Sometimes the librtmp URL parser cannot +determine the app name automatically, so it must be given explicitly +using this option. +.TP +.BI tcUrl= url +URL of the target stream. Defaults to rtmp[t][e|s]://host[:port]/app. +.TP +.BI pageUrl= url +URL of the web page in which the media was embedded. By default no +value will be sent. +.TP +.BI swfUrl= url +URL of the SWF player for the media. By default no value will be sent. +.TP +.BI flashVer= version +Version of the Flash plugin used to run the SWF player. The +default is "LNX 10,0,32,18". +.TP +.BI conn= type:data +Append arbitrary AMF data to the Connect message. The type +must be B for Boolean, N for number, S for string, O for object, or Z +for null. For Booleans the data must be either 0 or 1 for FALSE or TRUE, +respectively. Likewise for Objects the data must be 0 or 1 to end or +begin an object, respectively. Data items in subobjects may be named, by +prefixing the type with 'N' and specifying the name before the value, e.g. +NB:myFlag:1. This option may be used multiple times to construct arbitrary +AMF sequences. E.g. +.nf + conn=B:1 conn=S:authMe conn=O:1 conn=NN:code:1.23 conn=NS:flag:ok conn=O:0 +.fi +.SS "Session Parameters" +These options take effect after the Connect request has succeeded. +.TP +.BI playpath= path +Overrides the playpath parsed from the RTMP URL. Sometimes the +rtmpdump URL parser cannot determine the correct playpath +automatically, so it must be given explicitly using this option. +.TP +.BI playlist= 0|1 +If the value is 1 or TRUE, issue a set_playlist command before sending the +play command. The playlist will just contain the current playpath. If the +value is 0 or FALSE, the set_playlist command will not be sent. The +default is FALSE. +.TP +.BI live= 0|1 +Specify that the media is a live stream. No resuming or seeking in +live streams is possible. +.TP +.BI subscribe= path +Name of live stream to subscribe to. Defaults to +.IR playpath . +.TP +.BI start= num +Start at +.I num +seconds into the stream. Not valid for live streams. +.TP +.BI stop= num +Stop at +.I num +seconds into the stream. +.TP +.BI buffer= num +Set buffer time to +.I num +milliseconds. The default is 30000. +.TP +.BI timeout= num +Timeout the session after +.I num +seconds without receiving any data from the server. The default is 120. +.SS "Security Parameters" +These options handle additional authentication requests from the server. +.TP +.BI token= key +Key for SecureToken response, used if the server requires SecureToken +authentication. +.TP +.BI swfVfy= 0|1 +If the value is 1 or TRUE, the SWF player is retrieved from the +specified +.I swfUrl +for performing SWF Verification. The SWF hash and size (used in the +verification step) are computed automatically. Also the SWF information is +cached in a +.I .swfinfo +file in the user's home directory, so that it doesn't need to be retrieved +and recalculated every time. The .swfinfo file records +the SWF URL, the time it was fetched, the modification timestamp of the SWF +file, its size, and its hash. By default, the cached info will be used +for 30 days before re-checking. +.TP +.BI swfAge= days +Specify how many days to use the cached SWF info before re-checking. Use +0 to always check the SWF URL. Note that if the check shows that the +SWF file has the same modification timestamp as before, it will not be +retrieved again. +.SH EXAMPLES +An example character string suitable for use with +.BR RTMP_SetupURL (): +.nf + "rtmp://flashserver:1935/ondemand/thefile swfUrl=http://flashserver/player.swf swfVfy=1" +.fi +.SH ENVIRONMENT +.TP +.B HOME +The value of +.RB $ HOME +is used as the location for the +.I .swfinfo +file. +.SH FILES +.TP +.I $HOME/.swfinfo +Cache of SWF Verification information +.SH "SEE ALSO" +.BR rtmpdump (1), +.BR rtmpgw (8) +.SH AUTHORS +Andrej Stepanchuk, Howard Chu, The Flvstreamer Team +.br +<http://rtmpdump.mplayerhq.hu> Added: trunk/librtmp/librtmp.3.html ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/librtmp/librtmp.3.html Wed May 5 10:00:51 2010 (r472) @@ -0,0 +1,295 @@ +<HTML> +<HEAD> +<title>LIBRTMP(3): </title></head> +<table> +<thead> +<tr><td>LIBRTMP(3)<td align="center"><td align="right">LIBRTMP(3) +</thead> +<tfoot> +<tr><td>RTMPDump v2.2e<td align="center">2010-05-04<td align="right">LIBRTMP(3) +</tfoot> +<tbody><tr><td colspan="3"><br><br><ul> +<!-- Copyright 2010 Howard Chu. + Copying permitted according to the GNU General Public License V2.--> +</ul> + +<h3>NAME</h3><ul> +librtmp − RTMPDump Real-Time Messaging Protocol API +</ul> + +<h3>LIBRARY</h3><ul> +RTMPDump RTMP (librtmp, -lrtmp) +</ul> + +<h3>SYNOPSIS</h3><ul> +<b>#include <librtmp/rtmp.h></b> +</ul> + +<h3>DESCRIPTION</h3><ul> +The Real-Time Messaging Protocol (RTMP) is used for streaming +multimedia content across a TCP/IP network. This API provides most client +functions and a few server functions needed to support RTMP, RTMP tunneled +in HTTP (RTMPT), encrypted RTMP (RTMPE), RTMP over SSL/TLS (RTMPS) and +tunneled variants of these encrypted types (RTMPTE, RTMPTS). The basic +RTMP specification has been published by Adobe but this API was reverse- +engineered without use of the Adobe specification. As such, it may +deviate from any published specifications but it usually duplicates the +actual behavior of the original Adobe clients. +<p> +The RTMPDump software package includes a basic client utility program +in +<a href="../man1/rtmpdump.1"><b>rtmpdump</b></a>(1), +some sample servers, and a library used to provide programmatic access +to the RTMP protocol. This man page gives an overview of the RTMP +library routines. These routines are found in the -lrtmp library. +<p> +The basic interaction is as follows. A session handle is created using +<b>RTMP_Alloc</b>() +and initialized using +<b>RTMP_Init</b>(). +All session parameters are provided using +<b>RTMP_SetupURL</b>(). +The network connection is established using +<b>RTMP_Connect</b>(), +and then the RTMP session is established using +<b>RTMP_ConnectStream</b>(). +The stream is read using +<b>RTMP_Read</b>(). +A client can publish a stream using +<b>RTMP_Write</b>(). +While a stream is playing it may be paused and unpaused using +<b>RTMP_Pause</b>(). +The stream playback position can be moved using +<b>RTMP_Seek</b>(). +When +<b>RTMP_Read</b>() +returns 0 bytes, the stream is complete and may be closed using +<b>RTMP_Close</b>(). +The session handle is freed using +<b>RTMP_Free</b>(). +<p> +All data is transferred using FLV format. The basic session requires +an RTMP URL. Additional options may be specified by appending +space-separated key=value pairs to the URL. The RTMP URL format +is of the form +<pre> + rtmp[t][e|s]://hostname[:port][/app[/playpath]] +</pre> +<p> +Plain rtmp, as well as tunneled and encrypted sessions are supported. +</ul> + +<h3>OPTIONS</h3><ul> +</ul> + +<h4>Network Parameters</h4><ul> +These options define how to connect to the media server. +<p> +<dl compact><dt> +<b>socks=</b><i>host:port</i> +<dd> +Use the specified SOCKS4 proxy. +</dl> +</ul> + +<h4>Connection Parameters</h4><ul> +These options define the content of the RTMP Connect request packet. +If correct values are not provided, the media server will reject the +connection attempt. +<p> +<dl compact><dt> +<b>app=</b><i>name</i> +<dd> +Name of application to connect to on the RTMP server. Overrides +the app in the RTMP URL. Sometimes the librtmp URL parser cannot +determine the app name automatically, so it must be given explicitly +using this option. +</dl> +<p> +<dl compact><dt> +<b>tcUrl=</b><i>url</i> +<dd> +URL of the target stream. Defaults to rtmp[t][e|s]://host[:port]/app. +</dl> +<p> +<dl compact><dt> +<b>pageUrl=</b><i>url</i> +<dd> +URL of the web page in which the media was embedded. By default no +value will be sent. +</dl> +<p> +<dl compact><dt> +<b>swfUrl=</b><i>url</i> +<dd> +URL of the SWF player for the media. By default no value will be sent. +</dl> +<p> +<dl compact><dt> +<b>flashVer=</b><i>version</i> +<dd> +Version of the Flash plugin used to run the SWF player. The +default is "LNX 10,0,32,18". +</dl> +<p> +<dl compact><dt> +<b>conn=</b><i>type:data</i> +<dd> +Append arbitrary AMF data to the Connect message. The type +must be B for Boolean, N for number, S for string, O for object, or Z +for null. For Booleans the data must be either 0 or 1 for FALSE or TRUE, +respectively. Likewise for Objects the data must be 0 or 1 to end or +begin an object, respectively. Data items in subobjects may be named, by +prefixing the type with 'N' and specifying the name before the value, e.g. +NB:myFlag:1. This option may be used multiple times to construct arbitrary +AMF sequences. E.g. +<pre> + conn=B:1 conn=S:authMe conn=O:1 conn=NN:code:1.23 conn=NS:flag:ok conn=O:0 +</pre> +</dl> +</ul> + +<h4>Session Parameters</h4><ul> +These options take effect after the Connect request has succeeded. +<p> +<dl compact><dt> +<b>playpath=</b><i>path</i> +<dd> +Overrides the playpath parsed from the RTMP URL. Sometimes the +rtmpdump URL parser cannot determine the correct playpath +automatically, so it must be given explicitly using this option. +</dl> +<p> +<dl compact><dt> +<b>playlist=</b><i>0|1</i> +<dd> +If the value is 1 or TRUE, issue a set_playlist command before sending the +play command. The playlist will just contain the current playpath. If the +value is 0 or FALSE, the set_playlist command will not be sent. The +default is FALSE. +</dl> +<p> +<dl compact><dt> +<b>live=</b><i>0|1</i> +<dd> +Specify that the media is a live stream. No resuming or seeking in +live streams is possible. +</dl> +<p> +<dl compact><dt> +<b>subscribe=</b><i>path</i> +<dd> +Name of live stream to subscribe to. Defaults to +<i>playpath</i>. +</dl> +<p> +<dl compact><dt> +<b>start=</b><i>num</i> +<dd> +Start at +<i>num</i> +seconds into the stream. Not valid for live streams. +</dl> +<p> +<dl compact><dt> +<b>stop=</b><i>num</i> +<dd> +Stop at +<i>num</i> +seconds into the stream. +</dl> +<p> +<dl compact><dt> +<b>buffer=</b><i>num</i> +<dd> +Set buffer time to +<i>num</i> +milliseconds. The default is 30000. +</dl> +<p> +<dl compact><dt> +<b>timeout=</b><i>num</i> +<dd> +Timeout the session after +<i>num</i> +seconds without receiving any data from the server. The default is 120. +</dl> +</ul> + +<h4>Security Parameters</h4><ul> +These options handle additional authentication requests from the server. +<p> +<dl compact><dt> +<b>token=</b><i>key</i> +<dd> +Key for SecureToken response, used if the server requires SecureToken +authentication. +</dl> +<p> +<dl compact><dt> +<b>swfVfy=</b><i>0|1</i> +<dd> +If the value is 1 or TRUE, the SWF player is retrieved from the +specified +<i>swfUrl</i> +for performing SWF Verification. The SWF hash and size (used in the +verification step) are computed automatically. Also the SWF information is +cached in a +<i>.swfinfo</i> +file in the user's home directory, so that it doesn't need to be retrieved +and recalculated every time. The .swfinfo file records +the SWF URL, the time it was fetched, the modification timestamp of the SWF +file, its size, and its hash. By default, the cached info will be used +for 30 days before re-checking. +</dl> +<p> +<dl compact><dt> +<b>swfAge=</b><i>days</i> +<dd> +Specify how many days to use the cached SWF info before re-checking. Use +0 to always check the SWF URL. Note that if the check shows that the +SWF file has the same modification timestamp as before, it will not be +retrieved again. +</dl> +</ul> + +<h3>EXAMPLES</h3><ul> +An example character string suitable for use with +<b>RTMP_SetupURL</b>(): +<pre> + "rtmp://flashserver:1935/ondemand/thefile swfUrl=<a href="http://flashserver/player.swf">http://flashserver/player.swf</a> swfVfy=1" +</pre> +</ul> + +<h3>ENVIRONMENT</h3><ul> +<p> +<dl compact><dt> +<b>HOME</b> +<dd> +The value of +$<b>HOME</b> +is used as the location for the +<i>.swfinfo</i> +file. +</dl> +</ul> + +<h3>FILES</h3><ul> +<p> +<dl compact><dt> +<i>$HOME/.swfinfo</i> +<dd> +Cache of SWF Verification information +</dl> +</ul> + +<h3>SEE ALSO</h3><ul> +<a href="../man1/rtmpdump.1"><b>rtmpdump</b></a>(1), +<a href="../man8/rtmpgw.8"><b>rtmpgw</b></a>(8) +</ul> + +<h3>AUTHORS</h3><ul> +Andrej Stepanchuk, Howard Chu, The Flvstreamer Team +<br> +<<a href="http://rtmpdump.mplayerhq.hu">http://rtmpdump.mplayerhq.hu</a>> +</ul></tbody></table></html>
participants (1)
-
hyc