-h | -- print basic options | help |
-L | Show license. | help + man |
-license | show license | help |
-version | Show version. | help + man |
-muxers | Show available muxers. | help + man |
-demuxers | Show available demuxers. | help + man |
-devices | Show available devices. | help + man |
-decoders | Show available decoders. | help + man |
-encoders | Show all available encoders. | help + man |
-filters | Show available libavfilter filters. | help + man |
-pix_fmts | Show available pixel formats. | help + man |
-layouts | Show channel names and standard channel layouts. | help + man |
-sample_fmts | show available audio sample formats | help + man |
-v loglevel | set logging level | help |
-y (global) | Overwrite output files without asking. | help + man |
-n (global) | Do not overwrite output files, and exit immediately if a specified output file already exists. | help + man |
-print_graphs (global) | Prints execution graph details to stderr in the format set via -print_graphs_format. | help + man |
-print_graphs_file filename | Writes execution graph details to the specified file in the format set via -print_graphs_format. | help + man |
-print_graphs_format format | Sets the output format (available formats are: default, compact, csv, flat, ini, json, xml, mermaid, mermaidhtml) The default format is json. | help + man |
-stats (global) | Log encoding progress/statistics as "info"-level log (see "-loglevel"). | help + man |
-f fmt | force container format (auto-detected otherwise) | help + man |
-t duration | When used as an input option (before "-i"), limit the duration of data read from the input file. | help + man |
-to time_stop | stop transcoding after specified time is reached | help + man |
-ss time_off | When used as an input option (before "-i"), seeks in this input file to position. | help + man |
-metadata :<spec | add metadata | help |
-c :<stream_spec | select encoder/decoder ('copy' to copy stream without reencoding) | help |
-filter :<stream_spec | apply specified filters to audio/video | help |
-r :<stream_spec | override input framerate/convert to given output framerate (Hz value, fraction or abbreviation) | help |
-aspect :<stream_spec | set aspect ratio (4:3, 16:9 or 1.3333, 1.7777) | help |
-vn (input/output) | As an input option, blocks all video streams of a file from being filtered or being automatically selected or mapped for any output. | help + man |
-vcodec codec | alias for -c:v (select encoder/decoder for video streams) | help + man |
-vf filter_graph | Create the filtergraph specified by filtergraph and use it to filter the stream. | help + man |
-b bitrate | video bitrate (please use -b:v) | help |
-aq quality | Set the audio quality (codec-specific, VBR). | help + man |
-ar :<stream_spec | set audio sampling rate (in Hz) | help |
-ac :<stream_spec | set number of audio channels | help |
-an (input/output) | As an input option, blocks all audio streams of a file from being filtered or being automatically selected or mapped for any output. | help + man |
-acodec codec | alias for -c:a (select encoder/decoder for audio streams) | help + man |
-ab bitrate | alias for -b:a (select bitrate for audio streams) | help |
-af filter_graph | Create the filtergraph specified by filtergraph and use it to filter the stream. | help + man |
-sn (input/output) | As an input option, blocks all subtitle streams of a file from being filtered or being automatically selected or mapped for any output. | help + man |
-scodec codec | alias for -c:s (select encoder/decoder for subtitle streams) | help + man |
-buildconf | Show the build configuration, one option per line. (in the manual page but not in --help) | man |
-formats | Show available formats (including devices). (in the manual page but not in --help) | man |
-codecs | Show all codecs known to libavcodec. (in the manual page but not in --help) | man |
-bsfs | Show available bitstream filters. (in the manual page but not in --help) | man |
-protocols | Show available protocols. (in the manual page but not in --help) | man |
-dispositions | Show stream dispositions. (in the manual page but not in --help) | man |
-colors | Show recognized color names. (in the manual page but not in --help) | man |
-report | Dump full command line and log output to a file named "program-YYYYMMDD-HHMMSS.log" in the current directory. (in the manual page but not in --help) | man |
-hide_banner | Suppress printing banner. (in the manual page but not in --help) | man |
-cpuflags flags | Allows setting and clearing cpu flags. (in the manual page but not in --help) | man |
-cpucount count | Override detection of CPU count. (in the manual page but not in --help) | man |
-max_alloc bytes | Set the maximum size limit for allocating a block on the heap by ffmpeg's family of malloc functions. (in the manual page but not in --help) | man |
-i url | input file url (in the manual page but not in --help) | man |
-stream_loop number | Set number of times input stream shall be looped. (in the manual page but not in --help) | man |
-recast_media (global) | Allow forcing a decoder of a different media type than the one detected or designated by the demuxer. (in the manual page but not in --help) | man |
-fs limit_size | Set the file size limit, expressed in bytes. (in the manual page but not in --help) | man |
-sseof position | Like the "-ss" option but relative to the "end of file". (in the manual page but not in --help) | man |
-isync input_index | Assign an input as a sync source. (in the manual page but not in --help) | man |
-itsoffset offset | Set the input time offset. (in the manual page but not in --help) | man |
-itsscale scale | Rescale input timestamps. (in the manual page but not in --help) | man |
-timestamp date | Set the recording timestamp in the container. (in the manual page but not in --help) | man |
-target type | Specify target file type ("vcd", "svcd", "dvd", "dv", "dv50"). (in the manual page but not in --help) | man |
-dn (input/output) | As an input option, blocks all data streams of a file from being filtered or being automatically selected or mapped for any output. (in the manual page but not in --help) | man |
-dframes number | Set the number of data frames to output. (in the manual page but not in --help) | man |
-filter_threads nb_threads | Defines how many threads are used to process a filter pipeline. (in the manual page but not in --help) | man |
-filter_buffered_frames nb_frames | Defines the maximum number of buffered frames allowed in a filtergraph. (in the manual page but not in --help) | man |
-stats_period time | Set period at which encoding progress/statistics are updated. (in the manual page but not in --help) | man |
-progress url | Send program-friendly progress information to url. (in the manual page but not in --help) | man |
-stdin | Enable interaction on standard input. (in the manual page but not in --help) | man |
-debug_ts (global) | Print timestamp/latency information. (in the manual page but not in --help) | man |
-attach filename | Add an attachment to the output file. (in the manual page but not in --help) | man |
-vframes number | Set the number of video frames to output. (in the manual page but not in --help) | man |
-autorotate | Automatically rotate the video according to file metadata. (in the manual page but not in --help) | man |
-autoscale | Automatically scale the video according to the resolution of first frame. (in the manual page but not in --help) | man |
-sws_flags flags | Set default flags for the libswscale library. (in the manual page but not in --help) | man |
-vstats | Dump video coding statistics to vstats_HHMMSS.log. (in the manual page but not in --help) | man |
-vstats_file file | Dump video coding statistics to file. (in the manual page but not in --help) | man |
-vstats_version file | Specify which version of the vstats format to use. (in the manual page but not in --help) | man |
-vtag fourcc/tag | Force video tag/fourcc. (in the manual page but not in --help) | man |
-init_hw_device cuda:1 | Choose the second device on the system. (in the manual page but not in --help) | man |
-filter_hw_device name | Pass the hardware device called name to all filters in any filter graph. (in the manual page but not in --help) | man |
-hwaccels | List all hardware acceleration components enabled in this build of ffmpeg. (in the manual page but not in --help) | man |
-aframes number | Set the number of audio frames to output. (in the manual page but not in --help) | man |
-atag fourcc/tag | Force audio tag/fourcc. (in the manual page but not in --help) | man |
-guess_layout_max channels | If some input channel layout is not known, try to guess only if it corresponds to at most the specified number of channels. (in the manual page but not in --help) | man |
-fix_sub_duration | Fix subtitles durations. (in the manual page but not in --help) | man |
-canvas_size size | Set the size of the canvas used to render subtitles. (in the manual page but not in --help) | man |
-ignore_unknown | Ignore input streams with unknown type instead of failing if copying such streams is attempted. (in the manual page but not in --help) | man |
-copy_unknown | Allow input streams with unknown type to be copied instead of failing if copying such streams is attempted. (in the manual page but not in --help) | man |
-map_chapters input_file_index | Copy chapters from input file with index input_file_index to the next output file. (in the manual page but not in --help) | man |
-benchmark (global) | Show benchmarking information at the end of an encode. (in the manual page but not in --help) | man |
-benchmark_all (global) | Show benchmarking information during the encode. (in the manual page but not in --help) | man |
-timelimit duration | Exit after ffmpeg has been running for duration seconds in CPU user time. (in the manual page but not in --help) | man |
-dump (global) | Dump each input packet to stderr. (in the manual page but not in --help) | man |
-hex (global) | When dumping packets, also dump the payload. (in the manual page but not in --help) | man |
-readrate speed | Limit input read speed. (in the manual page but not in --help) | man |
-re (input) | Read input at native frame rate. (in the manual page but not in --help) | man |
-readrate_initial_burst seconds | Set an initial read burst time, in seconds, after which -re/-readrate will be enforced. (in the manual page but not in --help) | man |
-readrate_catchup speed | If either the input or output is blocked leading to actual read speed falling behind the specified readrate, then this rate takes effect till the input catches up with the specified readrate. (in the manual page but not in --help) | man |
-vsync parameter | [-fps_mode[:stream_specifier] parameter (output,per-stream)](#fps_mode_:) (in the manual page but not in --help) | man |
-frame_drop_threshold parameter | Frame drop threshold, which specifies how much behind video frames can be before they are dropped. (in the manual page but not in --help) | man |
-apad parameters | Pad the output audio stream(s). (in the manual page but not in --help) | man |
-copyts | Do not process input timestamps, but keep their values without trying to sanitize them. (in the manual page but not in --help) | man |
-start_at_zero | When used with copyts, shift input timestamps so they start at zero. (in the manual page but not in --help) | man |
-copytb mode | Specify how to set the encoder timebase when stream copying. (in the manual page but not in --help) | man |
-1 | Try to make the choice automatically, in order to generate a sane output. (in the manual page but not in --help) | man |
-bitexact (input/output) | Enable bitexact mode for (de)muxer and (de/en)coder (in the manual page but not in --help) | man |
-shortest (output) | Finish encoding when the shortest output stream ends. (in the manual page but not in --help) | man |
-shortest_buf_duration duration | The "-shortest" option may require buffering potentially large amounts of data when at least one of the streams is "sparse" (i.e. has large gaps between frames – this is typically the case for… (in the manual page but not in --help) | man |
-dts_delta_threshold threshold | Timestamp discontinuity delta threshold, expressed as a decimal number of seconds. (in the manual page but not in --help) | man |
-dts_error_threshold threshold | Timestamp error delta threshold, expressed as a decimal number of seconds. (in the manual page but not in --help) | man |
-muxdelay seconds | Set the maximum demux-decode delay. (in the manual page but not in --help) | man |
-muxpreload seconds | Set the initial demux-decode delay. (in the manual page but not in --help) | man |
-streamid output-stream-index:new-value | Assign a new stream-id value to an output stream. (in the manual page but not in --help) | man |
-timecode hh:mm:ssSEPff | Specify Timecode for writing. (in the manual page but not in --help) | man |
-filter_complex filtergraph | Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or outputs. (in the manual page but not in --help) | man |
-filter_complex_threads nb_threads | Defines how many threads are used to process a filter_complex graph. (in the manual page but not in --help) | man |
-lavfi filtergraph | Define a complex filtergraph, i.e. one with arbitrary number of inputs and/or outputs. (in the manual page but not in --help) | man |
-accurate_seek (input) | This option enables or disables accurate seeking in input files with the -ss option. (in the manual page but not in --help) | man |
-seek_timestamp (input) | This option enables or disables seeking by timestamp in input files with the -ss option. (in the manual page but not in --help) | man |
-thread_queue_size size | For input, this option sets the maximum number of queued packets when reading from the file or device. (in the manual page but not in --help) | man |
-sdp_file file | Print sdp information for an output stream to file. (in the manual page but not in --help) | man |
-discard (input) | Allows discarding specific streams or frames from streams. (in the manual page but not in --help) | man |
-abort_on flags | Stop and abort on various conditions. (in the manual page but not in --help) | man |
-max_error_rate (global) | Set fraction of decoding frame failures across all inputs which when crossed ffmpeg will return exit code 69. (in the manual page but not in --help) | man |
-xerror (global) | Stop and exit on error (in the manual page but not in --help) | man |
-max_muxing_queue_size packets | When transcoding audio and/or video streams, ffmpeg will not begin writing into the output until it has one packet for each such stream. (in the manual page but not in --help) | man |
-muxing_queue_data_threshold bytes | This is a minimum threshold until which the muxing queue size is not taken into account. (in the manual page but not in --help) | man |
-auto_conversion_filters (global) | Enable automatically inserting format conversion filters in all filter graphs, including those defined by -vf, -af, -filter_complex and -lavfi. (in the manual page but not in --help) | man |