mirror of https://github.com/FFmpeg/FFmpeg.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
346 lines
9.4 KiB
346 lines
9.4 KiB
\input texinfo @c -*- texinfo -*- |
|
@documentencoding UTF-8 |
|
|
|
@settitle ffplay Documentation |
|
@titlepage |
|
@center @titlefont{ffplay Documentation} |
|
@end titlepage |
|
|
|
@top |
|
|
|
@contents |
|
|
|
@chapter Synopsis |
|
|
|
ffplay [@var{options}] [@file{input_url}] |
|
|
|
@chapter Description |
|
@c man begin DESCRIPTION |
|
|
|
FFplay is a very simple and portable media player using the FFmpeg |
|
libraries and the SDL library. It is mostly used as a testbed for the |
|
various FFmpeg APIs. |
|
@c man end |
|
|
|
@chapter Options |
|
@c man begin OPTIONS |
|
|
|
@include fftools-common-opts.texi |
|
|
|
@section Main options |
|
|
|
@table @option |
|
@item -x @var{width} |
|
Force displayed width. |
|
@item -y @var{height} |
|
Force displayed height. |
|
@item -fs |
|
Start in fullscreen mode. |
|
@item -an |
|
Disable audio. |
|
@item -vn |
|
Disable video. |
|
@item -sn |
|
Disable subtitles. |
|
@item -ss @var{pos} |
|
Seek to @var{pos}. Note that in most formats it is not possible to seek |
|
exactly, so @command{ffplay} will seek to the nearest seek point to |
|
@var{pos}. |
|
|
|
@var{pos} must be a time duration specification, |
|
see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}. |
|
@item -t @var{duration} |
|
Play @var{duration} seconds of audio/video. |
|
|
|
@var{duration} must be a time duration specification, |
|
see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}. |
|
@item -bytes |
|
Seek by bytes. |
|
@item -seek_interval |
|
Set custom interval, in seconds, for seeking using left/right keys. Default is 10 seconds. |
|
@item -nodisp |
|
Disable graphical display. |
|
@item -noborder |
|
Borderless window. |
|
@item -alwaysontop |
|
Window always on top. Available on: X11 with SDL >= 2.0.5, Windows SDL >= 2.0.6. |
|
@item -volume |
|
Set the startup volume. 0 means silence, 100 means no volume reduction or |
|
amplification. Negative values are treated as 0, values above 100 are treated |
|
as 100. |
|
@item -f @var{fmt} |
|
Force format. |
|
@item -window_title @var{title} |
|
Set window title (default is the input filename). |
|
@item -left @var{title} |
|
Set the x position for the left of the window (default is a centered window). |
|
@item -top @var{title} |
|
Set the y position for the top of the window (default is a centered window). |
|
@item -loop @var{number} |
|
Loops movie playback <number> times. 0 means forever. |
|
@item -showmode @var{mode} |
|
Set the show mode to use. |
|
Available values for @var{mode} are: |
|
@table @samp |
|
@item 0, video |
|
show video |
|
@item 1, waves |
|
show audio waves |
|
@item 2, rdft |
|
show audio frequency band using RDFT ((Inverse) Real Discrete Fourier Transform) |
|
@end table |
|
|
|
Default value is "video", if video is not present or cannot be played |
|
"rdft" is automatically selected. |
|
|
|
You can interactively cycle through the available show modes by |
|
pressing the key @key{w}. |
|
|
|
@item -vf @var{filtergraph} |
|
Create the filtergraph specified by @var{filtergraph} and use it to |
|
filter the video stream. |
|
|
|
@var{filtergraph} is a description of the filtergraph to apply to |
|
the stream, and must have a single video input and a single video |
|
output. In the filtergraph, the input is associated to the label |
|
@code{in}, and the output to the label @code{out}. See the |
|
ffmpeg-filters manual for more information about the filtergraph |
|
syntax. |
|
|
|
You can specify this parameter multiple times and cycle through the specified |
|
filtergraphs along with the show modes by pressing the key @key{w}. |
|
|
|
@item -af @var{filtergraph} |
|
@var{filtergraph} is a description of the filtergraph to apply to |
|
the input audio. |
|
Use the option "-filters" to show all the available filters (including |
|
sources and sinks). |
|
|
|
@item -i @var{input_url} |
|
Read @var{input_url}. |
|
@end table |
|
|
|
@section Advanced options |
|
@table @option |
|
@item -stats |
|
Print several playback statistics, in particular show the stream |
|
duration, the codec parameters, the current position in the stream and |
|
the audio/video synchronisation drift. It is shown by default, unless the |
|
log level is lower than @code{info}. Its display can be forced by manually |
|
specifying this option. To disable it, you need to specify @code{-nostats}. |
|
|
|
@item -fast |
|
Non-spec-compliant optimizations. |
|
@item -genpts |
|
Generate pts. |
|
@item -sync @var{type} |
|
Set the master clock to audio (@code{type=audio}), video |
|
(@code{type=video}) or external (@code{type=ext}). Default is audio. The |
|
master clock is used to control audio-video synchronization. Most media |
|
players use audio as master clock, but in some cases (streaming or high |
|
quality broadcast) it is necessary to change that. This option is mainly |
|
used for debugging purposes. |
|
@item -ast @var{audio_stream_specifier} |
|
Select the desired audio stream using the given stream specifier. The stream |
|
specifiers are described in the @ref{Stream specifiers} chapter. If this option |
|
is not specified, the "best" audio stream is selected in the program of the |
|
already selected video stream. |
|
@item -vst @var{video_stream_specifier} |
|
Select the desired video stream using the given stream specifier. The stream |
|
specifiers are described in the @ref{Stream specifiers} chapter. If this option |
|
is not specified, the "best" video stream is selected. |
|
@item -sst @var{subtitle_stream_specifier} |
|
Select the desired subtitle stream using the given stream specifier. The stream |
|
specifiers are described in the @ref{Stream specifiers} chapter. If this option |
|
is not specified, the "best" subtitle stream is selected in the program of the |
|
already selected video or audio stream. |
|
@item -autoexit |
|
Exit when video is done playing. |
|
@item -exitonkeydown |
|
Exit if any key is pressed. |
|
@item -exitonmousedown |
|
Exit if any mouse button is pressed. |
|
|
|
@item -codec:@var{media_specifier} @var{codec_name} |
|
Force a specific decoder implementation for the stream identified by |
|
@var{media_specifier}, which can assume the values @code{a} (audio), |
|
@code{v} (video), and @code{s} subtitle. |
|
|
|
@item -acodec @var{codec_name} |
|
Force a specific audio decoder. |
|
|
|
@item -vcodec @var{codec_name} |
|
Force a specific video decoder. |
|
|
|
@item -scodec @var{codec_name} |
|
Force a specific subtitle decoder. |
|
|
|
@item -autorotate |
|
Automatically rotate the video according to file metadata. Enabled by |
|
default, use @option{-noautorotate} to disable it. |
|
|
|
@item -framedrop |
|
Drop video frames if video is out of sync. Enabled by default if the master |
|
clock is not set to video. Use this option to enable frame dropping for all |
|
master clock sources, use @option{-noframedrop} to disable it. |
|
|
|
@item -infbuf |
|
Do not limit the input buffer size, read as much data as possible from the |
|
input as soon as possible. Enabled by default for realtime streams, where data |
|
may be dropped if not read in time. Use this option to enable infinite buffers |
|
for all inputs, use @option{-noinfbuf} to disable it. |
|
|
|
@item -filter_threads @var{nb_threads} |
|
Defines how many threads are used to process a filter pipeline. Each pipeline |
|
will produce a thread pool with this many threads available for parallel |
|
processing. The default is 0 which means that the thread count will be |
|
determined by the number of available CPUs. |
|
|
|
@item -enable_vulkan |
|
Use vulkan renderer rather than SDL builtin renderer. Depends on libplacebo. |
|
|
|
@item -vulkan_params |
|
|
|
Vulkan configuration using a list of @var{key}=@var{value} pairs separated by |
|
":". |
|
|
|
@item -hwaccel |
|
Use HW accelerated decoding. Enable this option will enable vulkan renderer |
|
automatically. |
|
|
|
@end table |
|
|
|
@section While playing |
|
|
|
@table @key |
|
@item q, ESC |
|
Quit. |
|
|
|
@item f |
|
Toggle full screen. |
|
|
|
@item p, SPC |
|
Pause. |
|
|
|
@item m |
|
Toggle mute. |
|
|
|
@item 9, 0 |
|
@item /, * |
|
Decrease and increase volume respectively. |
|
|
|
@item a |
|
Cycle audio channel in the current program. |
|
|
|
@item v |
|
Cycle video channel. |
|
|
|
@item t |
|
Cycle subtitle channel in the current program. |
|
|
|
@item c |
|
Cycle program. |
|
|
|
@item w |
|
Cycle video filters or show modes. |
|
|
|
@item s |
|
Step to the next frame. |
|
|
|
Pause if the stream is not already paused, step to the next video |
|
frame, and pause. |
|
|
|
@item left/right |
|
Seek backward/forward 10 seconds. |
|
|
|
@item down/up |
|
Seek backward/forward 1 minute. |
|
|
|
@item page down/page up |
|
Seek to the previous/next chapter. |
|
or if there are no chapters |
|
Seek backward/forward 10 minutes. |
|
|
|
@item right mouse click |
|
Seek to percentage in file corresponding to fraction of width. |
|
|
|
@item left mouse double-click |
|
Toggle full screen. |
|
|
|
@end table |
|
|
|
@c man end |
|
|
|
@include config.texi |
|
@ifset config-all |
|
@set config-readonly |
|
@ifset config-avutil |
|
@include utils.texi |
|
@end ifset |
|
@ifset config-avcodec |
|
@include codecs.texi |
|
@include bitstream_filters.texi |
|
@end ifset |
|
@ifset config-avformat |
|
@include formats.texi |
|
@include protocols.texi |
|
@end ifset |
|
@ifset config-avdevice |
|
@include devices.texi |
|
@end ifset |
|
@ifset config-swresample |
|
@include resampler.texi |
|
@end ifset |
|
@ifset config-swscale |
|
@include scaler.texi |
|
@end ifset |
|
@ifset config-avfilter |
|
@include filters.texi |
|
@end ifset |
|
@include general_contents.texi |
|
@end ifset |
|
|
|
@chapter See Also |
|
|
|
@ifhtml |
|
@ifset config-all |
|
@url{ffplay.html,ffplay}, |
|
@end ifset |
|
@ifset config-not-all |
|
@url{ffplay-all.html,ffmpeg-all}, |
|
@end ifset |
|
@url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe}, |
|
@url{ffmpeg-utils.html,ffmpeg-utils}, |
|
@url{ffmpeg-scaler.html,ffmpeg-scaler}, |
|
@url{ffmpeg-resampler.html,ffmpeg-resampler}, |
|
@url{ffmpeg-codecs.html,ffmpeg-codecs}, |
|
@url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters}, |
|
@url{ffmpeg-formats.html,ffmpeg-formats}, |
|
@url{ffmpeg-devices.html,ffmpeg-devices}, |
|
@url{ffmpeg-protocols.html,ffmpeg-protocols}, |
|
@url{ffmpeg-filters.html,ffmpeg-filters} |
|
@end ifhtml |
|
|
|
@ifnothtml |
|
@ifset config-all |
|
ffplay(1), |
|
@end ifset |
|
@ifset config-not-all |
|
ffplay-all(1), |
|
@end ifset |
|
ffmpeg(1), ffprobe(1), |
|
ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1), |
|
ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1), |
|
ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1) |
|
@end ifnothtml |
|
|
|
@include authors.texi |
|
|
|
@ignore |
|
|
|
@setfilename ffplay |
|
@settitle FFplay media player |
|
|
|
@end ignore |
|
|
|
@bye
|
|
|