ffplay: added option always on top for video window
[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_url}]
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 -seek_interval
64 Set custom interval, in seconds, for seeking using left/right keys. Default is 10 seconds.
65 @item -nodisp
66 Disable graphical display.
67 @item -noborder
68 Borderless window.
69 @item -alwaysontop
70 Window always on top. Available on: X11 with SDL >= 2.0.5, Windows SDL >= 2.0.6.
71 @item -volume
72 Set the startup volume. 0 means silence, 100 means no volume reduction or
73 amplification. Negative values are treated as 0, values above 100 are treated
74 as 100.
75 @item -f @var{fmt}
76 Force format.
77 @item -window_title @var{title}
78 Set window title (default is the input filename).
79 @item -left @var{title}
80 Set the x position for the left of the window (default is a centered window).
81 @item -top @var{title}
82 Set the y position for the top of the window (default is a centered window).
83 @item -loop @var{number}
84 Loops movie playback <number> times. 0 means forever.
85 @item -showmode @var{mode}
86 Set the show mode to use.
87 Available values for @var{mode} are:
88 @table @samp
89 @item 0, video
90 show video
91 @item 1, waves
92 show audio waves
93 @item 2, rdft
94 show audio frequency band using RDFT ((Inverse) Real Discrete Fourier Transform)
95 @end table
96
97 Default value is "video", if video is not present or cannot be played
98 "rdft" is automatically selected.
99
100 You can interactively cycle through the available show modes by
101 pressing the key @key{w}.
102
103 @item -vf @var{filtergraph}
104 Create the filtergraph specified by @var{filtergraph} and use it to
105 filter the video stream.
106
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 @code{in}, and the output to the label @code{out}. See the
111 ffmpeg-filters manual for more information about the filtergraph
112 syntax.
113
114 You can specify this parameter multiple times and cycle through the specified
115 filtergraphs along with the show modes by pressing the key @key{w}.
116
117 @item -af @var{filtergraph}
118 @var{filtergraph} is a description of the filtergraph to apply to
119 the input audio.
120 Use the option "-filters" to show all the available filters (including
121 sources and sinks).
122
123 @item -i @var{input_url}
124 Read @var{input_url}.
125 @end table
126
127 @section Advanced options
128 @table @option
129 @item -pix_fmt @var{format}
130 Set pixel format.
131 This option has been deprecated in favor of private options, try -pixel_format.
132
133 @item -stats
134 Print several playback statistics, in particular show the stream
135 duration, the codec parameters, the current position in the stream and
136 the audio/video synchronisation drift. It is on by default, to
137 explicitly disable it you need to specify @code{-nostats}.
138
139 @item -fast
140 Non-spec-compliant optimizations.
141 @item -genpts
142 Generate pts.
143 @item -sync @var{type}
144 Set the master clock to audio (@code{type=audio}), video
145 (@code{type=video}) or external (@code{type=ext}). Default is audio. The
146 master clock is used to control audio-video synchronization. Most media
147 players use audio as master clock, but in some cases (streaming or high
148 quality broadcast) it is necessary to change that. This option is mainly
149 used for debugging purposes.
150 @item -ast @var{audio_stream_specifier}
151 Select the desired audio stream using the given stream specifier. The stream
152 specifiers are described in the @ref{Stream specifiers} chapter. If this option
153 is not specified, the "best" audio stream is selected in the program of the
154 already selected video stream.
155 @item -vst @var{video_stream_specifier}
156 Select the desired video stream using the given stream specifier. The stream
157 specifiers are described in the @ref{Stream specifiers} chapter. If this option
158 is not specified, the "best" video stream is selected.
159 @item -sst @var{subtitle_stream_specifier}
160 Select the desired subtitle stream using the given stream specifier. The stream
161 specifiers are described in the @ref{Stream specifiers} chapter. If this option
162 is not specified, the "best" subtitle stream is selected in the program of the
163 already selected video or audio stream.
164 @item -autoexit
165 Exit when video is done playing.
166 @item -exitonkeydown
167 Exit if any key is pressed.
168 @item -exitonmousedown
169 Exit if any mouse button is pressed.
170
171 @item -codec:@var{media_specifier} @var{codec_name}
172 Force a specific decoder implementation for the stream identified by
173 @var{media_specifier}, which can assume the values @code{a} (audio),
174 @code{v} (video), and @code{s} subtitle.
175
176 @item -acodec @var{codec_name}
177 Force a specific audio decoder.
178
179 @item -vcodec @var{codec_name}
180 Force a specific video decoder.
181
182 @item -scodec @var{codec_name}
183 Force a specific subtitle decoder.
184
185 @item -autorotate
186 Automatically rotate the video according to file metadata. Enabled by
187 default, use @option{-noautorotate} to disable it.
188
189 @item -framedrop
190 Drop video frames if video is out of sync. Enabled by default if the master
191 clock is not set to video. Use this option to enable frame dropping for all
192 master clock sources, use @option{-noframedrop} to disable it.
193
194 @item -infbuf
195 Do not limit the input buffer size, read as much data as possible from the
196 input as soon as possible. Enabled by default for realtime streams, where data
197 may be dropped if not read in time. Use this option to enable infinite buffers
198 for all inputs, use @option{-noinfbuf} to disable it.
199
200 @item -filter_threads @var{nb_threads}
201 Defines how many threads are used to process a filter pipeline. Each pipeline
202 will produce a thread pool with this many threads available for parallel
203 processing. The default is 0 which means that the thread count will be
204 determined by the number of available CPUs.
205
206 @end table
207
208 @section While playing
209
210 @table @key
211 @item q, ESC
212 Quit.
213
214 @item f
215 Toggle full screen.
216
217 @item p, SPC
218 Pause.
219
220 @item m
221 Toggle mute.
222
223 @item 9, 0
224 Decrease and increase volume respectively.
225
226 @item /, *
227 Decrease and increase volume respectively.
228
229 @item a
230 Cycle audio channel in the current program.
231
232 @item v
233 Cycle video channel.
234
235 @item t
236 Cycle subtitle channel in the current program.
237
238 @item c
239 Cycle program.
240
241 @item w
242 Cycle video filters or show modes.
243
244 @item s
245 Step to the next frame.
246
247 Pause if the stream is not already paused, step to the next video
248 frame, and pause.
249
250 @item left/right
251 Seek backward/forward 10 seconds.
252
253 @item down/up
254 Seek backward/forward 1 minute.
255
256 @item page down/page up
257 Seek to the previous/next chapter.
258 or if there are no chapters
259 Seek backward/forward 10 minutes.
260
261 @item right mouse click
262 Seek to percentage in file corresponding to fraction of width.
263
264 @item left mouse double-click
265 Toggle full screen.
266
267 @end table
268
269 @c man end
270
271 @include config.texi
272 @ifset config-all
273 @set config-readonly
274 @ifset config-avutil
275 @include utils.texi
276 @end ifset
277 @ifset config-avcodec
278 @include codecs.texi
279 @include bitstream_filters.texi
280 @end ifset
281 @ifset config-avformat
282 @include formats.texi
283 @include protocols.texi
284 @end ifset
285 @ifset config-avdevice
286 @include devices.texi
287 @end ifset
288 @ifset config-swresample
289 @include resampler.texi
290 @end ifset
291 @ifset config-swscale
292 @include scaler.texi
293 @end ifset
294 @ifset config-avfilter
295 @include filters.texi
296 @end ifset
297 @end ifset
298
299 @chapter See Also
300
301 @ifhtml
302 @ifset config-all
303 @url{ffplay.html,ffplay},
304 @end ifset
305 @ifset config-not-all
306 @url{ffplay-all.html,ffmpeg-all},
307 @end ifset
308 @url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe},
309 @url{ffmpeg-utils.html,ffmpeg-utils},
310 @url{ffmpeg-scaler.html,ffmpeg-scaler},
311 @url{ffmpeg-resampler.html,ffmpeg-resampler},
312 @url{ffmpeg-codecs.html,ffmpeg-codecs},
313 @url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
314 @url{ffmpeg-formats.html,ffmpeg-formats},
315 @url{ffmpeg-devices.html,ffmpeg-devices},
316 @url{ffmpeg-protocols.html,ffmpeg-protocols},
317 @url{ffmpeg-filters.html,ffmpeg-filters}
318 @end ifhtml
319
320 @ifnothtml
321 @ifset config-all
322 ffplay(1),
323 @end ifset
324 @ifset config-not-all
325 ffplay-all(1),
326 @end ifset
327 ffmpeg(1), ffprobe(1),
328 ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
329 ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
330 ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
331 @end ifnothtml
332
333 @include authors.texi
334
335 @ignore
336
337 @setfilename ffplay
338 @settitle FFplay media player
339
340 @end ignore
341
342 @bye