Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
LIBRTMP(3)		   Library Functions Manual		    LIBRTMP(3)

       librtmp - RTMPDump Real-Time Messaging Protocol API

       RTMPDump	RTMP (librtmp, -lrtmp)

       #include	<librtmp/rtmp.h>

       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  us-
       ing RTMP_Free().

       All data	is transferred using FLV format. The basic session requires an
       RTMP URL.  The RTMP URL format is of the	form

       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.

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

	      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.

	      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 ex-
	      plicitly using this option.

	      URL     of     the     target	 stream.      Defaults	    to

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

	      URL of the SWF player for	the media. By default no value will be

	      Version  of the Flash plugin used	to run the SWF player. The de-
	      fault is "LNX 10,0,32,18".

	      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.
		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.

	      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.

	      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.

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

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

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

	      Stop at num seconds into the stream.

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

	      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

	      Key  for	SecureToken  response, used if the server requires Se-
	      cureToken	authentication.

	      JSON token  used	by  legacy  servers.	 Invokes  Net-

	      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 re-
	      trieved 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.

	      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.

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

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

	      Cache of SWF Verification	information

       rtmpdump(1), rtmpgw(8)

       Andrej Stepanchuk, Howard Chu, The Flvstreamer Team

RTMPDump v2.4			  2011-07-20			    LIBRTMP(3)


Want to link to this manual page? Use this URL:

home | help