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