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 15ffplay [@var{options}] [@file{input_url}] 16 17@chapter Description 18@c man begin DESCRIPTION 19 20FFplay is a very simple and portable media player using the FFmpeg 21libraries and the SDL library. It is mostly used as a testbed for the 22various 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} 34Force displayed width. 35@item -y @var{height} 36Force displayed height. 37@item -fs 38Start in fullscreen mode. 39@item -an 40Disable audio. 41@item -vn 42Disable video. 43@item -sn 44Disable subtitles. 45@item -ss @var{pos} 46Seek to @var{pos}. Note that in most formats it is not possible to seek 47exactly, so @command{ffplay} will seek to the nearest seek point to 48@var{pos}. 49 50@var{pos} must be a time duration specification, 51see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}. 52@item -t @var{duration} 53Play @var{duration} seconds of audio/video. 54 55@var{duration} must be a time duration specification, 56see @ref{time duration syntax,,the Time duration section in the ffmpeg-utils(1) manual,ffmpeg-utils}. 57@item -bytes 58Seek by bytes. 59@item -seek_interval 60Set custom interval, in seconds, for seeking using left/right keys. Default is 10 seconds. 61@item -nodisp 62Disable graphical display. 63@item -noborder 64Borderless window. 65@item -alwaysontop 66Window always on top. Available on: X11 with SDL >= 2.0.5, Windows SDL >= 2.0.6. 67@item -volume 68Set the startup volume. 0 means silence, 100 means no volume reduction or 69amplification. Negative values are treated as 0, values above 100 are treated 70as 100. 71@item -f @var{fmt} 72Force format. 73@item -window_title @var{title} 74Set window title (default is the input filename). 75@item -left @var{title} 76Set the x position for the left of the window (default is a centered window). 77@item -top @var{title} 78Set the y position for the top of the window (default is a centered window). 79@item -loop @var{number} 80Loops movie playback <number> times. 0 means forever. 81@item -showmode @var{mode} 82Set the show mode to use. 83Available values for @var{mode} are: 84@table @samp 85@item 0, video 86show video 87@item 1, waves 88show audio waves 89@item 2, rdft 90show audio frequency band using RDFT ((Inverse) Real Discrete Fourier Transform) 91@end table 92 93Default value is "video", if video is not present or cannot be played 94"rdft" is automatically selected. 95 96You can interactively cycle through the available show modes by 97pressing the key @key{w}. 98 99@item -vf @var{filtergraph} 100Create the filtergraph specified by @var{filtergraph} and use it to 101filter the video stream. 102 103@var{filtergraph} is a description of the filtergraph to apply to 104the stream, and must have a single video input and a single video 105output. In the filtergraph, the input is associated to the label 106@code{in}, and the output to the label @code{out}. See the 107ffmpeg-filters manual for more information about the filtergraph 108syntax. 109 110You can specify this parameter multiple times and cycle through the specified 111filtergraphs along with the show modes by pressing the key @key{w}. 112 113@item -af @var{filtergraph} 114@var{filtergraph} is a description of the filtergraph to apply to 115the input audio. 116Use the option "-filters" to show all the available filters (including 117sources and sinks). 118 119@item -i @var{input_url} 120Read @var{input_url}. 121@end table 122 123@section Advanced options 124@table @option 125@item -stats 126Print several playback statistics, in particular show the stream 127duration, the codec parameters, the current position in the stream and 128the audio/video synchronisation drift. It is shown by default, unless the 129log level is lower than @code{info}. Its display can be forced by manually 130specifying this option. To disable it, you need to specify @code{-nostats}. 131 132@item -fast 133Non-spec-compliant optimizations. 134@item -genpts 135Generate pts. 136@item -sync @var{type} 137Set the master clock to audio (@code{type=audio}), video 138(@code{type=video}) or external (@code{type=ext}). Default is audio. The 139master clock is used to control audio-video synchronization. Most media 140players use audio as master clock, but in some cases (streaming or high 141quality broadcast) it is necessary to change that. This option is mainly 142used for debugging purposes. 143@item -ast @var{audio_stream_specifier} 144Select the desired audio stream using the given stream specifier. The stream 145specifiers are described in the @ref{Stream specifiers} chapter. If this option 146is not specified, the "best" audio stream is selected in the program of the 147already selected video stream. 148@item -vst @var{video_stream_specifier} 149Select the desired video stream using the given stream specifier. The stream 150specifiers are described in the @ref{Stream specifiers} chapter. If this option 151is not specified, the "best" video stream is selected. 152@item -sst @var{subtitle_stream_specifier} 153Select the desired subtitle stream using the given stream specifier. The stream 154specifiers are described in the @ref{Stream specifiers} chapter. If this option 155is not specified, the "best" subtitle stream is selected in the program of the 156already selected video or audio stream. 157@item -autoexit 158Exit when video is done playing. 159@item -exitonkeydown 160Exit if any key is pressed. 161@item -exitonmousedown 162Exit if any mouse button is pressed. 163 164@item -codec:@var{media_specifier} @var{codec_name} 165Force a specific decoder implementation for the stream identified by 166@var{media_specifier}, which can assume the values @code{a} (audio), 167@code{v} (video), and @code{s} subtitle. 168 169@item -acodec @var{codec_name} 170Force a specific audio decoder. 171 172@item -vcodec @var{codec_name} 173Force a specific video decoder. 174 175@item -scodec @var{codec_name} 176Force a specific subtitle decoder. 177 178@item -autorotate 179Automatically rotate the video according to file metadata. Enabled by 180default, use @option{-noautorotate} to disable it. 181 182@item -framedrop 183Drop video frames if video is out of sync. Enabled by default if the master 184clock is not set to video. Use this option to enable frame dropping for all 185master clock sources, use @option{-noframedrop} to disable it. 186 187@item -infbuf 188Do not limit the input buffer size, read as much data as possible from the 189input as soon as possible. Enabled by default for realtime streams, where data 190may be dropped if not read in time. Use this option to enable infinite buffers 191for all inputs, use @option{-noinfbuf} to disable it. 192 193@item -filter_threads @var{nb_threads} 194Defines how many threads are used to process a filter pipeline. Each pipeline 195will produce a thread pool with this many threads available for parallel 196processing. The default is 0 which means that the thread count will be 197determined by the number of available CPUs. 198 199@end table 200 201@section While playing 202 203@table @key 204@item q, ESC 205Quit. 206 207@item f 208Toggle full screen. 209 210@item p, SPC 211Pause. 212 213@item m 214Toggle mute. 215 216@item 9, 0 217@item /, * 218Decrease and increase volume respectively. 219 220@item a 221Cycle audio channel in the current program. 222 223@item v 224Cycle video channel. 225 226@item t 227Cycle subtitle channel in the current program. 228 229@item c 230Cycle program. 231 232@item w 233Cycle video filters or show modes. 234 235@item s 236Step to the next frame. 237 238Pause if the stream is not already paused, step to the next video 239frame, and pause. 240 241@item left/right 242Seek backward/forward 10 seconds. 243 244@item down/up 245Seek backward/forward 1 minute. 246 247@item page down/page up 248Seek to the previous/next chapter. 249or if there are no chapters 250Seek backward/forward 10 minutes. 251 252@item right mouse click 253Seek to percentage in file corresponding to fraction of width. 254 255@item left mouse double-click 256Toggle full screen. 257 258@end table 259 260@c man end 261 262@include config.texi 263@ifset config-all 264@set config-readonly 265@ifset config-avutil 266@include utils.texi 267@end ifset 268@ifset config-avcodec 269@include codecs.texi 270@include bitstream_filters.texi 271@end ifset 272@ifset config-avformat 273@include formats.texi 274@include protocols.texi 275@end ifset 276@ifset config-avdevice 277@include devices.texi 278@end ifset 279@ifset config-swresample 280@include resampler.texi 281@end ifset 282@ifset config-swscale 283@include scaler.texi 284@end ifset 285@ifset config-avfilter 286@include filters.texi 287@end ifset 288@include general_contents.texi 289@end ifset 290 291@chapter See Also 292 293@ifhtml 294@ifset config-all 295@url{ffplay.html,ffplay}, 296@end ifset 297@ifset config-not-all 298@url{ffplay-all.html,ffmpeg-all}, 299@end ifset 300@url{ffmpeg.html,ffmpeg}, @url{ffprobe.html,ffprobe}, 301@url{ffmpeg-utils.html,ffmpeg-utils}, 302@url{ffmpeg-scaler.html,ffmpeg-scaler}, 303@url{ffmpeg-resampler.html,ffmpeg-resampler}, 304@url{ffmpeg-codecs.html,ffmpeg-codecs}, 305@url{ffmpeg-bitstream-filters.html,ffmpeg-bitstream-filters}, 306@url{ffmpeg-formats.html,ffmpeg-formats}, 307@url{ffmpeg-devices.html,ffmpeg-devices}, 308@url{ffmpeg-protocols.html,ffmpeg-protocols}, 309@url{ffmpeg-filters.html,ffmpeg-filters} 310@end ifhtml 311 312@ifnothtml 313@ifset config-all 314ffplay(1), 315@end ifset 316@ifset config-not-all 317ffplay-all(1), 318@end ifset 319ffmpeg(1), ffprobe(1), 320ffmpeg-utils(1), ffmpeg-scaler(1), ffmpeg-resampler(1), 321ffmpeg-codecs(1), ffmpeg-bitstream-filters(1), ffmpeg-formats(1), 322ffmpeg-devices(1), ffmpeg-protocols(1), ffmpeg-filters(1) 323@end ifnothtml 324 325@include authors.texi 326 327@ignore 328 329@setfilename ffplay 330@settitle FFplay media player 331 332@end ignore 333 334@bye 335