diff options
Diffstat (limited to 'doc/protocols.texi')
-rw-r--r-- | doc/protocols.texi | 106 |
1 files changed, 68 insertions, 38 deletions
diff --git a/doc/protocols.texi b/doc/protocols.texi index 172184e..4575a67 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -1,10 +1,10 @@ @chapter Protocols @c man begin PROTOCOLS -Protocols are configured elements in Libav which allow to access +Protocols are configured elements in FFmpeg which allow to access resources which require the use of a particular protocol. -When you configure your Libav build, all the supported protocols are +When you configure your FFmpeg build, all the supported protocols are enabled by default. You can list all available ones using the configure option "--list-protocols". @@ -19,6 +19,36 @@ supported protocols. A description of the currently available protocols follows. +@section bluray + +Read BluRay playlist. + +The accepted options are: +@table @option + +@item angle +BluRay angle + +@item chapter +Start chapter (1...N) + +@item playlist +Playlist to read (BDMV/PLAYLIST/?????.mpls) + +@end table + +Examples: + +Read longest playlist from BluRay mounted to /mnt/bluray: +@example +bluray:/mnt/bluray +@end example + +Read angle 2 of playlist 4 from BluRay mounted to /mnt/bluray, start from chapter 2: +@example +-playlist 4 -angle 2 -chapter 2 bluray:/mnt/bluray +@end example + @section concat Physical concatenation protocol. @@ -36,10 +66,10 @@ resource to be concatenated, each one possibly specifying a distinct protocol. For example to read a sequence of files @file{split1.mpeg}, -@file{split2.mpeg}, @file{split3.mpeg} with @command{avplay} use the +@file{split2.mpeg}, @file{split3.mpeg} with @command{ffplay} use the command: @example -avplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg +ffplay concat:split1.mpeg\|split2.mpeg\|split3.mpeg @end example Note that you may need to escape the character "|" which is special for @@ -51,10 +81,10 @@ File access protocol. Allow to read from or read to a file. -For example to read from a file @file{input.mpeg} with @command{avconv} +For example to read from a file @file{input.mpeg} with @command{ffmpeg} use the command: @example -avconv -i file:input.mpeg output.mpeg +ffmpeg -i file:input.mpeg output.mpeg @end example The ff* tools default to the file protocol, that is a resource @@ -113,10 +143,10 @@ be used to test muxers without writing an actual file. Some examples follow. @example # Write the MD5 hash of the encoded AVI file to the file output.avi.md5. -avconv -i input.flv -f avi -y md5:output.avi.md5 +ffmpeg -i input.flv -f avi -y md5:output.avi.md5 # Write the MD5 hash of the encoded AVI file to stdout. -avconv -i input.flv -f avi -y md5: +ffmpeg -i input.flv -f avi -y md5: @end example Note that some formats (typically MOV) require the output protocol to @@ -138,18 +168,18 @@ pipe (e.g. 0 for stdin, 1 for stdout, 2 for stderr). If @var{number} is not specified, by default the stdout file descriptor will be used for writing, stdin for reading. -For example to read from stdin with @command{avconv}: +For example to read from stdin with @command{ffmpeg}: @example -cat test.wav | avconv -i pipe:0 +cat test.wav | ffmpeg -i pipe:0 # ...this is the same as... -cat test.wav | avconv -i pipe: +cat test.wav | ffmpeg -i pipe: @end example -For writing to stdout with @command{avconv}: +For writing to stdout with @command{ffmpeg}: @example -avconv -i test.wav -f avi pipe:1 | cat > test.avi +ffmpeg -i test.wav -f avi pipe:1 | cat > test.avi # ...this is the same as... -avconv -i test.wav -f avi pipe: | cat > test.avi +ffmpeg -i test.wav -f avi pipe: | cat > test.avi @end example Note that some formats (typically MOV), require the output protocol to @@ -187,10 +217,10 @@ application specified in @var{app}, may be prefixed by "mp4:". @end table -For example to read with @command{avplay} a multimedia resource named +For example to read with @command{ffplay} a multimedia resource named "sample" from the application "vod" from an RTMP server "myserver": @example -avplay rtmp://myserver/vod/sample +ffplay rtmp://myserver/vod/sample @end example @section rtmp, rtmpe, rtmps, rtmpt, rtmpte @@ -223,14 +253,14 @@ meaning as specified for the RTMP native protocol. See the librtmp manual page (man 3 librtmp) for more information. For example, to stream a file in real-time to an RTMP server using -@command{avconv}: +@command{ffmpeg}: @example -avconv -re -i myfile -f flv rtmp://myserver/live/mystream +ffmpeg -re -i myfile -f flv rtmp://myserver/live/mystream @end example -To play the same stream using @command{avplay}: +To play the same stream using @command{ffplay}: @example -avplay "rtmp://myserver/live/mystream live=1" +ffplay "rtmp://myserver/live/mystream live=1" @end example @section rtp @@ -253,7 +283,7 @@ The required syntax for a RTSP url is: rtsp://@var{hostname}[:@var{port}]/@var{path} @end example -The following options (set on the @command{avconv}/@command{avplay} command +The following options (set on the @command{ffmpeg}/@command{ffplay} command line, or set in code via @code{AVOption}s or in @code{avformat_open_input}), are supported: @@ -292,7 +322,7 @@ When receiving data over UDP, the demuxer tries to reorder received packets can be disabled by setting the maximum demuxing delay to zero (via the @code{max_delay} field of AVFormatContext). -When watching multi-bitrate Real-RTSP streams with @command{avplay}, the +When watching multi-bitrate Real-RTSP streams with @command{ffplay}, the streams to display can be chosen with @code{-vst} @var{n} and @code{-ast} @var{n} for video and audio respectively, and can be switched on the fly by pressing @code{v} and @code{a}. @@ -302,19 +332,19 @@ Example command lines: To watch a stream over UDP, with a max reordering delay of 0.5 seconds: @example -avplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4 +ffplay -max_delay 500000 -rtsp_transport udp rtsp://server/video.mp4 @end example To watch a stream tunneled over HTTP: @example -avplay -rtsp_transport http rtsp://server/video.mp4 +ffplay -rtsp_transport http rtsp://server/video.mp4 @end example To send a stream in realtime to a RTSP server, for others to watch: @example -avconv -re -i @var{input} -f rtsp -muxdelay 0.1 rtsp://server/live.sdp +ffmpeg -re -i @var{input} -f rtsp -muxdelay 0.1 rtsp://server/live.sdp @end example @section sap @@ -366,19 +396,19 @@ Example command lines follow. To broadcast a stream on the local subnet, for watching in VLC: @example -avconv -re -i @var{input} -f sap sap://224.0.0.255?same_port=1 +ffmpeg -re -i @var{input} -f sap sap://224.0.0.255?same_port=1 @end example -Similarly, for watching in avplay: +Similarly, for watching in @command{ffplay}: @example -avconv -re -i @var{input} -f sap sap://224.0.0.255 +ffmpeg -re -i @var{input} -f sap sap://224.0.0.255 @end example -And for watching in avplay, over IPv6: +And for watching in @command{ffplay}, over IPv6: @example -avconv -re -i @var{input} -f sap sap://[ff0e::1:2:3:4] +ffmpeg -re -i @var{input} -f sap sap://[ff0e::1:2:3:4] @end example @subsection Demuxer @@ -400,13 +430,13 @@ Example command lines follow. To play back the first stream announced on the normal SAP multicast address: @example -avplay sap:// +ffplay sap:// @end example To play back the first stream announced on one the default IPv6 SAP multicast address: @example -avplay sap://[ff0e::2:7ffe] +ffplay sap://[ff0e::2:7ffe] @end example @section tcp @@ -424,8 +454,8 @@ tcp://@var{hostname}:@var{port}[?@var{options}] Listen for an incoming connection @example -avconv -i @var{input} -f @var{format} tcp://@var{hostname}:@var{port}?listen -avplay tcp://@var{hostname}:@var{port} +ffmpeg -i @var{input} -f @var{format} tcp://@var{hostname}:@var{port}?listen +ffplay tcp://@var{hostname}:@var{port} @end example @end table @@ -476,21 +506,21 @@ For receiving, this gives the benefit of only receiving packets from the specified peer address/port. @end table -Some usage examples of the udp protocol with @command{avconv} follow. +Some usage examples of the udp protocol with @command{ffmpeg} follow. To stream over UDP to a remote endpoint: @example -avconv -i @var{input} -f @var{format} udp://@var{hostname}:@var{port} +ffmpeg -i @var{input} -f @var{format} udp://@var{hostname}:@var{port} @end example To stream in mpegts format over UDP using 188 sized UDP packets, using a large input buffer: @example -avconv -i @var{input} -f mpegts udp://@var{hostname}:@var{port}?pkt_size=188&buffer_size=65535 +ffmpeg -i @var{input} -f mpegts udp://@var{hostname}:@var{port}?pkt_size=188&buffer_size=65535 @end example To receive over UDP from a remote endpoint: @example -avconv -i udp://[@var{multicast-address}]:@var{port} +ffmpeg -i udp://[@var{multicast-address}]:@var{port} @end example @c man end PROTOCOLS |