Man page - handbrakecli(1)
Packages contains this manual
Manual
HANDBRAKE
NAMESYNOPSIS
DESCRIPTION
SEE ALSO
NAME
HandBrake - manual page for HandBrake 1.9.2
SYNOPSIS
HandBrakeCLI [ options ] -i <source> -o <destination>
DESCRIPTION
General Options
--------------------------------------------------------------
-h
,
--help
Print help
--version
Print version
|
--json |
Log title, progress, and version info in JSON format |
-v , --verbose [= number ]
Be verbose (optional argument: logging level)
-Z , --preset <string>
Select preset by name (case-sensitive) Enclose names containing spaces in double quotation marks (e.g. "Preset Name")
-z , --preset-list
List available presets
--preset-import-file <filespec>
Import presets from a json preset file. āfilespecā may be a list of files separated by spaces, or it may use shell wildcards.
--preset-import-gui
Import presets from GUI config preset file.
--preset-export <string>
Create a new preset from command line options and write a json representation of the preset to the console or a file if ā--preset-export-fileā is specified. The required argument will be the name of the new preset.
--preset-export-file <filename>
Write new preset generated by ā--preset-exportā to file āfilenameā.
--preset-export-description <string>
Add a description to the new preset created with ā--preset-exportā
--queue-import-file <filename>
Import an encode queue file created by the GUI
--no-dvdnav
Do not use dvdnav for reading DVDs
Source Options
---------------------------------------------------------------
-i
,
--input
<string>
Set input file or device ("source")
-t , --title <number>
Select a title to encode (0 to scan all titles only, default: 1)
--min-duration
Set the minimum title duration (in seconds). Shorter titles will be ignored (default: 10).
|
--scan |
Scan selected title only. |
--main-feature
Detect and select the main feature title.
--keep-duplicate-titles
Keep duplicate titles when scanning (Blu-ray only)
-c , --chapters <string> Select chapters (e.g. "1-3" for chapters
1 to 3 or "3" for chapter 3 only, default: all chapters)
--angle <number>
Select the video angle (DVD or Blu-ray only)
--previews <number:boolean>
Select how many preview images are generated, and whether to store to disk (0 or 1). (default: 10:0)
--start-at-preview <number>
Start encoding at a given preview.
--start-at <string:number>
Start encoding at a given offset in seconds, frames, or pts (on a 90kHz clock) (e.g. seconds:10, frames:300, pts:900000). Units must match --stop-at units, if specified.
--stop-at
<string:number> Stop encoding after a given duration in seconds, frames, or pts (on a 90kHz clock) has passed (e.g. seconds:10, frames:300, pts:900000). Duration is relative to --start-at , if specified. Units must match --start-at units, if specified.
Destination Options ----------------------------------------------------------
|
-o , --output <filename> Set destination file name |
-f , --format <string>
Select container format: av_mp4 av_mkv av_webm
default: auto-detected from destination file name)
-m , --markers
Add chapter markers
--no-markers
Disable preset chapter markers
-O , --optimize
Optimize MP4 files for HTTP streaming (fast start, s.s. rewrite file to place MOOV atom at beginning)
--no-optimize
Disable preset āoptimizeā
-I , --ipod-atom
Add iPod 5G compatibility atom to MP4 container
--no-ipod-atom
Disable iPod 5G atom
--align-av
Add audio silence or black video frames to start of streams so that all streams start at exactly the same time
--inline-parameter-sets Create adaptive streaming compatible output.
Inserts parameter sets (SPS and PPS) inline in the video stream before each IDR.
Video Options
----------------------------------------------------------------
-e
,
--encoder
<string>
Select video encoder: svt_av1 svt_av1_10bit ffv1 x264 x264_10bit x265 x265_10bit x265_12bit mpeg4 mpeg2 VP8 VP9 VP9_10bit theora
--encoder-preset <string>
Adjust video encoding settings for a particular speed/efficiency tradeoff (encoder-specific)
--encoder-preset-list <string>
List supported --encoder-preset values for the specified video encoder
--encoder-tune <string>
Adjust video encoding settings for a particular type of source or situation (encoder-specific)
--encoder-tune-list <string>
List supported --encoder-tune values for the specified video encoder
-x , --encopts <string>
Specify advanced encoding options in the same style as mencoder (all encoders except theora): option1=value1:option2=value2
--encoder-profile <string>
Ensure compliance with the requested codec profile (encoder-specific)
--encoder-profile-list <string>
List supported --encoder-profile values for the specified video encoder
--encoder-level <string>
Ensures compliance with the requested codec level (encoder-specific)
--encoder-level-list <string>
List supported --encoder-level values for the specified video encoder
-q , --quality <float>
Set video quality (e.g. 22.0)
-b , --vb <number>
Set video bitrate in kbit/s (default: 1000)
--multi-pass
Use multi-pass mode
--no-multi-pass
Disable multi-pass mode
-T , --turbo
When using multi-pass use "turbo" options on the first pass to improve speed (works with x264 and x265)
--no-turbo
Disable 2-pass modeās "turbo" first pass
-r , --rate <float>
Set video framerate (5/10/12/15/20/23.976/24/25/29.97/ 30/48/50/59.94/60/72/75/90/100/120 or a number between 1 and 1000). Be aware that not specifying a framerate lets HandBrake preserve a sourceās time stamps, potentially creating variable framerate video
--vfr , --cfr , --pfr
Select variable, constant or peak-limited frame rate control. VFR preserves the source timing. CFR makes the output constant rate at the rate given by the -r flag (or the sourceās average rate if no -r is given). PFR doesnāt allow the rate to go over the rate specified with the -r flag but wonāt change the source timing if itās below that rate. If none of these flags are given, the default is --pfr when -r is given and --vfr otherwise
--enable-hw-decoding <string>
Use ānvdecā to enable NVDec
--disable-hw-decoding
Disable hardware decoding of the video track, forcing software decoding instead
Audio Options
----------------------------------------------------------------
--audio-lang-list
<string>
Specify a comma separated list of audio languages you would like to select from the source title. By default, the first audio matching each language will be added to your output. Provide the languageās ISO 639-2 code (e.g. fre, eng, spa, dut, et cetera) Use code āanyā to match all languages.
--all-audio
Select all audio tracks matching languages in the specified language list ( --audio-lang-list ). Any language if list is not specified.
--first-audio
Select first audio track matching languages in the specified language list ( --audio-lang-list ). Any language if list is not specified.
-a , --audio <string>
Select audio track(s), separated by commas ("none" for no audio, "1,2,3" for multiple tracks, default: first one). Multiple output tracks can be used for one input.
-E , --aencoder <string> Select audio encoder(s):
none fdk_aac fdk_haac av_aac copy:aac ac3 copy:ac3 eac3 copy:eac3 truehd copy:truehd copy:dts copy:dtshd copy:mp2 mp3 copy:mp3 opus copy:opus vorbis copy:vorbis flac16 flac24 copy:flac alac16 alac24 copy:alac copy
"copy:<type>" will enable passthru of the
corresponding audio track without modification if passthru is supported for the audio type. Separate tracks by commas. Defaults:
|
av_mp4 |
fdk_aac |
|||
|
av_mkv |
fdk_aac |
av_webm
opus
--audio-copy-mask <string>
Set audio codecs that are permitted when the "copy" audio encoder option is specified (aac/ac3/eac3/truehd/dts/dtshd/mp2/mp3/opus/vorbis/flac/alac) Separated by commas for multiple allowed options.
--audio-fallback <string>
Set audio codec to use when it is not possible to copy an audio track without re-encoding.
-B , --ab <number>
Set audio track bitrate(s) in kbit/s. (default: determined by the selected codec, mixdown, and samplerate combination). Separate tracks by commas.
-Q , --aq <float>
Set audio quality metric. Separate tracks by commas.
-C , --ac <float>
Set audio compression metric. (available depending on selected codec) Separate tracks by commas.
-6 , --mixdown <string>
Format(s) for audio downmixing/upmixing: mono left_only right_only stereo dpl1 dpl2 5point1 6point1 7point1 5_2_lfe
Separate tracks by commas.
Defaults:
|
none |
up to dpl2 |
fdk_aac
up to 7point1
fdk_haac
up to 7point1
|
av_aac |
up to 7point1 |
|||
|
ac3 |
up to 5point1 |
|||
|
eac3 |
up to 5point1 |
|||
|
truehd |
up to 5point1 |
|||
|
mp3 |
up to dpl2 |
|||
|
opus |
up to 7point1 |
|||
|
vorbis |
up to dpl2 |
|||
|
flac16 |
up to 7point1 |
|||
|
flac24 |
up to 7point1 |
|||
|
alac16 |
up to 7point1 |
|||
|
alac24 |
up to 7point1 |
--normalize-mix
Normalize audio mix levels to prevent clipping.
<string>
Separate tracks by commas. 0 = Disable Normalization (default) 1 = Enable Normalization
-R , --arate
Set audio samplerate(s) (8/11.025/12/16/22.05/24/32/44.1/48/88.2/96/176.4/192 kHz) or "auto". Separate tracks by commas.
-D , --drc <float>
Apply extra dynamic range compression to the audio, making soft sounds louder. Range is 1.0 to 4.0 (too loud), with 1.5 - 2.5 being a useful range. Separate tracks by commas.
--gain <float>
Amplify or attenuate audio before encoding. Does NOT work with audio passthru (copy). Values are in dB. Negative values attenuate, positive values amplify. A 1 dB difference is barely audible.
--adither <string>
Select dithering to apply before encoding audio: auto (default) none rectangular triangular triangular_hp lipshitz_ns
Separate tracks by commas.
Supported by encoder(s):
flac16
-A , --aname <string>
Set audio track name(s). Separate tracks by commas.
Picture Options
--------------------------------------------------------------
-w
,
--width
<number> Set storage width in pixels
-l , --height <number>
Set storage height in pixels
--crop-mode <string> auto|conservative|none|custom
Choose which crop mode to operate in. Default: auto unless --crop is set in which case custom
|
--crop |
<top:bottom:left:right> Set picture cropping in pixels (default: automatically remove black bars) |
--crop-threshold-pixels <number>
Number of pixels difference before we consider the frame to be a different aspect ratio (default: 9)
--crop-threshold-frames <number>
Number of frames that must be different to trigger smart crop (default: 4, 6 or 8 scaling with preview count)
-Y , --maxHeight <number>
Set maximum height in pixels
-X , --maxWidth
<number> Set maximum width in pixels
--non-anamorphic
Set pixel aspect ratio to 1:1
--auto-anamorphic
Store pixel aspect ratio that maximizes storage resolution
--loose-anamorphic
Store pixel aspect ratio that is as close as possible to the source video pixel aspect ratio
--custom-anamorphic
Store pixel aspect ratio in video stream and directly control all parameters.
--display-width <number>
Set display width in pixels, for custom anamorphic. This determines the display aspect during playback, which may differ from the storage aspect.
--keep-display-aspect
Preserve the sourceās display aspect ratio when using custom anamorphic
--no-keep-display-aspect
Disable preset ākeep-display-aspectā
--pixel-aspect <par_x:par_y>
Set pixel aspect for custom anamorphic ( --display-width and --pixel-aspect are mutually exclusive.
--itu-par
Use wider ITU pixel aspect values for loose and custom anamorphic, useful with underscanned sources
--no-itu-par
Disable preset āitu-parā
--modulus <number>
Set storage width and height modulus Dimensions will be made divisible by this number. (default: set by preset, typically 2)
-M , --color-matrix <string>
Set the color space signaled by the output: Overrides color signalling with no conversion.
|
2020 |
709 601 ntsc (same as 601) pal |
(default: auto-detected from source)
Filters Options
--------------------------------------------------------------
--comb-detect
[=
string
]
Detect interlace artifacts in frames. If not accompanied by the decomb or deinterlace filters, this filter only logs the interlaced frame count to the activity log. If accompanied by the decomb or deinterlace filters, it causes these filters to selectively deinterlace only those frames where interlacing is detected. Presets:
permissive
fast
Custom Format:
mode=m:spatial-metric=s:motion-thresh=m: spatial-thresh=s:filter-mode=f:block-thresh=b: block-width=b:block-height=b:disable=d
Default:
mode=3:spatial-metric=2:motion-thresh=1: spatial-thresh=1:filter-mode=2:block-thresh=40: block-width=16:block-height=16
--no-comb-detect
Disable preset comb-detect filter
-d , --deinterlace [= string ]
Deinterlace video using FFmpeg yadif. Presets:
skip-spatial
bob
Custom Format:
mode=m:parity=p
Default:
mode=3
--no-deinterlace
Disable preset deinterlace filter
--bwdif [= string ]
Deinterlace video using FFmpeg bwdif. Presets:
|
bob |
Custom Format: |
mode=m:parity=p
Default:
mode=3
--no-bwdif
Disable preset bwdif deinterlace filter
-5 , --decomb [= string ]
Deinterlace video using a combination of yadif, blend, cubic, or EEDI2 interpolation. Presets:
|
bob |
eedi2 eedi2bob |
Custom Format:
mode=m:magnitude-thresh=m:variance-thresh=v: laplacian-thresh=l:dilation-thresh=d: erosion-thresh=e:noise-thresh=n: search-distance=s:postproc=p:parity=p
Default:
mode=7
--no-decomb
Disable preset decomb filter
-9 , --detelecine [= string ]
Detelecine (ivtc) video with pullup filter Note: this filter drops duplicate frames to restore the pre-telecine framerate, unless you specify a constant framerate ( --rate 29.97 --cfr ) Custom Format:
skip-left=s:skip-right=s:skip-top=s:
skip-bottom=s:strict-breaks=s:plane=p:parity=p: disable=d
Default:
skip-left=1:skip-right=1:skip-top=4: skip-bottom=4:plane=0
--no-detelecine
Disable preset detelecine filter
-8 , --hqdn3d [= string ]
Denoise video with hqdn3d filter Presets:
ultralight
light medium strong
Custom Format:
y-spatial=y:cb-spatial=c:cr-spatial=c: y-temporal=y:cb-temporal=c:cr-temporal=c
Default:
y-spatial=3:cb-spatial=2:cr-spatial=2: y-temporal=2:cb-temporal=3:cr-temporal=3
--no-hqdn3d
Disable preset hqdn3d filter
--denoise [= string ]
Legacy alias for ā--hqdn3dā
--nlmeans [= string ]
Denoise video with NLMeans filter Presets:
ultralight
light medium strong
Custom Format:
y-strength=y:y-origin-tune=y:y-patch-size=y: y-range=y:y-frame-count=y:y-prefilter=y: cb-strength=c:cb-origin-tune=c:cb-patch-size=c: cb-range=c:cb-frame-count=c:cb-prefilter=c: cr-strength=c:cr-origin-tune=c:cr-patch-size=c: cr-range=c:cr-frame-count=c:cr-prefilter=c: threads=t
Default:
y-strength=6:y-origin-tune=1:y-patch-size=7: y-range=3:y-frame-count=2:y-prefilter=0: cb-strength=6:cb-origin-tune=1:cb-patch-size=7: cb-range=3:cb-frame-count=2:cb-prefilter=0
--no-nlmeans
Disable preset NLMeans filter
--nlmeans-tune <string> Tune NLMeans filter to content type
Tunes:
|
none |
film grain highmotion animation tape sprite |
Applies to NLMeans presets only (does not affect
custom settings)
--chroma-smooth [= string ]
Sharpen video with chroma smooth filter Presets:
ultralight
light medium strong stronger verystrong
Custom Format:
cb-strength=c:cb-size=c:cr-strength=c:cr-size=c
Default:
cb-strength=1.2:cb-size=7
--no-chroma-smooth
Disable preset chroma smooth filter
--chroma-smooth-tune <string> Tune chroma smooth filter
Tunes:
|
none |
tiny small medium wide verywide |
Applies to chroma smooth presets only (does
not affect custom settings)
--unsharp [= string ]
Sharpen video with unsharp filter Presets:
ultralight
light medium strong stronger verystrong
Custom Format:
y-strength=y:y-size=y:cb-strength=c:cb-size=c: cr-strength=c:cr-size=c
Default:
y-strength=0.25:y-size=7:cb-strength=0.25: cb-size=7
--no-unsharp
Disable preset unsharp filter
--unsharp-tune <string> Tune unsharp filter
Tunes:
|
none |
ultrafine fine medium coarse verycoarse |
Applies to unsharp presets only (does not affect
custom settings)
--lapsharp [= string ]
Sharpen video with lapsharp filter Presets:
ultralight
light medium strong stronger verystrong
Custom Format:
y-strength=y:y-kernel=y:cb-strength=c: cb-kernel=c:cr-strength=c:cr-kernel=c
Default:
y-strength=0.2:y-kernel=isolap:cb-strength=0.2: cb-kernel=isolap
--no-lapsharp
Disable preset lapsharp filter
--lapsharp-tune <string>
Tune lapsharp filter Tunes:
|
none |
film grain animation sprite |
Applies to lapsharp presets only (does not affect
custom settings)
-7 , --deblock [= string ]
Deblock video with avfilter deblock Presets:
ultralight
light medium strong stronger verystrong
Custom Format:
strength=s:thresh=t:blocksize=b:disable=d
Default:
strength=strong:thresh=20
--no-deblock
Disable preset deblock filter
--deblock-tune <string>
Tune deblock filter Tunes:
|
small |
medium large |
Applies to deblock presets only (does not affect
custom settings)
--rotate [= string ]
Rotate image or flip its axes. angle rotates clockwise, can be one of:
0, 90, 180, 270
hflip=1 flips the image on the x axis (horizontally). Custom Format:
angle=a:hflip=h:disable=d
Default:
angle=180:hflip=0
--pad <string>
Pad image with borders (e.g. letterbox). The padding color may be set (default black). Color may be an HTML color name or RGB value. The position of image in pad may also be set. Custom Format:
width=w:height=h:color=c:x=x:y=y:top=t:bottom=b:
left=l:right=r
--colorspace <string>
Convert colorspace, transfer characteristics or color primaries. Presets:
|
bt2020 |
bt709 bt601-6-525 bt601-6-625 |
Custom Format:
primaries=p:transfer=t:matrix=m:range=r: tonemap=t:param=p:desat=d:npl=n
-g , --grayscale
Grayscale encoding
--no-grayscale
Disable preset āgrayscaleā
Subtitles
Options
------------------------------------------------------------
--subtitle-lang-list
<string>
Specify a comma separated list of subtitle languages you would like to select from the source title. By default, the first subtitle matching each language will be added to your output. Provide the languageās ISO 639-2 code (e.g. fre, eng, spa, dut, et cetera)
--all-subtitles
Select all subtitle tracks matching languages in the specified language list ( --subtitle-lang-list ). Any language if list is not specified.
--first-subtitle
Select first subtitle track matching languages in the specified language list ( --subtitle-lang-list ). Any language if list is not specified.
-s , --subtitle <string>
Select subtitle track(s), separated by commas More than one output track can be used for one input. "none" for no subtitles. Example: "1,2,3" for multiple tracks. A special track name "scan" adds an extra first pass. This extra pass scans subtitles matching the language of the first audio or the language selected by --native-language . The one thatās only used 10 percent of the time or less is selected. This should locate subtitles for short foreign language segments. Best used in conjunction with --subtitle-forced .
-S , --subname <string>
Set subtitle track name(s). Separate tracks by commas.
-F , --subtitle-forced [= string ]
Only display subtitles from the selected stream if the subtitle has the forced flag set. The values in āstringā are indexes into the subtitle list specified with ā--subtitleā. Separate tracks by commas. Example: "1,2,3" for multiple tracks. If "string" is omitted, the first track is forced.
--subtitle-burned[ = number , "native", or "none"]
"Burn" the selected subtitle into the video track. If "subtitle" is omitted, the first track is burned. "subtitle" is an index into the subtitle list specified with ā--subtitleā or "native" to burn the subtitle track that may be added by the ānative-languageā option.
--subtitle-default[ = number or "none"]
Flag the selected subtitle as the default subtitle to be displayed upon playback. Setting no default means no subtitle will be displayed automatically. ānumberā is an index into the subtitle list specified with ā--subtitleā. "none" may be used to override an automatically selected default subtitle track.
-N , --native-language <string>
Specify your language preference. When the first audio track does not match your native language then select the first subtitle that does. When used in conjunction with --native-dub the audio track is changed in preference to subtitles. Provide the languageās ISO 639-2 code (e.g. fre, eng, spa, dut, et cetera)
--native-dub
Used in conjunction with --native-language requests that if no audio tracks are selected the default selected audio track will be the first one that matches the --native-language . If there are no matching audio tracks then the first matching subtitle track is used instead.
--srt-file <string>
SubRip SRT filename(s), separated by commas.
--srt-codeset <string>
Character codeset(s) that the SRT file(s) are encoded as, separated by commas. If not specified, ālatin1ā is assumed. Command āiconv -l ā provides a list of valid codesets.
--srt-offset <string> Offset (in milliseconds) to apply to the SRT
file(s), separated by commas. If not specified, zero is assumed. Offsets may be negative.
--srt-lang <string>
SRT track language as an ISO 639-2 code (e.g. fre, eng, spa, dut, et cetera) If not specified, then āundā is used. Separate by commas.
--srt-default [= number ]
Flag the selected SRT as the default subtitle to be displayed during playback. Setting no default means no subtitle will be automatically displayed. If ānumberā is omitted, the first SRT is the default. ānumberā is a 1-based index into the āsrt-fileā list
--srt-burn [= number ]
"Burn" the selected SRT subtitle into the video track. If ānumberā is omitted, the first SRT is burned. ānumberā is a 1-based index into the āsrt-fileā list
--ssa-file <string>
SubStationAlpha SSA filename(s), separated by commas.
--ssa-offset <string> Offset (in milliseconds) to apply to the SSA
file(s), separated by commas. If not specified, zero is assumed. Offsets may be negative.
--ssa-lang <string>
SSA track language as an ISO 639-2 code (e.g. fre, eng, spa, dut, et cetera) If not specified, then āundā is used. Separate by commas.
--ssa-default [= number ]
Flag the selected SSA as the default subtitle to be displayed during playback. Setting no default means no subtitle will be automatically displayed. If ānumberā is omitted, the first SSA is the default. ānumberā is a 1-based index into the āssa-fileā list
--ssa-burn [= number ]
"Burn" the selected SSA subtitle into the video track. If ānumberā is omitted, the first SSA is burned. ānumberā is a 1-based index into the āssa-fileā list
SEE ALSO
The full documentation for HandBrake is maintained as a Texinfo manual. If the info and HandBrake programs are properly installed at your site, the command
info HandBrake
should give you access to the complete manual.