1@chapter Demuxers
2@c man begin DEMUXERS
3
4Demuxers are configured elements in Libav which allow to read the
5multimedia streams from a particular type of file.
6
7When you configure your Libav build, all the supported demuxers
8are enabled by default. You can list all available ones using the
9configure option "--list-demuxers".
10
11You can disable all the demuxers using the configure option
12"--disable-demuxers", and selectively enable a single demuxer with
13the option "--enable-demuxer=@var{DEMUXER}", or disable it
14with the option "--disable-demuxer=@var{DEMUXER}".
15
16The option "-formats" of the av* tools will display the list of
17enabled demuxers.
18
19The description of some of the currently available demuxers follows.
20
21@section image2
22
23Image file demuxer.
24
25This demuxer reads from a list of image files specified by a pattern.
26
27The pattern may contain the string "%d" or "%0@var{N}d", which
28specifies the position of the characters representing a sequential
29number in each filename matched by the pattern. If the form
30"%d0@var{N}d" is used, the string representing the number in each
31filename is 0-padded and @var{N} is the total number of 0-padded
32digits representing the number. The literal character '%' can be
33specified in the pattern with the string "%%".
34
35If the pattern contains "%d" or "%0@var{N}d", the first filename of
36the file list specified by the pattern must contain a number
37inclusively contained between 0 and 4, all the following numbers must
38be sequential. This limitation may be hopefully fixed.
39
40The pattern may contain a suffix which is used to automatically
41determine the format of the images contained in the files.
42
43For example the pattern "img-%03d.bmp" will match a sequence of
44filenames of the form @file{img-001.bmp}, @file{img-002.bmp}, ...,
45@file{img-010.bmp}, etc.; the pattern "i%%m%%g-%d.jpg" will match a
46sequence of filenames of the form @file{i%m%g-1.jpg},
47@file{i%m%g-2.jpg}, ..., @file{i%m%g-10.jpg}, etc.
48
49The size, the pixel format, and the format of each image must be the
50same for all the files in the sequence.
51
52The following example shows how to use @command{avconv} for creating a
53video from the images in the file sequence @file{img-001.jpeg},
54@file{img-002.jpeg}, ..., assuming an input framerate of 10 frames per
55second:
56@example
57avconv -i 'img-%03d.jpeg' -r 10 out.mkv
58@end example
59
60Note that the pattern must not necessarily contain "%d" or
61"%0@var{N}d", for example to convert a single image file
62@file{img.jpeg} you can employ the command:
63@example
64avconv -i img.jpeg img.png
65@end example
66
67@section applehttp
68
69Apple HTTP Live Streaming demuxer.
70
71This demuxer presents all AVStreams from all variant streams.
72The id field is set to the bitrate variant index number. By setting
73the discard flags on AVStreams (by pressing 'a' or 'v' in avplay),
74the caller can decide which variant streams to actually receive.
75The total bitrate of the variant that the stream belongs to is
76available in a metadata key named "variant_bitrate".
77
78@c man end INPUT DEVICES
79