|
|
|
@chapter Output Devices
|
|
|
|
@c man begin OUTPUT DEVICES
|
|
|
|
|
|
|
|
Output devices are configured elements in FFmpeg which allow to write
|
|
|
|
multimedia data to an output device attached to your system.
|
|
|
|
|
|
|
|
When you configure your FFmpeg build, all the supported output devices
|
|
|
|
are enabled by default. You can list all available ones using the
|
|
|
|
configure option "--list-outdevs".
|
|
|
|
|
|
|
|
You can disable all the output devices using the configure option
|
|
|
|
"--disable-outdevs", and selectively enable an output device using the
|
|
|
|
option "--enable-outdev=@var{OUTDEV}", or you can disable a particular
|
|
|
|
input device using the option "--disable-outdev=@var{OUTDEV}".
|
|
|
|
|
|
|
|
The option "-formats" of the ff* tools will display the list of
|
|
|
|
enabled output devices (amongst the muxers).
|
|
|
|
|
|
|
|
A description of the currently available output devices follows.
|
|
|
|
|
|
|
|
@section alsa
|
|
|
|
|
|
|
|
ALSA (Advanced Linux Sound Architecture) output device.
|
|
|
|
|
|
|
|
@section caca
|
|
|
|
|
|
|
|
CACA output device.
|
|
|
|
|
|
|
|
This output devices allows to show a video stream in CACA window.
|
|
|
|
Only one CACA window is allowed per application, so you can
|
|
|
|
have only one instance of this output device in an application.
|
|
|
|
|
|
|
|
To enable this output device you need to configure FFmpeg with
|
|
|
|
@code{--enable-libcaca}.
|
|
|
|
libcaca is a graphics library that outputs text instead of pixels.
|
|
|
|
|
|
|
|
For more information about libcaca, check:
|
|
|
|
@url{http://caca.zoy.org/wiki/libcaca}
|
|
|
|
|
|
|
|
@subsection Options
|
|
|
|
|
|
|
|
@table @option
|
|
|
|
|
|
|
|
@item window_title
|
|
|
|
Set the CACA window title, if not specified default to the filename
|
|
|
|
specified for the output device.
|
|
|
|
|
|
|
|
@item window_size
|
|
|
|
Set the CACA window size, can be a string of the form
|
|
|
|
@var{width}x@var{height} or a video size abbreviation.
|
|
|
|
If not specified it defaults to the size of the input video.
|
|
|
|
|
|
|
|
@item driver
|
|
|
|
Set display driver.
|
|
|
|
|
|
|
|
@item algorithm
|
|
|
|
Set dithering algorithm. Dithering is necessary
|
|
|
|
because the picture being rendered has usually far more colours than
|
|
|
|
the available palette.
|
|
|
|
The accepted values are listed with @code{-list_dither algorithms}.
|
|
|
|
|
|
|
|
@item antialias
|
|
|
|
Set antialias method. Antialiasing smoothens the rendered
|
|
|
|
image and avoids the commonly seen staircase effect.
|
|
|
|
The accepted values are listed with @code{-list_dither antialiases}.
|
|
|
|
|
|
|
|
@item charset
|
|
|
|
Set which characters are going to be used when rendering text.
|
|
|
|
The accepted values are listed with @code{-list_dither charsets}.
|
|
|
|
|
|
|
|
@item color
|
|
|
|
Set color to be used when rendering text.
|
|
|
|
The accepted values are listed with @code{-list_dither colors}.
|
|
|
|
|
|
|
|
@item list_drivers
|
|
|
|
If set to @option{true}, print a list of available drivers and exit.
|
|
|
|
|
|
|
|
@item list_dither
|
|
|
|
List available dither options related to the argument.
|
|
|
|
The argument must be one of @code{algorithms}, @code{antialiases},
|
|
|
|
@code{charsets}, @code{colors}.
|
|
|
|
@end table
|
|
|
|
|
|
|
|
@subsection Examples
|
|
|
|
|
|
|
|
@itemize
|
|
|
|
@item
|
|
|
|
The following command shows the @command{ffmpeg} output is an
|
|
|
|
CACA window, forcing its size to 80x25:
|
|
|
|
@example
|
|
|
|
ffmpeg -i INPUT -vcodec rawvideo -pix_fmt rgb24 -window_size 80x25 -f caca -
|
|
|
|
@end example
|
|
|
|
|
|
|
|
@item
|
|
|
|
Show the list of available drivers and exit:
|
|
|
|
@example
|
|
|
|
ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_drivers true -
|
|
|
|
@end example
|
|
|
|
|
|
|
|
@item
|
|
|
|
Show the list of available dither colors and exit:
|
|
|
|
@example
|
|
|
|
ffmpeg -i INPUT -pix_fmt rgb24 -f caca -list_dither colors -
|
|
|
|
@end example
|
|
|
|
@end itemize
|
|
|
|
|
|
|
|
@section oss
|
|
|
|
|
|
|
|
OSS (Open Sound System) output device.
|
|
|
|
|
|
|
|
@section sdl
|
|
|
|
|
|
|
|
SDL (Simple DirectMedia Layer) output device.
|
|
|
|
|
|
|
|
This output devices allows to show a video stream in an SDL
|
|
|
|
window. Only one SDL window is allowed per application, so you can
|
|
|
|
have only one instance of this output device in an application.
|
|
|
|
|
|
|
|
To enable this output device you need libsdl installed on your system
|
|
|
|
when configuring your build.
|
|
|
|
|
|
|
|
For more information about SDL, check:
|
|
|
|
@url{http://www.libsdl.org/}
|
|
|
|
|
|
|
|
@subsection Options
|
|
|
|
|
|
|
|
@table @option
|
|
|
|
|
|
|
|
@item window_title
|
|
|
|
Set the SDL window title, if not specified default to the filename
|
|
|
|
specified for the output device.
|
|
|
|
|
|
|
|
@item icon_title
|
|
|
|
Set the name of the iconified SDL window, if not specified it is set
|
|
|
|
to the same value of @var{window_title}.
|
|
|
|
|
|
|
|
@item window_size
|
|
|
|
Set the SDL window size, can be a string of the form
|
|
|
|
@var{width}x@var{height} or a video size abbreviation.
|
|
|
|
If not specified it defaults to the size of the input video,
|
|
|
|
downscaled according to the aspect ratio.
|
|
|
|
@end table
|
|
|
|
|
|
|
|
@subsection Examples
|
|
|
|
|
|
|
|
The following command shows the @command{ffmpeg} output is an
|
|
|
|
SDL window, forcing its size to the qcif format:
|
|
|
|
@example
|
|
|
|
ffmpeg -i INPUT -vcodec rawvideo -pix_fmt yuv420p -window_size qcif -f sdl "SDL output"
|
|
|
|
@end example
|
|
|
|
|
|
|
|
@section sndio
|
|
|
|
|
|
|
|
sndio audio output device.
|
|
|
|
|
|
|
|
@c man end OUTPUT DEVICES
|