ffplay.texi 7.93 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
Seek to a given position in seconds.
51 52
@item -t @var{duration}
play <duration> seconds of audio/video
53
@item -bytes
54
Seek by bytes.
55
@item -nodisp
56
Disable graphical display.
57
@item -f @var{fmt}
58
Force format.
59 60
@item -window_title @var{title}
Set window title (default is the input filename).
61 62
@item -loop @var{number}
Loops movie playback <number> times. 0 means forever.
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
@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}.

81 82
@item -vf @var{filtergraph}
Create the filtergraph specified by @var{filtergraph} and use it to
83 84
filter the video stream.

85
@var{filtergraph} is a description of the filtergraph to apply to
86
the stream, and must have a single video input and a single video
87
output. In the filtergraph, the input is associated to the label
88 89 90
@code{in}, and the output to the label @code{out}. See the
ffmpeg-filters manual for more information about the filtergraph
syntax.
91

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

95 96
@item -af @var{filtergraph}
@var{filtergraph} is a description of the filtergraph to apply to
Marton Balint's avatar
Marton Balint committed
97 98 99 100
the input audio.
Use the option "-filters" to show all the available filters (including
sources and sinks).

101 102
@item -i @var{input_file}
Read @var{input_file}.
103
@end table
104 105 106

@section Advanced options
@table @option
107
@item -pix_fmt @var{format}
108 109
Set pixel format.
This option has been deprecated in favor of private options, try -pixel_format.
110

111
@item -stats
112 113 114 115 116
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}.

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

@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.
162 163

@item -autorotate
164 165 166 167 168 169 170 171 172 173 174 175 176 177
Automatically rotate the video according to presentation 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.

178 179 180 181 182 183
@end table

@section While playing

@table @key
@item q, ESC
184
Quit.
185 186

@item f
187
Toggle full screen.
188 189

@item p, SPC
190
Pause.
191 192

@item a
Marton Balint's avatar
Marton Balint committed
193
Cycle audio channel in the current program.
194 195

@item v
196
Cycle video channel.
197

198
@item t
199 200 201 202
Cycle subtitle channel in the current program.

@item c
Cycle program.
203

204
@item w
205
Cycle video filters or show modes.
206

207 208 209 210 211 212
@item s
Step to the next frame.

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

213
@item left/right
214
Seek backward/forward 10 seconds.
215 216

@item down/up
217
Seek backward/forward 1 minute.
218

219
@item page down/page up
220 221
Seek to the previous/next chapter.
or if there are no chapters
222 223
Seek backward/forward 10 minutes.

224
@item mouse click
225
Seek to percentage in file corresponding to fraction of width.
226

227 228 229 230
@end table

@c man end

231
@include config.texi
232
@ifset config-all
233
@set config-readonly
234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256
@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
257 258
@end ifset

259 260 261
@chapter See Also

@ifhtml
262 263 264 265 266 267
@ifset config-all
@url{ffplay.html,ffplay},
@end ifset
@ifset config-not-all
@url{ffplay-all.html,ffmpeg-all},
@end ifset
268 269 270 271 272
@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},
273
@url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
274 275 276 277 278 279 280
@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
281 282 283 284 285 286
@ifset config-all
ffplay(1),
@end ifset
@ifset config-not-all
ffplay-all(1),
@end ifset
287 288 289 290 291 292
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

293 294
@include authors.texi

295 296 297 298 299 300 301 302
@ignore

@setfilename ffplay
@settitle FFplay media player

@end ignore

@bye