The required syntax for a RTSP url is:
@example
-rtsp://@var{hostname}[:@var{port}]/@var{path}[?@var{options}]
+rtsp://@var{hostname}[:@var{port}]/@var{path}
@end example
-@var{options} is a @code{&}-separated list. The following options
+The following options (set on the @file{ffmpeg}/@file{ffplay} command
+line, or set in code via @code{AVOption}s or in @code{avformat_open_input}),
are supported:
+Flags for @code{rtsp_transport}:
+
@table @option
@item udp
Use TCP (interleaving within the RTSP control channel) as lower
transport protocol.
-@item multicast
+@item udp_multicast
Use UDP multicast as lower transport protocol.
@item http
Use HTTP tunneling as lower transport protocol, which is useful for
passing proxies.
-
-@item filter_src
-Accept packets only from negotiated peer address and port.
@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.
+Flags for @code{rtsp_flags}:
+
+@table @option
+@item filter_src
+Accept packets only from negotiated peer address and port.
+@end table
+
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
To watch a stream over UDP, with a max reordering delay of 0.5 seconds:
@example
-ffplay -max_delay 500000 rtsp://server/video.mp4?udp
+ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4
@end example
To watch a stream tunneled over HTTP:
@example
-ffplay rtsp://server/video.mp4?http
+ffplay -rtsp_transport http rtsp://server/video.mp4
@end example
To send a stream in realtime to a RTSP server, for others to watch:
@item localport=@var{port}
override the local UDP port to bind with
+@item localaddr=@var{addr}
+Choose the local IP address. This is useful e.g. if sending multicast
+and the host has multiple interfaces, where the user can choose
+which interface to send on by specifying the IP address of that interface.
+
@item pkt_size=@var{size}
set the size in bytes of UDP packets