]> git.sesse.net Git - ffmpeg/blob - doc/ffplay.texi
Merge commit '17ba719d9ba30c970f65747f42d5fbb1e447ca28'
[ffmpeg] / 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_number}
128 Select the desired audio stream number, counting from 0. The number
129 refers to the list of all the input audio streams. If it is greater
130 than the number of audio streams minus one, then the last one is
131 selected, if it is negative the audio playback is disabled.
132 @item -vst @var{video_stream_number}
133 Select the desired video stream number, counting from 0. The number
134 refers to the list of all the input video streams. If it is greater
135 than the number of video streams minus one, then the last one is
136 selected, if it is negative the video playback is disabled.
137 @item -sst @var{subtitle_stream_number}
138 Select the desired subtitle stream number, counting from 0. The number
139 refers to the list of all the input subtitle streams. If it is greater
140 than the number of subtitle streams minus one, then the last one is
141 selected, if it is negative the subtitle rendering is disabled.
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 presentation 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