ffplay: update docs after previous changes in ffplay mouse behaviour
[ffmpeg.git] / doc / ffplay.texi
1 \input texinfo @c -*- texinfo -*-
2 @documentencoding UTF-8
3
4 @settitle ffplay Documentation
5 @titlepage
6 @center @titlefont{ffplay Documentation}
7 @end titlepage
8
9 @top
10
11 @contents
12
13 @chapter Synopsis
14
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
21 libraries and the SDL library. It is mostly used as a testbed for the
22 various FFmpeg APIs.
23 @c man end
24
25 @chapter Options
26 @c man begin OPTIONS
27
28 @include fftools-common-opts.texi
29
30 @section Main options
31
32 @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 Set frame size (WxH or abbreviation), needed for videos which do
39 not contain a header with the frame size like raw YUV.  This option
40 has been deprecated in favor of private options, try -video_size.
41 @item -fs
42 Start in fullscreen mode.
43 @item -an
44 Disable audio.
45 @item -vn
46 Disable video.
47 @item -sn
48 Disable subtitles.
49 @item -ss @var{pos}
50 Seek to @var{pos}. Note that in most formats it is not possible to seek
51 exactly, so @command{ffplay} will seek to the nearest seek point to
52 @var{pos}.
53
54 @var{pos} must be a time duration specification,
55 see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}.
56 @item -t @var{duration}
57 Play @var{duration} seconds of audio/video.
58
59 @var{duration} must be a time duration specification,
60 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 @item -window_title @var{title}
68 Set window title (default is the input filename).
69 @item -loop @var{number}
70 Loops movie playback <number> times. 0 means forever.
71 @item -showmode @var{mode}
72 Set the show mode to use.
73 Available values for @var{mode} are:
74 @table @samp
75 @item 0, video
76 show video
77 @item 1, waves
78 show audio waves
79 @item 2, rdft
80 show audio frequency band using RDFT ((Inverse) Real Discrete Fourier Transform)
81 @end table
82
83 Default value is "video", if video is not present or cannot be played
84 "rdft" is automatically selected.
85
86 You can interactively cycle through the available show modes by
87 pressing the key @key{w}.
88
89 @item -vf @var{filtergraph}
90 Create the filtergraph specified by @var{filtergraph} and use it to
91 filter the video stream.
92
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 @code{in}, and the output to the label @code{out}. See the
97 ffmpeg-filters manual for more information about the filtergraph
98 syntax.
99
100 You can specify this parameter multiple times and cycle through the specified
101 filtergraphs along with the show modes by pressing the key @key{w}.
102
103 @item -af @var{filtergraph}
104 @var{filtergraph} is a description of the filtergraph to apply to
105 the input audio.
106 Use the option "-filters" to show all the available filters (including
107 sources and sinks).
108
109 @item -i @var{input_file}
110 Read @var{input_file}.
111 @end table
112
113 @section Advanced options
114 @table @option
115 @item -pix_fmt @var{format}
116 Set pixel format.
117 This option has been deprecated in favor of private options, try -pixel_format.
118
119 @item -stats
120 Print several playback statistics, in particular show the stream
121 duration, the codec parameters, the current position in the stream and
122 the audio/video synchronisation drift. It is on by default, to
123 explicitly disable it you need to specify @code{-nostats}.
124
125 @item -fast
126 Non-spec-compliant optimizations.
127 @item -genpts
128 Generate pts.
129 @item -sync @var{type}
130 Set the master clock to audio (@code{type=audio}), video
131 (@code{type=video}) or external (@code{type=ext}). Default is audio. The
132 master clock is used to control audio-video synchronization. Most media
133 players use audio as master clock, but in some cases (streaming or high
134 quality broadcast) it is necessary to change that. This option is mainly
135 used for debugging purposes.
136 @item -ast @var{audio_stream_specifier}
137 Select the desired audio stream using the given stream specifier. The stream
138 specifiers are described in the @ref{Stream specifiers} chapter. If this option
139 is not specified, the "best" audio stream is selected in the program of the
140 already selected video stream.
141 @item -vst @var{video_stream_specifier}
142 Select the desired video stream using the given stream specifier. The stream
143 specifiers are described in the @ref{Stream specifiers} chapter. If this option
144 is not specified, the "best" video stream is selected.
145 @item -sst @var{subtitle_stream_specifier}
146 Select the desired subtitle stream using the given stream specifier. The stream
147 specifiers are described in the @ref{Stream specifiers} chapter. If this option
148 is not specified, the "best" subtitle stream is selected in the program of the
149 already selected video or audio stream.
150 @item -autoexit
151 Exit when video is done playing.
152 @item -exitonkeydown
153 Exit if any key is pressed.
154 @item -exitonmousedown
155 Exit if any mouse button is pressed.
156
157 @item -codec:@var{media_specifier} @var{codec_name}
158 Force a specific decoder implementation for the stream identified by
159 @var{media_specifier}, which can assume the values @code{a} (audio),
160 @code{v} (video), and @code{s} subtitle.
161
162 @item -acodec @var{codec_name}
163 Force a specific audio decoder.
164
165 @item -vcodec @var{codec_name}
166 Force a specific video decoder.
167
168 @item -scodec @var{codec_name}
169 Force a specific subtitle decoder.
170
171 @item -autorotate
172 Automatically rotate the video according to file metadata. Enabled by
173 default, use @option{-noautorotate} to disable it.
174
175 @item -framedrop
176 Drop video frames if video is out of sync. Enabled by default if the master
177 clock is not set to video. Use this option to enable frame dropping for all
178 master clock sources, use @option{-noframedrop} to disable it.
179
180 @item -infbuf
181 Do not limit the input buffer size, read as much data as possible from the
182 input as soon as possible. Enabled by default for realtime streams, where data
183 may be dropped if not read in time. Use this option to enable infinite buffers
184 for all inputs, use @option{-noinfbuf} to disable it.
185
186 @end table
187
188 @section While playing
189
190 @table @key
191 @item q, ESC
192 Quit.
193
194 @item f
195 Toggle full screen.
196
197 @item p, SPC
198 Pause.
199
200 @item m
201 Toggle mute.
202
203 @item 9, 0
204 Decrease and increase volume respectively.
205
206 @item /, *
207 Decrease and increase volume respectively.
208
209 @item a
210 Cycle audio channel in the current program.
211
212 @item v
213 Cycle video channel.
214
215 @item t
216 Cycle subtitle channel in the current program.
217
218 @item c
219 Cycle program.
220
221 @item w
222 Cycle video filters or show modes.
223
224 @item s
225 Step to the next frame.
226
227 Pause if the stream is not already paused, step to the next video
228 frame, and pause.
229
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 Seek to the previous/next chapter.
238 or if there are no chapters
239 Seek backward/forward 10 minutes.
240
241 @item right mouse click
242 Seek to percentage in file corresponding to fraction of width.
243
244 @item left mouse double-click
245 Toggle full screen.
246
247 @end table
248
249 @c man end
250
251 @include config.texi
252 @ifset config-all
253 @set config-readonly
254 @ifset config-avutil
255 @include utils.texi
256 @end ifset
257 @ifset config-avcodec
258 @include codecs.texi
259 @include bitstream_filters.texi
260 @end ifset
261 @ifset config-avformat
262 @include formats.texi
263 @include protocols.texi
264 @end ifset
265 @ifset config-avdevice
266 @include devices.texi
267 @end ifset
268 @ifset config-swresample
269 @include resampler.texi
270 @end ifset
271 @ifset config-swscale
272 @include scaler.texi
273 @end ifset
274 @ifset config-avfilter
275 @include filters.texi
276 @end ifset
277 @end ifset
278
279 @chapter See Also
280
281 @ifhtml
282 @ifset config-all
283 @url{ffplay.html,ffplay},
284 @end ifset
285 @ifset config-not-all
286 @url{ffplay-all.html,ffmpeg-all},
287 @end ifset
288 @url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
289 @url{ffmpeg-utils.html,ffmpeg-utils},
290 @url{ffmpeg-scaler.html,ffmpeg-scaler},
291 @url{ffmpeg-resampler.html,ffmpeg-resampler},
292 @url{ffmpeg-codecs.html,ffmpeg-codecs},
293 @url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
294 @url{ffmpeg-formats.html,ffmpeg-formats},
295 @url{ffmpeg-devices.html,ffmpeg-devices},
296 @url{ffmpeg-protocols.html,ffmpeg-protocols},
297 @url{ffmpeg-filters.html,ffmpeg-filters}
298 @end ifhtml
299
300 @ifnothtml
301 @ifset config-all
302 ffplay(1),
303 @end ifset
304 @ifset config-not-all
305 ffplay-all(1),
306 @end ifset
307 ffmpeg(1), ffprobe(1), ffserver(1),
308 ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
309 ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
310 ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
311 @end ifnothtml
312
313 @include authors.texi
314
315 @ignore
316
317 @setfilename ffplay
318 @settitle FFplay media player
319
320 @end ignore
321
322 @bye