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