manpagez: man pages & more
man librtmp(3)
Home | html | info | man
librtmp(3)                                                          librtmp(3)




NAME

       librtmp - RTMPDump Real-Time Messaging Protocol API


LIBRARY

       RTMPDump RTMP (librtmp, -lrtmp)


SYNOPSIS

       #include <librtmp/rtmp.h>


DESCRIPTION

       The  Real-Time Messaging Protocol (RTMP) is used for streaming multime-
       dia content across a TCP/IP network.  This  API  provides  most  client
       functions  and a few server functions needed to support RTMP, RTMP tun-
       neled 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  usu-
       ally duplicates the actual behavior of the original Adobe clients.

       The  RTMPDump  software package includes a basic client utility program
       in rtmpdump(1), some sample servers, and a library used to provide pro-
       grammatic  access to the RTMP protocol. This man page gives an overview
       of the RTMP library routines. These routines are found  in  the  -lrtmp
       library. Many other routines are also available, but they are not docu-
       mented yet.

       The basic interaction is as follows. A session handle is created  using
       RTMP_Alloc() and initialized using RTMP_Init().  All session parameters
       are provided using RTMP_SetupURL().  The network connection  is  estab-
       lished  using  RTMP_Connect(), and then the RTMP session is established
       using RTMP_ConnectStream().  The stream is read using  RTMP_Read().   A
       client  can  publish  a stream by calling RTMP_EnableWrite() before the
       RTMP_Connect() call, and then using RTMP_Write() after the  session  is
       established.   While  a stream is playing it may be paused and unpaused
       using RTMP_Pause().  The stream playback position can  be  moved  using
       RTMP_Seek().   When RTMP_Read() returns 0 bytes, the stream is complete
       and may be closed using RTMP_Close().   The  session  handle  is  freed
       using RTMP_Free().

       All data is transferred using FLV format. The basic session requires an
       RTMP URL.  The RTMP URL format is of the form
         rtmp[t][e|s]://hostname[:port][/app[/playpath]]

       Plain rtmp, as well as tunneled and encrypted sessions are supported.

       Additional  options  may  be  specified  by  appending  space-separated
       key=value pairs to the URL. Special characters in values may need to be
       escaped to prevent misinterpretation by the option parser.  The  escape
       encoding uses a backslash followed by two hexadecimal digits represent-
       ing the ASCII value of the character. E.g., spaces must be  escaped  as
       \20 and backslashes must be escaped as \5c.


OPTIONS

   Network Parameters
       These options define how to connect to the media server.

       socks=host:port
              Use the specified SOCKS4 proxy.

   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.

       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.

       tcUrl=url
              URL     of     the     target      stream.      Defaults      to
              rtmp[t][e|s]://host[:port]/app.

       pageUrl=url
              URL  of the web page in which the media was embedded. By default
              no value will be sent.

       swfUrl=url
              URL of the SWF player for the media. By default no value will be
              sent.

       flashVer=version
              Version  of  the  Flash  plugin  used to run the SWF player. The
              default is "LNX 10,0,32,18".

       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 sub-
              objects  may be named, by prefixing the type with 'N' and speci-
              fying the name before the value, e.g.  NB:myFlag:1. This  option
              may be used multiple times to construct arbitrary AMF sequences.
              E.g.
                conn=B:1 conn=S:authMe conn=O:1 conn=NN:code:1.23 conn=NS:flag:ok conn=O:0

   Session Parameters
       These options take effect after the Connect request has succeeded.

       playpath=path
              Overrides the playpath parsed from the RTMP URL.  Sometimes  the
              rtmpdump  URL parser cannot determine the correct playpath auto-
              matically, so it must be given explicitly using this option.

       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.

       live=0|1
              Specify  that the media is a live stream. No resuming or seeking
              in live streams is possible.

       subscribe=path
              Name of live stream to subscribe to. Defaults to playpath.

       start=num
              Start at num  seconds  into  the  stream.  Not  valid  for  live
              streams.

       stop=num
              Stop at num seconds into the stream.

       buffer=num
              Set buffer time to num milliseconds. The default is 30000.

       timeout=num
              Timeout the session after num seconds without receiving any data
              from the server. The default is 120.

   Security Parameters
       These  options  handle  additional  authentication  requests  from  the
       server.

       token=key
              Key  for  SecureToken  response,  used  if  the  server requires
              SecureToken authentication.

       swfVfy=0|1
              If the value is 1 or TRUE, the SWF player is retrieved from  the
              specified  swfUrl for performing SWF Verification.  The SWF hash
              and size (used in the verification step) are computed  automati-
              cally.  Also the SWF information is cached in a .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.

       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  time-
              stamp as before, it will not be retrieved again.


EXAMPLES

       An example character string suitable for use with RTMP_SetupURL():
         "rtmp://flashserver:1935/ondemand/thefile swfUrl=http://flashserver/player.swf swfVfy=1"


ENVIRONMENT

       HOME   The  value  of  $HOME  is  used as the location for the .swfinfo
              file.


FILES

       $HOME/.swfinfo
              Cache of SWF Verification information


SEE ALSO

       rtmpdump(1), rtmpgw(8)


AUTHORS

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



RTMPDump v2.3                     2010-07-03                        librtmp(3)

rtmpdump 2.4 - Generated Tue Oct 18 15:57:19 CDT 2016
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.