doc/ffplay.texi
e99c4e10
 \input texinfo @c -*- texinfo -*-
b4917514
 @documentencoding UTF-8
e99c4e10
 
89b503b5
 @settitle ffplay Documentation
e99c4e10
 @titlepage
89b503b5
 @center @titlefont{ffplay Documentation}
e99c4e10
 @end titlepage
 
a8f0814a
 @top
 
 @contents
 
a66d8cd9
 @chapter Synopsis
 
c2ac6477
 ffplay [@var{options}] [@file{input_file}]
e99c4e10
 
4fff6084
 @chapter Description
e99c4e10
 @c man begin DESCRIPTION
4fff6084
 
a6be21d3
 FFplay is a very simple and portable media player using the FFmpeg
6527639b
 libraries and the SDL library. It is mostly used as a testbed for the
a6be21d3
 various FFmpeg APIs.
e99c4e10
 @c man end
 
a66d8cd9
 @chapter Options
e99c4e10
 @c man begin OPTIONS
8b9da8b5
 
83165e39
 @include fftools-common-opts.texi
8b9da8b5
 
e99c4e10
 @section Main options
 
 @table @option
a19caa0f
 @item -x @var{width}
b467be72
 Force displayed width.
a19caa0f
 @item -y @var{height}
b467be72
 Force displayed height.
a19caa0f
 @item -s @var{size}
940a116b
 Set frame size (WxH or abbreviation), needed for videos which do
 not contain a header with the frame size like raw YUV.  This option
 has been deprecated in favor of private options, try -video_size.
2c4d6a34
 @item -fs
 Start in fullscreen mode.
e99c4e10
 @item -an
b467be72
 Disable audio.
e99c4e10
 @item -vn
b467be72
 Disable video.
2c4d6a34
 @item -sn
 Disable subtitles.
a19caa0f
 @item -ss @var{pos}
8b63a884
 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}.
d834d63b
 @item -t @var{duration}
8b63a884
 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}.
05e894bc
 @item -bytes
b467be72
 Seek by bytes.
e99c4e10
 @item -nodisp
b467be72
 Disable graphical display.
a19caa0f
 @item -f @var{fmt}
b467be72
 Force format.
076db5ed
 @item -window_title @var{title}
 Set window title (default is the input filename).
1922c0a7
 @item -loop @var{number}
 Loops movie playback <number> times. 0 means forever.
f521746b
 @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}.
 
9db70620
 @item -vf @var{filtergraph}
 Create the filtergraph specified by @var{filtergraph} and use it to
e8bab4c6
 filter the video stream.
 
9db70620
 @var{filtergraph} is a description of the filtergraph to apply to
e8bab4c6
 the stream, and must have a single video input and a single video
9db70620
 output. In the filtergraph, the input is associated to the label
e8bab4c6
 @code{in}, and the output to the label @code{out}. See the
 ffmpeg-filters manual for more information about the filtergraph
 syntax.
3275ac6a
 
a583e2be
 You can specify this parameter multiple times and cycle through the specified
 filtergraphs along with the show modes by pressing the key @key{w}.
 
9db70620
 @item -af @var{filtergraph}
 @var{filtergraph} is a description of the filtergraph to apply to
e96175ad
 the input audio.
 Use the option "-filters" to show all the available filters (including
 sources and sinks).
 
9b032c65
 @item -i @var{input_file}
 Read @var{input_file}.
dc7f38f5
 @end table
e99c4e10
 
 @section Advanced options
 @table @option
a19caa0f
 @item -pix_fmt @var{format}
940a116b
 Set pixel format.
 This option has been deprecated in favor of private options, try -pixel_format.
f185a040
 
e99c4e10
 @item -stats
f185a040
 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 on by default, to
 explicitly disable it you need to specify @code{-nostats}.
 
05e894bc
 @item -fast
b467be72
 Non-spec-compliant optimizations.
05e894bc
 @item -genpts
b467be72
 Generate pts.
a19caa0f
 @item -sync @var{type}
6527639b
 Set the master clock to audio (@code{type=audio}), video
e99c4e10
 (@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.
5e7dcb04
 @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.
42b4da75
 @item -autoexit
 Exit when video is done playing.
066ce8c9
 @item -exitonkeydown
 Exit if any key is pressed.
 @item -exitonmousedown
 Exit if any mouse button is pressed.
cb0f97b5
 
 @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.
08c51e12
 
 @item -autorotate
deedf3e5
 Automatically rotate the video according to file metadata. Enabled by
2c4d6a34
 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.
 
e99c4e10
 @end table
 
 @section While playing
 
 @table @key
 @item q, ESC
b467be72
 Quit.
e99c4e10
 
 @item f
b467be72
 Toggle full screen.
e99c4e10
 
 @item p, SPC
b467be72
 Pause.
e99c4e10
 
 @item a
affc4104
 Cycle audio channel in the current program.
e99c4e10
 
 @item v
b467be72
 Cycle video channel.
e99c4e10
 
173c7185
 @item t
060c42bc
 Cycle subtitle channel in the current program.
 
 @item c
 Cycle program.
173c7185
 
e99c4e10
 @item w
a583e2be
 Cycle video filters or show modes.
05e894bc
 
704c217f
 @item s
 Step to the next frame.
 
 Pause if the stream is not already paused, step to the next video
 frame, and pause.
 
05e894bc
 @item left/right
b467be72
 Seek backward/forward 10 seconds.
05e894bc
 
 @item down/up
b467be72
 Seek backward/forward 1 minute.
05e894bc
 
91a3ea67
 @item page down/page up
6fb8684a
 Seek to the previous/next chapter.
 or if there are no chapters
91a3ea67
 Seek backward/forward 10 minutes.
 
05e894bc
 @item mouse click
b467be72
 Seek to percentage in file corresponding to fraction of width.
05e894bc
 
e99c4e10
 @end table
 
 @c man end
 
f40cf96e
 @include config.texi
9b4d9d87
 @ifset config-all
bba73f55
 @set config-readonly
f40cf96e
 @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
9b4d9d87
 @end ifset
 
9d6517aa
 @chapter See Also
 
 @ifhtml
9b4d9d87
 @ifset config-all
 @url{ffplay.html,ffplay},
 @end ifset
 @ifset config-not-all
 @url{ffplay-all.html,ffmpeg-all},
 @end ifset
9d6517aa
 @url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
 @url{ffmpeg-utils.html,ffmpeg-utils},
 @url{ffmpeg-scaler.html,ffmpeg-scaler},
 @url{ffmpeg-resampler.html,ffmpeg-resampler},
 @url{ffmpeg-codecs.html,ffmpeg-codecs},
0018221c
 @url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
9d6517aa
 @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
9b4d9d87
 @ifset config-all
 ffplay(1),
 @end ifset
 @ifset config-not-all
 ffplay-all(1),
 @end ifset
9d6517aa
 ffmpeg(1), ffprobe(1), ffserver(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
 
461716d3
 @include authors.texi
 
e99c4e10
 @ignore
 
 @setfilename ffplay
 @settitle FFplay media player
 
 @end ignore
 
 @bye