Merge commit '041caf1a63f091745b95a6d51c23fbdcb604d4ce'
[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 -an
41 Disable audio.
42 @item -vn
43 Disable video.
44 @item -ss @var{pos}
45 Seek to a given position in seconds.
46 @item -t @var{duration}
47 play <duration> seconds of audio/video
48 @item -bytes
49 Seek by bytes.
50 @item -nodisp
51 Disable graphical display.
52 @item -f @var{fmt}
53 Force format.
54 @item -window_title @var{title}
55 Set window title (default is the input filename).
56 @item -loop @var{number}
57 Loops movie playback <number> times. 0 means forever.
58 @item -showmode @var{mode}
59 Set the show mode to use.
60 Available values for @var{mode} are:
61 @table @samp
62 @item 0, video
63 show video
64 @item 1, waves
65 show audio waves
66 @item 2, rdft
67 show audio frequency band using RDFT ((Inverse) Real Discrete Fourier Transform)
68 @end table
69
70 Default value is "video", if video is not present or cannot be played
71 "rdft" is automatically selected.
72
73 You can interactively cycle through the available show modes by
74 pressing the key @key{w}.
75
76 @item -vf @var{filtergraph}
77 Create the filtergraph specified by @var{filtergraph} and use it to
78 filter the video stream.
79
80 @var{filtergraph} is a description of the filtergraph to apply to
81 the stream, and must have a single video input and a single video
82 output. In the filtergraph, the input is associated to the label
83 @code{in}, and the output to the label @code{out}. See the
84 ffmpeg-filters manual for more information about the filtergraph
85 syntax.
86
87 You can specify this parameter multiple times and cycle through the specified
88 filtergraphs along with the show modes by pressing the key @key{w}.
89
90 @item -af @var{filtergraph}
91 @var{filtergraph} is a description of the filtergraph to apply to
92 the input audio.
93 Use the option "-filters" to show all the available filters (including
94 sources and sinks).
95
96 @item -i @var{input_file}
97 Read @var{input_file}.
98 @end table
99
100 @section Advanced options
101 @table @option
102 @item -pix_fmt @var{format}
103 Set pixel format.
104 This option has been deprecated in favor of private options, try -pixel_format.
105
106 @item -stats
107 Print several playback statistics, in particular show the stream
108 duration, the codec parameters, the current position in the stream and
109 the audio/video synchronisation drift. It is on by default, to
110 explicitly disable it you need to specify @code{-nostats}.
111
112 @item -bug
113 Work around bugs.
114 @item -fast
115 Non-spec-compliant optimizations.
116 @item -genpts
117 Generate pts.
118 @item -rtp_tcp
119 Force RTP/TCP protocol usage instead of RTP/UDP. It is only meaningful
120 if you are streaming with the RTSP protocol.
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 -threads @var{count}
129 Set the thread count.
130 @item -ast @var{audio_stream_number}
131 Select the desired audio stream number, counting from 0. The number
132 refers to the list of all the input audio streams. If it is greater
133 than the number of audio streams minus one, then the last one is
134 selected, if it is negative the audio playback is disabled.
135 @item -vst @var{video_stream_number}
136 Select the desired video stream number, counting from 0. The number
137 refers to the list of all the input video streams. If it is greater
138 than the number of video streams minus one, then the last one is
139 selected, if it is negative the video playback is disabled.
140 @item -sst @var{subtitle_stream_number}
141 Select the desired subtitle stream number, counting from 0. The number
142 refers to the list of all the input subtitle streams. If it is greater
143 than the number of subtitle streams minus one, then the last one is
144 selected, if it is negative the subtitle rendering is disabled.
145 @item -noautoexit
146 Do not exit after playback is finished.
147 @item -exitonkeydown
148 Exit if any key is pressed.
149 @item -exitonmousedown
150 Exit if any mouse button is pressed.
151
152 @item -codec:@var{media_specifier} @var{codec_name}
153 Force a specific decoder implementation for the stream identified by
154 @var{media_specifier}, which can assume the values @code{a} (audio),
155 @code{v} (video), and @code{s} subtitle.
156
157 @item -acodec @var{codec_name}
158 Force a specific audio decoder.
159
160 @item -vcodec @var{codec_name}
161 Force a specific video decoder.
162
163 @item -scodec @var{codec_name}
164 Force a specific subtitle decoder.
165
166 @item -autorotate
167 Automatically rotate the video according to presentation metadata. Set by
168 default, use -noautorotate to disable.
169 @end table
170
171 @section While playing
172
173 @table @key
174 @item q, ESC
175 Quit.
176
177 @item f
178 Toggle full screen.
179
180 @item p, SPC
181 Pause.
182
183 @item a
184 Cycle audio channel in the current program.
185
186 @item v
187 Cycle video channel.
188
189 @item t
190 Cycle subtitle channel in the current program.
191
192 @item c
193 Cycle program.
194
195 @item w
196 Cycle video filters or show modes.
197
198 @item s
199 Step to the next frame.
200
201 Pause if the stream is not already paused, step to the next video
202 frame, and pause.
203
204 @item left/right
205 Seek backward/forward 10 seconds.
206
207 @item down/up
208 Seek backward/forward 1 minute.
209
210 @item page down/page up
211 Seek to the previous/next chapter.
212 or if there are no chapters
213 Seek backward/forward 10 minutes.
214
215 @item mouse click
216 Seek to percentage in file corresponding to fraction of width.
217
218 @end table
219
220 @c man end
221
222 @include config.texi
223 @ifset config-all
224 @set config-readonly
225 @ifset config-avutil
226 @include utils.texi
227 @end ifset
228 @ifset config-avcodec
229 @include codecs.texi
230 @include bitstream_filters.texi
231 @end ifset
232 @ifset config-avformat
233 @include formats.texi
234 @include protocols.texi
235 @end ifset
236 @ifset config-avdevice
237 @include devices.texi
238 @end ifset
239 @ifset config-swresample
240 @include resampler.texi
241 @end ifset
242 @ifset config-swscale
243 @include scaler.texi
244 @end ifset
245 @ifset config-avfilter
246 @include filters.texi
247 @end ifset
248 @end ifset
249
250 @chapter See Also
251
252 @ifhtml
253 @ifset config-all
254 @url{ffplay.html,ffplay},
255 @end ifset
256 @ifset config-not-all
257 @url{ffplay-all.html,ffmpeg-all},
258 @end ifset
259 @url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
260 @url{ffmpeg-utils.html,ffmpeg-utils},
261 @url{ffmpeg-scaler.html,ffmpeg-scaler},
262 @url{ffmpeg-resampler.html,ffmpeg-resampler},
263 @url{ffmpeg-codecs.html,ffmpeg-codecs},
264 @url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters},
265 @url{ffmpeg-formats.html,ffmpeg-formats},
266 @url{ffmpeg-devices.html,ffmpeg-devices},
267 @url{ffmpeg-protocols.html,ffmpeg-protocols},
268 @url{ffmpeg-filters.html,ffmpeg-filters}
269 @end ifhtml
270
271 @ifnothtml
272 @ifset config-all
273 ffplay(1),
274 @end ifset
275 @ifset config-not-all
276 ffplay-all(1),
277 @end ifset
278 ffmpeg(1), ffprobe(1), ffserver(1),
279 ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1),
280 ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1),
281 ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1)
282 @end ifnothtml
283
284 @include authors.texi
285
286 @ignore
287
288 @setfilename ffplay
289 @settitle FFplay media player
290
291 @end ignore
292
293 @bye