HANDBRAKECLI:(1)
β¨ NAME β¨
Okay bestie, this is the HANDBRAKECLI(1) manual page from the User Commands section π It's all about HandBrakeCLI, a versatile DVD ripper and video transcoder that lives in the command line π
π DESCRIPTION π
The basic vibe is:
HandBrakeCLI [options] -i <device> -o <file>
So you pass in your options, a -i input device, and a -o output file π¦
π General Handbrake Options π
-h,--helpβ Need a hand? This prints the help text π-u,--updateβ Checks for updates and then exits πΈ-v,--verbose <#>β Makes HandBrake extra chatty. The optional argument sets the logging level π’-Z. --preset <string>β Uses a built-in preset. Capitalization matters, so be careful π§ If the preset name has spaces, wrap it in double quotation marks π-z,--preset-listβ Shows you a list of all the built-in presets π--no-dvdnavβ Tells HandBrake not to use dvdnav for reading DVDs. This one is experimental, and dvdnav is enabled by default for testing β οΈ
π¬ Source Options π¬
-i,--input <string>β Sets the input device π-t,--title <number>β Picks which title to encode. Use0to scan all titles only. The default is1β¨--min-durationβ Sets the minimum title duration in seconds. Anything shorter won't get scanned. The default is10β±οΈ--scanβ Scans the selected title only π--main-featureβ Detects and selects the main feature title π-c,--chapters <string>β Picks chapters. Use something like"1-3"for chapters 1 to 3, or"3"for just chapter 3. The default is all chapters π--angle <number>β Selects the DVD angle π₯--previews <#:B>β Decides how many preview images get generated (max 30) and whether they're stored to disk. The0or1at the end is the on/off switch for storing them. The default is10:0πΌοΈ--start-at-preview <#>β Starts encoding at a given preview π--start-at <unit:#>β Starts encoding at a given frame, duration (in seconds), or pts (on a 90kHz clock) β―οΈ--stop-at <unit:#>β Stops encoding at a given frame, duration (in seconds), or pts (on a 90kHz clock) π
π¦ Destination Options π¦
-o,--output <string>β Sets the output file name πΎ-f,--format <string>β Sets the output format, either mp4 or mkv. By default it's autodetected from the file name ποΈ-m,--markersβ Adds chapter markers. This only works for mp4 and mkv output formats π-4,--large-fileβ Uses 64-bit mp4 files that can hold more than 4 GB πͺ
Heads up bestie: this one breaks iPod and PS3 compatibility π
-O,--optimizeβ Optimizes mp4 files for HTTP streaming π-I,--ipod-atomβ Marks mp4 files so 5.5G iPods will accept them π§
π₯ Video Options π₯
-e,--encoder <string>β Sets the video library encoder. Your options arex264/ffmpeg4/ffmpeg2/theora, and the default isffmpeg4π¨--x264-preset <string>β When you're using x264, this picks the x264 preset. Your choices areultrafast / superfast / veryfast / faster / fast / medium / slow / slower / veryslow / placeboπ--x264-tune <string>β When you're using x264, this picks the x264 tuning. Your choices arefilm / animation / grain / stillimage / psnr / ssim / fastdecode / zerolatencyπ§-x,--encopts <string>β Lets you specify advanced encoder options in the same style as mencoder. This is for x264 and ffmpeg only, and it looks likeoption1=value1:option2=value2π§--x264-profile <string>β When you're using x264, this makes sure the output follows the h.264 profile you pick. Your choices arebaseline / main / high / high10 / high422 / high444π-q,--quality <number>β Sets the video quality β¨-b,--vb <kb/s>β Sets the video bitrate. The default is1000πΆ-2,--two-passβ Uses two-pass mode π―-T,--turboβ When you're using 2-pass, this uses the turbo options on the first pass to speed things up. It only works with x264, it affects PSNR by about 0.05dB, and it makes the first pass two to four times faster ποΈ-r,--rateβ Sets the video framerate. Your choices are5 / 10 / 12 / 15 / 23.976 / 24 / 25 / 29.97 / 30 / 50 / 59.94 / 60ποΈ
Watch out: if you don't specify a framerate, HandBrake keeps the source's time stamps, which can end up making variable framerate video π
--vfr,--cfr,--pfrβ These pick your frame rate control style. Pick one:--vfris variable frame rate and it preserves the source timing π--cfris constant frame rate. The output sticks to the rate you give with-r, or the source's average rate if you don't use-rπ--pfris peak-limited frame rate. It won't let the rate go over the rate you set with-r, but it won't change the source timing if the source is already below that rate ποΈ
If you don't give any of these flags, the default is --cfr when you use -r, and --vfr otherwise π
π Audio Options π
-a,--audio <string>β Picks your audio track(s), separated by commas. Use"none"for no audio, or"1,2,3"for multiple tracks. The default is the first one. You can make multiple output tracks from one input πΆ-E,--aencoder <string>β Sets your audio encoder(s). Your options are:faacffaaccopy:aacffac3copy:ac3copy:dtscopy:dtshdlamecopy:mp3vorbisffflaccopy
copy:* passes the matching audio through unmodified to the muxer, as long as it's a supported passthrough audio type. Separate with commas if you have more than one audio track. The default is faac for mp4 and lame for mkv π€
--audio-copy-mask <string>β Sets which audio codecs are allowed when you use thecopyaudio encoder option. Choose fromaac/ac3/dts/dtshd/mp3, and the default is all of them. Separate with commas for multiple allowed options π‘οΈ--audio-fallback <string>β Sets the audio codec to use when it's not possible to copy an audio track without re-encoding π-B,--ab <kb/s>β Sets audio bitrate(s). The default depends on the selected codec, mixdown, and samplerate. Separate with commas for more than one audio track π»-Q,--aq <quality>β Sets the audio quality metric. The default depends on the selected codec. Separate with commas for more than one audio track ποΈ-C,--ac <compression>β Sets the audio compression metric. The default depends on the selected codec. Separate with commas for more than one audio track ποΈ-6,--mixdown <string>β Picks the format(s) for surround sound downmixing. Separate with commas for more than one audio track. Your choices aremono/stereo/dpl1/dpl2/6ch. The default is up to6chfor ac3, and up todpl2for other encoders π-R,--arateβ Sets audio samplerate(s), choosing from22.05/24/32/44.1/48 kHz. Separate with commas for more than one audio track πΌ-D,--drc <float>β Adds extra dynamic range compression to the audio, which makes soft sounds louder π The range is1.0to4.0, but4.0is too loud. The useful range is1.5 - 2.5. Separate with commas for more than one audio track π--gain <float>β Amplifies or attenuates the audio before encoding. Values are in dB. Negative values attenuate and positive values amplify. A 1 dB difference is barely audible π
Important: this does NOT work with audio passthru (copy) π ββοΈ
-A,--aname <string>β Names your audio track(s). Separate with commas for more than one audio track π·οΈ--subtitle-burned <number>β okay so this one burns the picked subtitle straight into the video track π₯ Skipnumberand the first track gets burned. Andnumberis just an index into the list you gave with--subtitleπ§--subtitle-default <number>β flags the chosen subtitle as the default one that pops up when the video plays π No default set means no subtitle shows up automatically. Skipnumberand the first track becomes the default.numberis an index into the--subtitlelist too β¨-N,--native-language <string>β your language preference, bestie πΈ If the first audio track isn't in your native language, it grabs the first subtitle that is. Pair it with--native-duband the audio track wins over subtitles π Pass an iso639-2 code likefre,eng,spa,dut, et cetera π«Ά--native-dubβ goes with--native-languageand it's giving main character energy π If no audio tracks are selected, the default audio track becomes the first one that matches your--native-language. No matching audio tracks? Then the first matching subtitle track steps in instead π¦--srt-file <string>β SubRip SRT filename(s), separated by commas π--srt-codeset <string>β the character codeset(s) your SRT files are encoded in, separated by commas π Runiconv -lfor a list of valid codesets. If you don't specify one,latin1is assumed π--srt-offset <string>β an offset in milli-seconds to apply to the SRT files, separated by commas β±οΈ Not specified? Zero is assumed. Offsets may be negative, so don't panic if you see a minus sign π--srt-lang <string>β the language for the SRT files, as an iso639-2 code (fra,eng,spa, et cetera), separated by commas π«π· Not specified? Thenundgets used π€·--srt-default <number>β flags the selected SRT as the default subtitle that shows on playback π No default means no subtitle gets displayed automatically. Ifnumberis omitted, the first SRT is the default.numberis a 1 based index into the--srt-filelist π―
Okay that's the whole page, bestie! π Thanks for sticking with me through all the subtitle drama π This one's from HandBrakeCLI 0.9.8, dated October 2012, so it's a whole vintage queen π slay forever π¦π
π¦ where this page comes from
- debian bookworm: handbrake-cli 1.6.1+ds1-1 Β· GPL-2.0-or-later
- debian trixie: handbrake-cli 1.9.2+ds1-1 Β· GPL-2.0-or-later
- ubuntu jammy: handbrake-cli 1.5.1+ds1-1build1 Β· GPL-2.0-or-later
- ubuntu noble: handbrake-cli 1.7.2+ds1-1build2 Β· GPL-2.0-or-later
- ubuntu questing: handbrake-cli 1.9.2+ds1-1build1
- ubuntu resolute: handbrake-cli 1.11.0~us1-0ubuntu1 Β· GPL-2.0-or-later
- ubuntu stonking: handbrake-cli 1.11.2+ds1-1build1 Β· GPL-2.0-or-later
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms