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