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