Audio Extraction
Convert video files to audio-only filesRequires ffmpeg and ffprobe
Format to convert the audio to when
-x is usedSupported formats: best, aac, alac, flac, m4a, mp3, opus, vorbis, wavYou can specify multiple rules using similar syntax as --remux-videoExample:Specify ffmpeg audio quality to use when converting the audio with
-xInsert a value between 0 (best) and 10 (worst) for VBR or a specific bitrate like 128KExample:Video Format Conversion
Remux the video into another container if necessarySupported formats:
avi, flv, gif, mkv, mov, mp4, webm, aac, aiff, alac, flac, m4a, mka, mp3, ogg, opus, vorbis, wavIf the target container does not support the video/audio codec, remuxing will fail.You can specify multiple rules; e.g. “aac>m4a/mov>mp4/mkv” will remux aac to m4a, mov to mp4 and anything else to mkvExample:Re-encode the video into another format if necessaryThe syntax and supported formats are the same as
--remux-videoExample:Postprocessor Arguments
Give these arguments to the postprocessorsFormat:
NAME:ARGSSpecify the postprocessor/executable name and the arguments separated by a colon ”:”Supported PP: Merger, ModifyChapters, SplitChapters, ExtractAudio, VideoRemuxer, VideoConvertor, Metadata, EmbedSubtitle, EmbedThumbnail, SubtitlesConvertor, ThumbnailsConvertor, FixupStretched, FixupM4a, FixupM3u8, FixupTimestamp, FixupDurationSupported executables: AtomicParsley, FFmpeg, FFprobeYou can also specify “PP+EXE:ARGS” to give the arguments to the specified executable only when being used by the specified postprocessor.For ffmpeg/ffprobe, “_i”/“_o” can be appended to the prefix optionally followed by a number to pass the argument before the specified input/output file.Alias: --ppaExample:Keep the intermediate video file on disk after post-processing
Delete the intermediate video file after post-processing
Overwrite post-processed files
Do not overwrite post-processed files
Embedding
Embed subtitles in the video (only for mp4, webm and mkv videos)
Do not embed subtitles
Embed thumbnail in the video as cover art
Do not embed thumbnail
Embed metadata to the video fileAlso embeds chapters/infojson if present unless
--no-embed-chapters/--no-embed-info-json are usedAlias: --add-metadataDo not add metadata to fileAlias:
--no-add-metadataAdd chapter markers to the video fileAlias:
--add-chaptersDo not add chapter markersAlias:
--no-add-chaptersEmbed the infojson as an attachment to mkv/mka video files
Do not embed the infojson as an attachment to the video file
Metadata Parsing
Parse additional metadata like title/artist from other fieldsFormat:
[WHEN:]FROM:TOSee “MODIFYING METADATA” for details. Supported values of “WHEN” are the same as that of --use-postprocessor (default: pre_process)Example:Replace text in a metadata field using the given regexFormat:
[WHEN:]FIELDS REGEX REPLACEThis option can be used multiple times. Supported values of “WHEN” are the same as that of --use-postprocessor (default: pre_process)Example:Write metadata to the video file’s xattrs (using Dublin Core and XDG standards)
Playlist Concatenation
Concatenate videos in a playlistValues:
neveralwaysmulti_video(default) - Only when the videos form a single show
--paths and --output to set the output filename for the concatenated files.See “OUTPUT TEMPLATE” for detailsFixup Policy
Automatically correct known faults of the fileValues:
never- Do nothingwarn- Only emit a warningdetect_or_warn(default) - Fix the file if we can, warn otherwiseforce- Try fixing even if the file already exists
FFmpeg Location
Location of the ffmpeg binary; either the path to the binary or its containing directoryExample:
Execute Command
Execute a command, optionally prefixed with when to execute itFormat:
[WHEN:]CMDSupported values of “WHEN” are the same as that of --use-postprocessor (default: after_move)The same syntax as the output template can be used to pass any field as arguments to the command. If no fields are passed, %(filepath,_filename|)q is appended to the end of the command.This option can be used multiple times.Example:Remove any previously defined
--execFormat Conversion
Convert the subtitles to another formatCurrently supported:
ass, lrc, srt, vttUse --convert-subs none to disable conversion (default)Alias: --convert-subtitlesExample:Convert the thumbnails to another formatCurrently supported:
jpg, png, webpYou can specify multiple rules using similar syntax as --remux-video.Use --convert-thumbnails none to disable conversion (default)Example:Chapter Handling
Split video into multiple files based on internal chaptersThe “chapter:” prefix can be used with
--paths and --output to set the output filename for the split files.See “OUTPUT TEMPLATE” for detailsDo not split video based on chapters
Remove chapters whose title matches the given regular expressionThe syntax is the same as
--download-sections. This option can be used multiple times.Example:Do not remove any chapters from the file
Force keyframes at cuts when downloading/splitting/removing sectionsThis is slow due to needing a re-encode, but the resulting video may have fewer artifacts around the cuts
Do not force keyframes around the chapters when cutting/splitting
Custom Postprocessors
The (case-sensitive) name of plugin postprocessors to be enabled, and (optionally) arguments to be passed to itFormat:
NAME[:ARGS]ARGS are a semicolon ”;” delimited list of NAME=VALUE.The “when” argument determines when the postprocessor is invoked. It can be one of:pre_process- After video extractionafter_filter- After video passes filtervideo- After —format; before —print/—outputbefore_dl- Before each video downloadpost_process(default) - After each video downloadafter_move- After moving the video file to its final locationafter_video- After downloading and processing all formats of a videoplaylist- At end of playlist