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