

You can list all available ones using the configure option “-list-indevs”. When you configure your FFmpeg build, all the supported input devices are enabled by default.

Input devices are configured elements in FFmpeg which enable accessing the data coming from a multimedia device attached to your system. Options may be set by specifying - option value in the FFmpeg tools, or by setting the value explicitly in the device AVFormatContext options or using the libavutil/opt.h API for programmatic use. In addition each input or output device may support so-called private options, which are specific for that component. Namely, an input device is considered like a demuxer, and an output device like a muxer, and the interface and generic device options are the same provided by libavformat (see the ffmpeg-formats manual). The libavdevice library provides the same interface as libavformat.

This document describes the input and output devices provided by the libavdevice library.
