ffplay.texi 9.49 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_url}]
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 64
@item -seek_interval
Set custom interval, in seconds, for seeking using left/right keys. Default is 10 seconds.
65
@item -nodisp
66
Disable graphical display.
67 68
@item -noborder
Borderless window.
69 70
@item -alwaysontop
Window always on top. Available on: X11 with SDL >= 2.0.5, Windows SDL >= 2.0.6.
71 72 73 74
@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.
75
@item -f @var{fmt}
76
Force format.
77 78
@item -window_title @var{title}
Set window title (default is the input filename).
79 80 81 82
@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).
83 84
@item -loop @var{number}
Loops movie playback <number> times. 0 means forever.
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
@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}.

103 104
@item -vf @var{filtergraph}
Create the filtergraph specified by @var{filtergraph} and use it to
105 106
filter the video stream.

107
@var{filtergraph} is a description of the filtergraph to apply to
108
the stream, and must have a single video input and a single video
109
output. In the filtergraph, the input is associated to the label
110 111 112
@code{in}, and the output to the label @code{out}. See the
ffmpeg-filters manual for more information about the filtergraph
syntax.
113

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

117 118
@item -af @var{filtergraph}
@var{filtergraph} is a description of the filtergraph to apply to
Marton Balint's avatar
Marton Balint committed
119 120 121 122
the input audio.
Use the option "-filters" to show all the available filters (including
sources and sinks).

123 124
@item -i @var{input_url}
Read @var{input_url}.
125
@end table
126 127 128

@section Advanced options
@table @option
129
@item -pix_fmt @var{format}
130 131
Set pixel format.
This option has been deprecated in favor of private options, try -pixel_format.
132

133
@item -stats
134 135
Print several playback statistics, in particular show the stream
duration, the codec parameters, the current position in the stream and
136 137 138
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}.
139

140
@item -fast
141
Non-spec-compliant optimizations.
142
@item -genpts
143
Generate pts.
144
@item -sync @var{type}
Diego Biurrun's avatar
Diego Biurrun committed
145
Set the master clock to audio (@code{type=audio}), video
146 147 148 149 150
(@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.
151 152 153 154 155 156 157 158 159 160 161 162 163 164
@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.
165 166
@item -autoexit
Exit when video is done playing.
167 168 169 170
@item -exitonkeydown
Exit if any key is pressed.
@item -exitonmousedown
Exit if any mouse button is pressed.
171 172 173 174 175 176 177 178 179 180 181 182 183 184

@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.
185 186

@item -autorotate
187
Automatically rotate the video according to file metadata. Enabled by
188 189 190 191 192 193 194 195 196 197 198 199 200
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.

201 202 203 204 205 206
@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.

207 208 209 210 211 212
@end table

@section While playing

@table @key
@item q, ESC
213
Quit.
214 215

@item f
216
Toggle full screen.
217 218

@item p, SPC
219
Pause.
220

221 222 223 224 225 226 227 228 229
@item m
Toggle mute.

@item 9, 0
Decrease and increase volume respectively.

@item /, *
Decrease and increase volume respectively.

230
@item a
Marton Balint's avatar
Marton Balint committed
231
Cycle audio channel in the current program.
232 233

@item v
234
Cycle video channel.
235

236
@item t
237 238 239 240
Cycle subtitle channel in the current program.

@item c
Cycle program.
241

242
@item w
243
Cycle video filters or show modes.
244

245 246 247 248 249 250
@item s
Step to the next frame.

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

251
@item left/right
252
Seek backward/forward 10 seconds.
253 254

@item down/up
255
Seek backward/forward 1 minute.
256

257
@item page down/page up
258 259
Seek to the previous/next chapter.
or if there are no chapters
260 261
Seek backward/forward 10 minutes.

262
@item right mouse click
263
Seek to percentage in file corresponding to fraction of width.
264

265 266 267
@item left mouse double-click
Toggle full screen.

268 269 270 271
@end table

@c man end

272
@include config.texi
273
@ifset config-all
274
@set config-readonly
275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297
@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
298 299
@end ifset

300 301 302
@chapter See Also

@ifhtml
303 304 305 306 307 308
@ifset config-all
@url{ffplay.html,ffplay},
@end ifset
@ifset config-not-all
@url{ffplay-all.html,ffmpeg-all},
@end ifset
309
@url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe},
310 311 312 313
@url{ffmpeg-utils.html,ffmpeg-utils},
@url{ffmpeg-scaler.html,ffmpeg-scaler},
@url{ffmpeg-resampler.html,ffmpeg-resampler},
@url{ffmpeg-codecs.html,ffmpeg-codecs},
314
@url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
315 316 317 318 319 320 321
@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
322 323 324 325 326 327
@ifset config-all
ffplay(1),
@end ifset
@ifset config-not-all
ffplay-all(1),
@end ifset
328
ffmpeg(1), ffprobe(1),
329 330 331 332 333
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

334 335
@include authors.texi

336 337 338 339 340 341 342 343
@ignore

@setfilename ffplay
@settitle FFplay media player

@end ignore

@bye