"Fossies" - the Fresh Open Source Software Archive

Member "ffmpeg-4.0.1/doc/outdevs.texi" (20 Apr 2018, 14392 Bytes) of package /linux/misc/ffmpeg-4.0.1.tar.xz:


Caution: As a special service "Fossies" has tried to format the requested Texinfo source page into HTML format but that may be not always succeeeded perfectly. Alternatively you can here view or download the uninterpreted Texinfo source code. A member file download can also be achieved by clicking within a package contents listing on the according byte size field. See also the last Fossies "Diffs" side-by-side code changes report for "outdevs.texi": 3.3.4_vs_3.4.

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1 Output Devices

Output devices are configured elements in FFmpeg that can 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=OUTDEV", or you can disable a particular input device using the option "–disable-outdev=OUTDEV".

The option "-devices" of the ff* tools will display the list of enabled output devices.

A description of the currently available output devices follows.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.1 alsa

ALSA (Advanced Linux Sound Architecture) output device.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.1.1 Examples


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.2 caca

CACA output device.

This output device allows one 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 --enable-libcaca. libcaca is a graphics library that outputs text instead of pixels.

For more information about libcaca, check: http://caca.zoy.org/wiki/libcaca


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.2.1 Options

window_title

Set the CACA window title, if not specified default to the filename specified for the output device.

window_size

Set the CACA window size, can be a string of the form widthxheight or a video size abbreviation. If not specified it defaults to the size of the input video.

driver

Set display driver.

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 -list_dither algorithms.

antialias

Set antialias method. Antialiasing smoothens the rendered image and avoids the commonly seen staircase effect. The accepted values are listed with -list_dither antialiases.

charset

Set which characters are going to be used when rendering text. The accepted values are listed with -list_dither charsets.

color

Set color to be used when rendering text. The accepted values are listed with -list_dither colors.

list_drivers

If set to ‘true’, print a list of available drivers and exit.

list_dither

List available dither options related to the argument. The argument must be one of algorithms, antialiases, charsets, colors.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.2.2 Examples


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.3 decklink

The decklink output device provides playback capabilities for Blackmagic DeckLink devices.

To enable this output device, you need the Blackmagic DeckLink SDK and you need to configure with the appropriate --extra-cflags and --extra-ldflags. On Windows, you need to run the IDL files through widl.

DeckLink is very picky about the formats it supports. Pixel format is always uyvy422, framerate, field order and video size must be determined for your device with -list_formats 1. Audio sample rate is always 48 kHz.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.3.1 Options

list_devices

If set to ‘true’, print a list of devices and exit. Defaults to ‘false’.

list_formats

If set to ‘true’, print a list of supported formats and exit. Defaults to ‘false’.

preroll

Amount of time to preroll video in seconds. Defaults to ‘0.5’.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.3.2 Examples


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4 libndi_newtek

The libndi_newtek output device provides playback capabilities for using NDI (Network Device Interface, standard created by NewTek).

Output filename is a NDI name.

To enable this output device, you need the NDI SDK and you need to configure with the appropriate --extra-cflags and --extra-ldflags.

NDI uses uyvy422 pixel format natively, but also supports bgra, bgr0, rgba and rgb0.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4.1 Options

reference_level

The audio reference level in dB. This specifies how many dB above the reference level (+4dBU) is the full range of 16 bit audio. Defaults to ‘0’.

clock_video

These specify whether video "clock" themselves. Defaults to ‘false’.

clock_audio

These specify whether audio "clock" themselves. Defaults to ‘false’.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4.2 Examples


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.5 fbdev

Linux framebuffer output device.

The Linux framebuffer is a graphic hardware-independent abstraction layer to show graphics on a computer monitor, typically on the console. It is accessed through a file device node, usually ‘/dev/fb0’.

For more detailed information read the file ‘Documentation/fb/framebuffer.txt’ included in the Linux source tree.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.5.1 Options

xoffset
yoffset

Set x/y coordinate of top left corner. Default is 0.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.5.2 Examples

Play a file on framebuffer device ‘/dev/fb0’. Required pixel format depends on current framebuffer settings.

ffmpeg -re -i INPUT -c:v rawvideo -pix_fmt bgra -f fbdev /dev/fb0

See also http://linux-fbdev.sourceforge.net/, and fbset(1).


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.6 opengl

OpenGL output device.

To enable this output device you need to configure FFmpeg with --enable-opengl.

This output device allows one to render to OpenGL context. Context may be provided by application or default SDL window is created.

When device renders to external context, application must implement handlers for following messages: AV_DEV_TO_APP_CREATE_WINDOW_BUFFER - create OpenGL context on current thread. AV_DEV_TO_APP_PREPARE_WINDOW_BUFFER - make OpenGL context current. AV_DEV_TO_APP_DISPLAY_WINDOW_BUFFER - swap buffers. AV_DEV_TO_APP_DESTROY_WINDOW_BUFFER - destroy OpenGL context. Application is also required to inform a device about current resolution by sending AV_APP_TO_DEV_WINDOW_SIZE message.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.6.1 Options

