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