2011-01-09 10:22:21 +00:00
|
|
|
@chapter Demuxers
|
|
|
|
@c man begin DEMUXERS
|
|
|
|
|
2011-03-17 15:55:58 +00:00
|
|
|
Demuxers are configured elements in FFmpeg which allow to read the
|
2011-01-09 10:22:21 +00:00
|
|
|
multimedia streams from a particular type of file.
|
|
|
|
|
2011-03-17 15:55:58 +00:00
|
|
|
When you configure your FFmpeg build, all the supported demuxers
|
2011-01-09 10:22:21 +00:00
|
|
|
are enabled by default. You can list all available ones using the
|
|
|
|
configure option "--list-demuxers".
|
|
|
|
|
|
|
|
You can disable all the demuxers using the configure option
|
|
|
|
"--disable-demuxers", and selectively enable a single demuxer with
|
|
|
|
the option "--enable-demuxer=@var{DEMUXER}", or disable it
|
|
|
|
with the option "--disable-demuxer=@var{DEMUXER}".
|
|
|
|
|
|
|
|
The option "-formats" of the ff* tools will display the list of
|
|
|
|
enabled demuxers.
|
|
|
|
|
|
|
|
The description of some of the currently available demuxers follows.
|
|
|
|
|
2011-01-09 10:22:23 +00:00
|
|
|
@section image2
|
|
|
|
|
|
|
|
Image file demuxer.
|
|
|
|
|
|
|
|
This demuxer reads from a list of image files specified by a pattern.
|
|
|
|
|
2011-01-21 12:54:14 +00:00
|
|
|
The pattern may contain the string "%d" or "%0@var{N}d", which
|
|
|
|
specifies the position of the characters representing a sequential
|
2011-01-09 10:22:23 +00:00
|
|
|
number in each filename matched by the pattern. If the form
|
|
|
|
"%d0@var{N}d" is used, the string representing the number in each
|
|
|
|
filename is 0-padded and @var{N} is the total number of 0-padded
|
|
|
|
digits representing the number. The literal character '%' can be
|
|
|
|
specified in the pattern with the string "%%".
|
|
|
|
|
2011-01-21 12:54:14 +00:00
|
|
|
If the pattern contains "%d" or "%0@var{N}d", the first filename of
|
|
|
|
the file list specified by the pattern must contain a number
|
|
|
|
inclusively contained between 0 and 4, all the following numbers must
|
|
|
|
be sequential. This limitation may be hopefully fixed.
|
2011-01-09 10:22:23 +00:00
|
|
|
|
|
|
|
The pattern may contain a suffix which is used to automatically
|
|
|
|
determine the format of the images contained in the files.
|
|
|
|
|
|
|
|
For example the pattern "img-%03d.bmp" will match a sequence of
|
|
|
|
filenames of the form @file{img-001.bmp}, @file{img-002.bmp}, ...,
|
|
|
|
@file{img-010.bmp}, etc.; the pattern "i%%m%%g-%d.jpg" will match a
|
|
|
|
sequence of filenames of the form @file{i%m%g-1.jpg},
|
|
|
|
@file{i%m%g-2.jpg}, ..., @file{i%m%g-10.jpg}, etc.
|
|
|
|
|
|
|
|
The size, the pixel format, and the format of each image must be the
|
|
|
|
same for all the files in the sequence.
|
|
|
|
|
|
|
|
The following example shows how to use @file{ffmpeg} for creating a
|
|
|
|
video from the images in the file sequence @file{img-001.jpeg},
|
|
|
|
@file{img-002.jpeg}, ..., assuming an input framerate of 10 frames per
|
|
|
|
second:
|
|
|
|
@example
|
|
|
|
ffmpeg -r 10 -f image2 -i 'img-%03d.jpeg' out.avi
|
|
|
|
@end example
|
|
|
|
|
2011-01-21 12:54:14 +00:00
|
|
|
Note that the pattern must not necessarily contain "%d" or
|
|
|
|
"%0@var{N}d", for example to convert a single image file
|
|
|
|
@file{img.jpeg} you can employ the command:
|
|
|
|
@example
|
|
|
|
ffmpeg -f image2 -i img.jpeg img.png
|
|
|
|
@end example
|
|
|
|
|
2011-04-20 20:04:31 +00:00
|
|
|
@section applehttp
|
|
|
|
|
|
|
|
Apple HTTP Live Streaming demuxer.
|
|
|
|
|
|
|
|
This demuxer presents all AVStreams from all variant streams.
|
|
|
|
The id field is set to the bitrate variant index number. By setting
|
|
|
|
the discard flags on AVStreams (by pressing 'a' or 'v' in ffplay),
|
|
|
|
the caller can decide which variant streams to actually receive.
|
2011-04-20 07:10:10 +00:00
|
|
|
The total bitrate of the variant that the stream belongs to is
|
|
|
|
available in a metadata key named "variant_bitrate".
|
2011-04-20 20:04:31 +00:00
|
|
|
|
2011-01-09 10:22:21 +00:00
|
|
|
@c man end INPUT DEVICES
|