| @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 device 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 device 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. |
| |
| @section xv |
| |
| XV (XVideo) output device. |
| |
| This output device allows to show a video stream in a X Window System |
| window. |
| |
| @subsection Options |
| |
| @table @option |
| @item display_name |
| Specify the hardware display name, which determines the display and |
| communications domain to be used. |
| |
| The display name or DISPLAY environment variable can be a string in |
| the format @var{hostname}[:@var{number}[.@var{screen_number}]]. |
| |
| @var{hostname} specifies the name of the host machine on which the |
| display is physically attached. @var{number} specifies the number of |
| the display server on that host machine. @var{screen_number} specifies |
| the screen to be used on that server. |
| |
| If unspecified, it defaults to the value of the DISPLAY environment |
| variable. |
| |
| For example, @code{dual-headed:0.1} would specify screen 1 of display |
| 0 on the machine named ``dual-headed''. |
| |
| Check the X11 specification for more detailed information about the |
| display name format. |
| |
| @item window_size |
| Set the created 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 window_x |
| @item window_y |
| Set the X and Y window offsets for the created window. They are both |
| set to 0 by default. The values may be ignored by the window manager. |
| |
| @item window_title |
| Set the window title, if not specified default to the filename |
| specified for the output device. |
| @end table |
| |
| For more information about XVideo see @url{http://www.x.org/}. |
| |
| @subsection Examples |
| |
| @itemize |
| @item |
| Decode, display and encode video input with @command{ffmpeg} at the |
| same time: |
| @example |
| ffmpeg -i INPUT OUTPUT -f xv display |
| @end example |
| |
| @item |
| Decode and display the input video to multiple X11 windows: |
| @example |
| ffmpeg -i INPUT -f xv normal -vf negate -f xv negated |
| @end example |
| @end itemize |
| |
| @c man end OUTPUT DEVICES |