You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

341 lines
9.3KB

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