| @chapter Demuxers |
| @c man begin DEMUXERS |
| |
| Demuxers are configured elements in FFmpeg which allow to read the |
| multimedia streams from a particular type of file. |
| |
| When you configure your FFmpeg build, all the supported demuxers |
| 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. |
| |
| @section image2 |
| |
| Image file demuxer. |
| |
| This demuxer reads from a list of image files specified by a pattern. |
| |
| The pattern may contain the string "%d" or "%0@var{N}d", which |
| specifies the position of the characters representing a sequential |
| 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 "%%". |
| |
| 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. |
| |
| 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 |
| |
| 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 |
| |
| @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. |
| The total bitrate of the variant that the stream belongs to is |
| available in a metadata key named "variant_bitrate". |
| |
| @c man end INPUT DEVICES |