background

Set background color. Black is a default.

no_window

Disables default SDL window when set to non-zero value. Application must provide OpenGL context and both window_size_cb and window_swap_buffers_cb callbacks when set.

window_title

Set the SDL window title, if not specified default to the filename specified for the output device. Ignored when ‘no_window’ is set.

window_size

Set preferred window size, can be a string of the form widthxheight or a video size abbreviation. If not specified it defaults to the size of the input video, downscaled according to the aspect ratio. Mostly usable when ‘no_window’ is not set.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.6.2 Examples

Play a file on SDL window using OpenGL rendering:

ffmpeg  -i INPUT -f opengl "window title"

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.7 oss

OSS (Open Sound System) output device.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.8 pulse

PulseAudio output device.

To enable this output device you need to configure FFmpeg with --enable-libpulse.

More information about PulseAudio can be found on http://www.pulseaudio.org


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.8.1 Options

server

Connect to a specific PulseAudio server, specified by an IP address. Default server is used when not provided.

name

Specify the application name PulseAudio will use when showing active clients, by default it is the LIBAVFORMAT_IDENT string.

stream_name

Specify the stream name PulseAudio will use when showing active streams, by default it is set to the specified output name.

device

Specify the device to use. Default device is used when not provided. List of output devices can be obtained with command pactl list sinks.

buffer_size
buffer_duration

Control the size and duration of the PulseAudio buffer. A small buffer gives more control, but requires more frequent updates.

buffer_size’ specifies size in bytes while ‘buffer_duration’ specifies duration in milliseconds.

When both options are provided then the highest value is used (duration is recalculated to bytes using stream parameters). If they are set to 0 (which is default), the device will use the default PulseAudio duration value. By default PulseAudio set buffer duration to around 2 seconds.

prebuf

Specify pre-buffering size in bytes. The server does not start with playback before at least ‘prebuf’ bytes are available in the buffer. By default this option is initialized to the same value as ‘buffer_size’ or ‘buffer_duration’ (whichever is bigger).

minreq

Specify minimum request size in bytes. The server does not request less than ‘minreq’ bytes from the client, instead waits until the buffer is free enough to request more bytes at once. It is recommended to not set this option, which will initialize this to a value that is deemed sensible by the server.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.8.2 Examples

Play a file on default device on default server:

ffmpeg  -i INPUT -f pulse "stream name"

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.9 sdl

SDL (Simple DirectMedia Layer) output device.

This output device allows one 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: http://www.libsdl.org/


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.9.1 Options

window_title

Set the SDL window title, if not specified default to the filename specified for the output device.

icon_title

Set the name of the iconified SDL window, if not specified it is set to the same value of window_title.

window_size

Set the SDL window size, can be a string of the form widthxheight or a video size abbreviation. If not specified it defaults to the size of the input video, downscaled according to the aspect ratio.

window_fullscreen

Set fullscreen mode when non-zero value is provided. Default value is zero.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.9.2 Interactive commands

The window created by the device can be controlled through the following interactive commands.

<q, ESC>

Quit the device immediately.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.9.3 Examples

The following command shows the ffmpeg output is an SDL window, forcing its size to the qcif format:

ffmpeg -i INPUT -c:v rawvideo -pix_fmt yuv420p -window_size qcif -f sdl "SDL output"

[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.10 sndio

sndio audio output device.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.11 xv

XV (XVideo) output device.

This output device allows one to show a video stream in a X Window System window.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.11.1 Options

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 hostname[:number[.screen_number]].

hostname specifies the name of the host machine on which the display is physically attached. number specifies the number of the display server on that host machine. 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, 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.

window_id

When set to non-zero value then device doesn’t create new window, but uses existing one with provided window_id. By default this options is set to zero and device creates its own window.

window_size

Set the created window size, can be a string of the form widthxheight or a video size abbreviation. If not specified it defaults to the size of the input video. Ignored when window_id is set.

window_x
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. Ignored when window_id is set.

window_title

Set the window title, if not specified default to the filename specified for the output device. Ignored when window_id is set.

For more information about XVideo see http://www.x.org/.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.11.2 Examples


[Top] [Contents] [Index] [ ? ]

About This Document

This document was generated on June 16, 2018 using texi2html.

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ << ] FastBack Beginning of this chapter or previous chapter 1
[ < ] Back Previous section in reading order 1.2.2
[ Up ] Up Up section 1.2
[ > ] Forward Next section in reading order 1.2.4
[ >> ] FastForward Next chapter 2
[Top] Top Cover (top) of document  
[Contents] Contents Table of contents  
[Index] Index Index  
[ ? ] About About (help)  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:


This document was generated on June 16, 2018 using texi2html.