Commit | Line | Data |
---|---|---|
2ba45a60 DM |
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. | |
f6fa7814 DM |
40 | @item -fs |
41 | Start in fullscreen mode. | |
2ba45a60 DM |
42 | @item -an |
43 | Disable audio. | |
44 | @item -vn | |
45 | Disable video. | |
f6fa7814 DM |
46 | @item -sn |
47 | Disable subtitles. | |
2ba45a60 DM |
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 | ||
2ba45a60 DM |
116 | @item -fast |
117 | Non-spec-compliant optimizations. | |
118 | @item -genpts | |
119 | Generate pts. | |
2ba45a60 DM |
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 -threads @var{count} | |
f6fa7814 DM |
128 | Set the thread count. By default, @command{ffplay} automatically detects a |
129 | suitable number of threads to use. | |
2ba45a60 DM |
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 -autoexit | |
146 | Exit when video is done playing. | |
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 | |
f6fa7814 DM |
167 | Automatically rotate the video according to presentation metadata. Enabled by |
168 | default, use @option{-noautorotate} to disable it. | |
169 | ||
170 | @item -framedrop | |
171 | Drop video frames if video is out of sync. Enabled by default if the master | |
172 | clock is not set to video. Use this option to enable frame dropping for all | |
173 | master clock sources, use @option{-noframedrop} to disable it. | |
174 | ||
175 | @item -infbuf | |
176 | Do not limit the input buffer size, read as much data as possible from the | |
177 | input as soon as possible. Enabled by default for realtime streams, where data | |
178 | may be dropped if not read in time. Use this option to enable infinite buffers | |
179 | for all inputs, use @option{-noinfbuf} to disable it. | |
180 | ||
2ba45a60 DM |
181 | @end table |
182 | ||
183 | @section While playing | |
184 | ||
185 | @table @key | |
186 | @item q, ESC | |
187 | Quit. | |
188 | ||
189 | @item f | |
190 | Toggle full screen. | |
191 | ||
192 | @item p, SPC | |
193 | Pause. | |
194 | ||
195 | @item a | |
196 | Cycle audio channel in the current program. | |
197 | ||
198 | @item v | |
199 | Cycle video channel. | |
200 | ||
201 | @item t | |
202 | Cycle subtitle channel in the current program. | |
203 | ||
204 | @item c | |
205 | Cycle program. | |
206 | ||
207 | @item w | |
208 | Cycle video filters or show modes. | |
209 | ||
210 | @item s | |
211 | Step to the next frame. | |
212 | ||
213 | Pause if the stream is not already paused, step to the next video | |
214 | frame, and pause. | |
215 | ||
216 | @item left/right | |
217 | Seek backward/forward 10 seconds. | |
218 | ||
219 | @item down/up | |
220 | Seek backward/forward 1 minute. | |
221 | ||
222 | @item page down/page up | |
223 | Seek to the previous/next chapter. | |
224 | or if there are no chapters | |
225 | Seek backward/forward 10 minutes. | |
226 | ||
227 | @item mouse click | |
228 | Seek to percentage in file corresponding to fraction of width. | |
229 | ||
230 | @end table | |
231 | ||
232 | @c man end | |
233 | ||
234 | @include config.texi | |
235 | @ifset config-all | |
236 | @set config-readonly | |
237 | @ifset config-avutil | |
238 | @include utils.texi | |
239 | @end ifset | |
240 | @ifset config-avcodec | |
241 | @include codecs.texi | |
242 | @include bitstream_filters.texi | |
243 | @end ifset | |
244 | @ifset config-avformat | |
245 | @include formats.texi | |
246 | @include protocols.texi | |
247 | @end ifset | |
248 | @ifset config-avdevice | |
249 | @include devices.texi | |
250 | @end ifset | |
251 | @ifset config-swresample | |
252 | @include resampler.texi | |
253 | @end ifset | |
254 | @ifset config-swscale | |
255 | @include scaler.texi | |
256 | @end ifset | |
257 | @ifset config-avfilter | |
258 | @include filters.texi | |
259 | @end ifset | |
260 | @end ifset | |
261 | ||
262 | @chapter See Also | |
263 | ||
264 | @ifhtml | |
265 | @ifset config-all | |
266 | @url{ffplay.html,ffplay}, | |
267 | @end ifset | |
268 | @ifset config-not-all | |
269 | @url{ffplay-all.html,ffmpeg-all}, | |
270 | @end ifset | |
271 | @url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver}, | |
272 | @url{ffmpeg-utils.html,ffmpeg-utils}, | |
273 | @url{ffmpeg-scaler.html,ffmpeg-scaler}, | |
274 | @url{ffmpeg-resampler.html,ffmpeg-resampler}, | |
275 | @url{ffmpeg-codecs.html,ffmpeg-codecs}, | |
276 | @url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters}, | |
277 | @url{ffmpeg-formats.html,ffmpeg-formats}, | |
278 | @url{ffmpeg-devices.html,ffmpeg-devices}, | |
279 | @url{ffmpeg-protocols.html,ffmpeg-protocols}, | |
280 | @url{ffmpeg-filters.html,ffmpeg-filters} | |
281 | @end ifhtml | |
282 | ||
283 | @ifnothtml | |
284 | @ifset config-all | |
285 | ffplay(1), | |
286 | @end ifset | |
287 | @ifset config-not-all | |
288 | ffplay-all(1), | |
289 | @end ifset | |
290 | ffmpeg(1), ffprobe(1), ffserver(1), | |
291 | ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1), | |
292 | ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1), | |
293 | ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1) | |
294 | @end ifnothtml | |
295 | ||
296 | @include authors.texi | |
297 | ||
298 | @ignore | |
299 | ||
300 | @setfilename ffplay | |
301 | @settitle FFplay media player | |
302 | ||
303 | @end ignore | |
304 | ||
305 | @bye |