-h | -- print basic options | help |
-L | Show license. | help + man |
-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 |
-stats (global) | print progress report during encoding | 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 |
-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 |
-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 |