]> git.sesse.net Git - ffmpeg/blob - doc/ffplay.texi
avformat/avio: Add Metacube support
[ffmpeg] / 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 shown by default, unless the
137 log level is lower than @code{info}. Its display can be forced by manually
138 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}
145 Set the master clock to audio (@code{type=audio}), video
146 (@code{type=video}) or external (@code{type=ext}). Default is audio. The
147 master clock is used to control audio-video synchronization. Most media
148 players use audio as master clock, but in some cases (streaming or high
149 quality broadcast) it is necessary to change that. This option is mainly
150 used for debugging purposes.
151 @item -ast @var{audio_stream_specifier}
152 Select the desired audio stream using the given stream specifier. The stream
153 specifiers are described in the @ref{Stream specifiers} chapter. If this option
154 is not specified, the "best" audio stream is selected in the program of the
155 already selected video stream.
156 @item -vst @var{video_stream_specifier}
157 Select the desired video stream using the given stream specifier. The stream
158 specifiers are described in the @ref{Stream specifiers} chapter. If this option
159 is not specified, the "best" video stream is selected.
160 @item -sst @var{subtitle_stream_specifier}
161 Select the desired subtitle stream using the given stream specifier. The stream
162 specifiers are described in the @ref{Stream specifiers} chapter. If this option
163 is not specified, the "best" subtitle stream is selected in the program of the
164 already selected video or audio stream.
165 @item -autoexit
166 Exit when video is done playing.
167 @item -exitonkeydown
168 Exit if any key is pressed.
169 @item -exitonmousedown
170 Exit if any mouse button is pressed.
171
172 @item -codec:@var{media_specifier} @var{codec_name}
173 Force a specific decoder implementation for the stream identified by
174 @var{media_specifier}, which can assume the values @code{a} (audio),
175 @code{v} (video), and @code{s} subtitle.
176
177 @item -acodec @var{codec_name}
178 Force a specific audio decoder.
179
180 @item -vcodec @var{codec_name}
181 Force a specific video decoder.
182
183 @item -scodec @var{codec_name}
184 Force a specific subtitle decoder.
185
186 @item -autorotate
187 Automatically rotate the video according to file metadata. Enabled by
188 default, use @option{-noautorotate} to disable it.
189
190 @item -framedrop
191 Drop video frames if video is out of sync. Enabled by default if the master
192 clock is not set to video. Use this option to enable frame dropping for all
193 master clock sources, use @option{-noframedrop} to disable it.
194
195 @item -infbuf
196 Do not limit the input buffer size, read as much data as possible from the
197 input as soon as possible. Enabled by default for realtime streams, where data
198 may be dropped if not read in time. Use this option to enable infinite buffers
199 for all inputs, use @option{-noinfbuf} to disable it.
200
201 @item -filter_threads @var{nb_threads}
202 Defines how many threads are used to process a filter pipeline. Each pipeline
203 will produce a thread pool with this many threads available for parallel
204 processing. The default is 0 which means that the thread count will be
205 determined by the number of available CPUs.
206
207 @end table
208
209 @section While playing
210
211 @table @key
212 @item q, ESC
213 Quit.
214
215 @item f
216 Toggle full screen.
217
218 @item p, SPC
219 Pause.
220
221 @item m
222 Toggle mute.
223
224 @item 9, 0
225 Decrease and increase volume respectively.
226
227 @item /, *
228 Decrease and increase volume respectively.
229
230 @item a
231 Cycle audio channel in the current program.
232
233 @item v
234 Cycle video channel.
235
236 @item t
237 Cycle subtitle channel in the current program.
238
239 @item c
240 Cycle program.
241
242 @item w
243 Cycle video filters or show modes.
244
245 @item s
246 Step to the next frame.
247
248 Pause if the stream is not already paused, step to the next video
249 frame, and pause.
250
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 Seek to the previous/next chapter.
259 or if there are no chapters
260 Seek backward/forward 10 minutes.
261
262 @item right mouse click
263 Seek to percentage in file corresponding to fraction of width.
264
265 @item left mouse double-click
266 Toggle full screen.
267
268 @end table
269
270 @c man end
271
272 @include config.texi
273 @ifset config-all
274 @set config-readonly
275 @ifset config-avutil
276 @include utils.texi
277 @end ifset
278 @ifset config-avcodec
279 @include codecs.texi
280 @include bitstream_filters.texi
281 @end ifset
282 @ifset config-avformat
283 @include formats.texi
284 @include protocols.texi
285 @end ifset
286 @ifset config-avdevice
287 @include devices.texi
288 @end ifset
289 @ifset config-swresample
290 @include resampler.texi
291 @end ifset
292 @ifset config-swscale
293 @include scaler.texi
294 @end ifset
295 @ifset config-avfilter
296 @include filters.texi
297 @end ifset
298 @include general_contents.texi
299 @end ifset
300
301 @chapter See Also
302
303 @ifhtml
304 @ifset config-all
305 @url{ffplay.html,ffplay},
306 @end ifset
307 @ifset config-not-all
308 @url{ffplay-all.html,ffmpeg-all},
309 @end ifset
310 @url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe},
311 @url{ffmpeg-utils.html,ffmpeg-utils},
312 @url{ffmpeg-scaler.html,ffmpeg-scaler},
313 @url{ffmpeg-resampler.html,ffmpeg-resampler},
314 @url{ffmpeg-codecs.html,ffmpeg-codecs},
315 @url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
316 @url{ffmpeg-formats.html,ffmpeg-formats},
317 @url{ffmpeg-devices.html,ffmpeg-devices},
318 @url{ffmpeg-protocols.html,ffmpeg-protocols},
319 @url{ffmpeg-filters.html,ffmpeg-filters}
320 @end ifhtml
321
322 @ifnothtml
323 @ifset config-all
324 ffplay(1),
325 @end ifset
326 @ifset config-not-all
327 ffplay-all(1),
328 @end ifset
329 ffmpeg(1), ffprobe(1),
330 ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
331 ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
332 ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
333 @end ifnothtml
334
335 @include authors.texi
336
337 @ignore
338
339 @setfilename ffplay
340 @settitle FFplay media player
341
342 @end ignore
343
344 @bye