ffplay.texi 8.53 KB
Newer Older
1
\input texinfo @c -*- texinfo -*-
2
@documentencoding UTF-8
3

4
@settitle ffplay Documentation
5
@titlepage
6
@center @titlefont{ffplay Documentation}
7 8
@end titlepage

9 10 11 12
@top

@contents

13 14
@chapter Synopsis

15
ffplay [@var{options}] [@file{input_file}]
16

17
@chapter Description
18
@c man begin DESCRIPTION
19

20
FFplay is a very simple and portable media player using the FFmpeg
Diego Biurrun's avatar
Diego Biurrun committed
21
libraries and the SDL library. It is mostly used as a testbed for the
22
various FFmpeg APIs.
23 24
@c man end

25
@chapter Options
26
@c man begin OPTIONS
27

28
@include fftools-common-opts.texi
29

30 31 32
@section Main options

@table @option
33
@item -x @var{width}
34
Force displayed width.
35
@item -y @var{height}
36
Force displayed height.
37
@item -s @var{size}
38 39 40
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.
41 42
@item -fs
Start in fullscreen mode.
43
@item -an
44
Disable audio.
45
@item -vn
46
Disable video.
47 48
@item -sn
Disable subtitles.
49
@item -ss @var{pos}
50 51 52 53 54 55
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}.
56
@item -t @var{duration}
57 58 59 60
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}.
61
@item -bytes
62
Seek by bytes.
63
@item -nodisp
64
Disable graphical display.
65
@item -f @var{fmt}
66
Force format.
67 68
@item -window_title @var{title}
Set window title (default is the input filename).
69 70
@item -loop @var{number}
Loops movie playback <number> times. 0 means forever.
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
@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}.

89 90
@item -vf @var{filtergraph}
Create the filtergraph specified by @var{filtergraph} and use it to
91 92
filter the video stream.

93
@var{filtergraph} is a description of the filtergraph to apply to
94
the stream, and must have a single video input and a single video
95
output. In the filtergraph, the input is associated to the label
96 97 98
@code{in}, and the output to the label @code{out}. See the
ffmpeg-filters manual for more information about the filtergraph
syntax.
99

100 101 102
You can specify this parameter multiple times and cycle through the specified
filtergraphs along with the show modes by pressing the key @key{w}.

103 104
@item -af @var{filtergraph}
@var{filtergraph} is a description of the filtergraph to apply to
Marton Balint's avatar
Marton Balint committed
105 106 107 108
the input audio.
Use the option "-filters" to show all the available filters (including
sources and sinks).

109 110
@item -i @var{input_file}
Read @var{input_file}.
111
@end table
112 113 114

@section Advanced options
@table @option
115
@item -pix_fmt @var{format}
116 117
Set pixel format.
This option has been deprecated in favor of private options, try -pixel_format.
118

119
@item -stats
120 121 122 123 124
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}.

125
@item -fast
126
Non-spec-compliant optimizations.
127
@item -genpts
128
Generate pts.
129
@item -sync @var{type}
Diego Biurrun's avatar
Diego Biurrun committed
130
Set the master clock to audio (@code{type=audio}), video
131 132 133 134 135
(@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.
136 137 138 139 140 141 142 143 144 145 146 147 148 149
@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.
150 151
@item -autoexit
Exit when video is done playing.
152 153 154 155
@item -exitonkeydown
Exit if any key is pressed.
@item -exitonmousedown
Exit if any mouse button is pressed.
156 157 158 159 160 161 162 163 164 165 166 167 168 169

@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.
170 171

@item -autorotate
172
Automatically rotate the video according to file metadata. Enabled by
173 174 175 176 177 178 179 180 181 182 183 184 185
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.

186 187 188 189 190 191
@end table

@section While playing

@table @key
@item q, ESC
192
Quit.
193 194

@item f
195
Toggle full screen.
196 197

@item p, SPC
198
Pause.
199

200 201 202 203 204 205 206 207 208
@item m
Toggle mute.

@item 9, 0
Decrease and increase volume respectively.

@item /, *
Decrease and increase volume respectively.

209
@item a
Marton Balint's avatar
Marton Balint committed
210
Cycle audio channel in the current program.
211 212

@item v
213
Cycle video channel.
214

215
@item t
216 217 218 219
Cycle subtitle channel in the current program.

@item c
Cycle program.
220

221
@item w
222
Cycle video filters or show modes.
223

224 225 226 227 228 229
@item s
Step to the next frame.

Pause if the stream is not already paused, step to the next video
frame, and pause.

230
@item left/right
231
Seek backward/forward 10 seconds.
232 233

@item down/up
234
Seek backward/forward 1 minute.
235

236
@item page down/page up
237 238
Seek to the previous/next chapter.
or if there are no chapters
239 240
Seek backward/forward 10 minutes.

241
@item right mouse click
242
Seek to percentage in file corresponding to fraction of width.
243

244 245 246
@item left mouse double-click
Toggle full screen.

247 248 249 250
@end table

@c man end

251
@include config.texi
252
@ifset config-all
253
@set config-readonly
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276
@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
277 278
@end ifset

279 280 281
@chapter See Also

@ifhtml
282 283 284 285 286 287
@ifset config-all
@url{ffplay.html,ffplay},
@end ifset
@ifset config-not-all
@url{ffplay-all.html,ffmpeg-all},
@end ifset
288 289 290 291 292
@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},
293
@url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
294 295 296 297 298 299 300
@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
301 302 303 304 305 306
@ifset config-all
ffplay(1),
@end ifset
@ifset config-not-all
ffplay-all(1),
@end ifset
307 308 309 310 311 312
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

313 314
@include authors.texi

315 316 317 318 319 320 321 322
@ignore

@setfilename ffplay
@settitle FFplay media player

@end ignore

@bye