avformat/mpeg: demux ivtv captions
[ffmpeg.git] / doc / ffplay.texi
blob93f77eeecea1489d3a07f2cfbf509c38269a5f08
1 \input texinfo @c -*- texinfo -*-
2 @documentencoding UTF-8
4 @settitle ffplay Documentation
5 @titlepage
6 @center @titlefont{ffplay Documentation}
7 @end titlepage
9 @top
11 @contents
13 @chapter Synopsis
15 ffplay [@var{options}] [@file{input_url}]
17 @chapter Description
18 @c man begin DESCRIPTION
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
25 @chapter Options
26 @c man begin OPTIONS
28 @include fftools-common-opts.texi
30 @section Main options
32 @table @option
33 @item -x @var{width}
34 Force displayed width.
35 @item -y @var{height}
36 Force displayed height.
37 @item -fs
38 Start in fullscreen mode.
39 @item -an
40 Disable audio.
41 @item -vn
42 Disable video.
43 @item -sn
44 Disable subtitles.
45 @item -ss @var{pos}
46 Seek to @var{pos}. Note that in most formats it is not possible to seek
47 exactly, so @command{ffplay} will seek to the nearest seek point to
48 @var{pos}.
50 @var{pos} must be a time duration specification,
51 see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}.
52 @item -t @var{duration}
53 Play @var{duration} seconds of audio/video.
55 @var{duration} must be a time duration specification,
56 see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}.
57 @item -bytes
58 Seek by bytes.
59 @item -seek_interval
60 Set custom interval, in seconds, for seeking using left/right keys. Default is 10 seconds.
61 @item -nodisp
62 Disable graphical display.
63 @item -noborder
64 Borderless window.
65 @item -alwaysontop
66 Window always on top. Available on: X11 with SDL >= 2.0.5, Windows SDL >= 2.0.6.
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 -left @var{title}
76 Set the x position for the left of the window (default is a centered window).
77 @item -top @var{title}
78 Set the y position for the top of the window (default is a centered window).
79 @item -loop @var{number}
80 Loops movie playback <number> times. 0 means forever.
81 @item -showmode @var{mode}
82 Set the show mode to use.
83 Available values for @var{mode} are:
84 @table @samp
85 @item 0, video
86 show video
87 @item 1, waves
88 show audio waves
89 @item 2, rdft
90 show audio frequency band using RDFT ((Inverse) Real Discrete Fourier Transform)
91 @end table
93 Default value is "video", if video is not present or cannot be played
94 "rdft" is automatically selected.
96 You can interactively cycle through the available show modes by
97 pressing the key @key{w}.
99 @item -vf @var{filtergraph}
100 Create the filtergraph specified by @var{filtergraph} and use it to
101 filter the video stream.
103 @var{filtergraph} is a description of the filtergraph to apply to
104 the stream, and must have a single video input and a single video
105 output. In the filtergraph, the input is associated to the label
106 @code{in}, and the output to the label @code{out}. See the
107 ffmpeg-filters manual for more information about the filtergraph
108 syntax.
110 You can specify this parameter multiple times and cycle through the specified
111 filtergraphs along with the show modes by pressing the key @key{w}.
113 @item -af @var{filtergraph}
114 @var{filtergraph} is a description of the filtergraph to apply to
115 the input audio.
116 Use the option "-filters" to show all the available filters (including
117 sources and sinks).
119 @item -i @var{input_url}
120 Read @var{input_url}.
121 @end table
123 @section Advanced options
124 @table @option
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 shown by default, unless the
129 log level is lower than @code{info}. Its display can be forced by manually
130 specifying this option. To disable it, you need to specify @code{-nostats}.
132 @item -fast
133 Non-spec-compliant optimizations.
134 @item -genpts
135 Generate pts.
136 @item -sync @var{type}
137 Set the master clock to audio (@code{type=audio}), video
138 (@code{type=video}) or external (@code{type=ext}). Default is audio. The
139 master clock is used to control audio-video synchronization. Most media
140 players use audio as master clock, but in some cases (streaming or high
141 quality broadcast) it is necessary to change that. This option is mainly
142 used for debugging purposes.
143 @item -ast @var{audio_stream_specifier}
144 Select the desired audio stream using the given stream specifier. The stream
145 specifiers are described in the @ref{Stream specifiers} chapter. If this option
146 is not specified, the "best" audio stream is selected in the program of the
147 already selected video stream.
148 @item -vst @var{video_stream_specifier}
149 Select the desired video 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" video stream is selected.
152 @item -sst @var{subtitle_stream_specifier}
153 Select the desired subtitle stream using the given stream specifier. The stream
154 specifiers are described in the @ref{Stream specifiers} chapter. If this option
155 is not specified, the "best" subtitle stream is selected in the program of the
156 already selected video or audio stream.
157 @item -autoexit
158 Exit when video is done playing.
159 @item -exitonkeydown
160 Exit if any key is pressed.
161 @item -exitonmousedown
162 Exit if any mouse button is pressed.
164 @item -codec:@var{media_specifier} @var{codec_name}
165 Force a specific decoder implementation for the stream identified by
166 @var{media_specifier}, which can assume the values @code{a} (audio),
167 @code{v} (video), and @code{s} subtitle.
169 @item -acodec @var{codec_name}
170 Force a specific audio decoder.
172 @item -vcodec @var{codec_name}
173 Force a specific video decoder.
175 @item -scodec @var{codec_name}
176 Force a specific subtitle decoder.
178 @item -autorotate
179 Automatically rotate the video according to file metadata. Enabled by
180 default, use @option{-noautorotate} to disable it.
182 @item -framedrop
183 Drop video frames if video is out of sync. Enabled by default if the master
184 clock is not set to video. Use this option to enable frame dropping for all
185 master clock sources, use @option{-noframedrop} to disable it.
187 @item -infbuf
188 Do not limit the input buffer size, read as much data as possible from the
189 input as soon as possible. Enabled by default for realtime streams, where data
190 may be dropped if not read in time. Use this option to enable infinite buffers
191 for all inputs, use @option{-noinfbuf} to disable it.
193 @item -filter_threads @var{nb_threads}
194 Defines how many threads are used to process a filter pipeline. Each pipeline
195 will produce a thread pool with this many threads available for parallel
196 processing. The default is 0 which means that the thread count will be
197 determined by the number of available CPUs.
199 @item -enable_vulkan
200 Use vulkan renderer rather than SDL builtin renderer. Depends on libplacebo.
202 @item -vulkan_params
204 Vulkan configuration using a list of @var{key}=@var{value} pairs separated by
205 ":".
207 @item -hwaccel
208 Use HW accelerated decoding. Enable this option will enable vulkan renderer
209 automatically.
211 @end table
213 @section While playing
215 @table @key
216 @item q, ESC
217 Quit.
219 @item f
220 Toggle full screen.
222 @item p, SPC
223 Pause.
225 @item m
226 Toggle mute.
228 @item 9, 0
229 @item /, *
230 Decrease and increase volume respectively.
232 @item a
233 Cycle audio channel in the current program.
235 @item v
236 Cycle video channel.
238 @item t
239 Cycle subtitle channel in the current program.
241 @item c
242 Cycle program.
244 @item w
245 Cycle video filters or show modes.
247 @item s
248 Step to the next frame.
250 Pause if the stream is not already paused, step to the next video
251 frame, and pause.
253 @item left/right
254 Seek backward/forward 10 seconds.
256 @item down/up
257 Seek backward/forward 1 minute.
259 @item page down/page up
260 Seek to the previous/next chapter.
261 or if there are no chapters
262 Seek backward/forward 10 minutes.
264 @item right mouse click
265 Seek to percentage in file corresponding to fraction of width.
267 @item left mouse double-click
268 Toggle full screen.
270 @end table
272 @c man end
274 @include config.texi
275 @ifset config-all
276 @set config-readonly
277 @ifset config-avutil
278 @include utils.texi
279 @end ifset
280 @ifset config-avcodec
281 @include codecs.texi
282 @include bitstream_filters.texi
283 @end ifset
284 @ifset config-avformat
285 @include formats.texi
286 @include protocols.texi
287 @end ifset
288 @ifset config-avdevice
289 @include devices.texi
290 @end ifset
291 @ifset config-swresample
292 @include resampler.texi
293 @end ifset
294 @ifset config-swscale
295 @include scaler.texi
296 @end ifset
297 @ifset config-avfilter
298 @include filters.texi
299 @end ifset
300 @include general_contents.texi
301 @end ifset
303 @chapter See Also
305 @ifhtml
306 @ifset config-all
307 @url{ffplay.html,ffplay},
308 @end ifset
309 @ifset config-not-all
310 @url{ffplay-all.html,ffmpeg-all},
311 @end ifset
312 @url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe},
313 @url{ffmpeg-utils.html,ffmpeg-utils},
314 @url{ffmpeg-scaler.html,ffmpeg-scaler},
315 @url{ffmpeg-resampler.html,ffmpeg-resampler},
316 @url{ffmpeg-codecs.html,ffmpeg-codecs},
317 @url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
318 @url{ffmpeg-formats.html,ffmpeg-formats},
319 @url{ffmpeg-devices.html,ffmpeg-devices},
320 @url{ffmpeg-protocols.html,ffmpeg-protocols},
321 @url{ffmpeg-filters.html,ffmpeg-filters}
322 @end ifhtml
324 @ifnothtml
325 @ifset config-all
326 ffplay(1),
327 @end ifset
328 @ifset config-not-all
329 ffplay-all(1),
330 @end ifset
331 ffmpeg(1), ffprobe(1),
332 ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
333 ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
334 ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
335 @end ifnothtml
337 @include authors.texi
339 @ignore
341 @setfilename ffplay
342 @settitle FFplay media player
344 @end ignore
346 @bye