[SCM] libav/experimental: Add protocol documentation on RTSP

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:16:55 UTC 2013


The following commit has been merged in the experimental branch:
commit 92c5052db971a2a3dfb7c3fc4317b55f401d7811
Author: Martin Storsjö <martin at martin.st>
Date:   Mon Oct 4 07:06:58 2010 +0000

    Add protocol documentation on RTSP
    
    Originally committed as revision 25330 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/doc/protocols.texi b/doc/protocols.texi
index 4f7b42e..e6a71f8 100644
--- a/doc/protocols.texi
+++ b/doc/protocols.texi
@@ -217,6 +217,76 @@ ffplay "rtmp://myserver/live/mystream live=1"
 
 Real-Time Protocol.
 
+ at section rtsp
+
+RTSP is not technically a protocol handler in libavformat, it is a demuxer
+and muxer. The demuxer supports both normal RTSP (with data transferred
+over RTP; this is used by e.g. Apple and Microsoft) and Real-RTSP (with
+data transferred over RDT).
+
+The muxer can be used to send a stream using RTSP ANNOUNCE to a server
+supporting it (currently Darwin Streaming Server and Mischa Spiegelmock's
+RTSP server, @url{http://github.com/revmischa/rtsp-server}).
+
+The required syntax for a RTSP url is:
+ at example
+rtsp://@var{hostname}[:@var{port}]/@var{path}[?@var{options}]
+ at end example
+
+ at var{options} is a @code{&}-separated list. The following options
+are supported:
+
+ at table @option
+
+ at item udp
+Use UDP as lower transport protocol.
+
+ at item tcp
+Use TCP (interleaving within the RTSP control channel) as lower
+transport protocol.
+
+ at item multicast
+Use UDP multicast as lower transport protocol.
+
+ at item http
+Use HTTP tunneling as lower transport protocol, which is useful for
+passing proxies.
+ at end table
+
+Multiple lower transport protocols may be specified, in that case they are
+tried one at a time (if the setup of one fails, the next one is tried).
+For the muxer, only the @code{tcp} and @code{udp} options are supported.
+
+When receiving data over UDP, the demuxer tries to reorder received packets
+(since they may arrive out of order, or packets may get lost totally). In
+order for this to be enabled, a maximum delay must be specified in the
+ at code{max_delay} field of AVFormatContext.
+
+When watching multi-bitrate Real-RTSP streams with @file{ffplay}, the
+streams to display can be chosen with @code{-vst} @var{n} and
+ at code{-ast} @var{n} for video and audio respectively, and can be switched
+on the fly by pressing @code{v} and @code{a}.
+
+Example command lines:
+
+To watch a stream over UDP, with a max reordering delay of 0.5 seconds:
+
+ at example
+ffplay -max_delay 500000 rtsp://server/video.mp4?udp
+ at end example
+
+To watch a stream tunneled over HTTP:
+
+ at example
+ffplay rtsp://server/video.mp4?http
+ at end example
+
+To send a stream in realtime to a RTSP server, for others to watch:
+
+ at example
+ffmpeg -re -i @var{input} -f rtsp -muxdelay 0.1 rtsp://server/live.sdp
+ at end example
+
 @section tcp
 
 Trasmission Control Protocol.

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list