handbrake-loader

1.0.2 • Public • Published

handbrake-loader

Build Status npm version npm downloads dependencies Greenkeeper badge

Use HandBrake to Encode/Transcode Video files with Webpack.

Install

$ npm install handbrake-loader --save

Usage

In your webpack.config.js add the handbrake-loader, chained with the file-loader, url-loader or raw-loader:

{
    test: /\.(mov|mkv|avi|mp4)$/,
    use: [
        
        /** file-loader | url-loader | raw-loader **/
        { loader: 'file-loader' },
        
        {
            loader: 'handbrake-loader',
            options: {
                enable: process.env.NODE_ENV === 'production',
                format: 'mp4',
                srtFile: path.resolve(__dirname, 'sample-files/subtitle.srt'),
                srtLang: 'eng',
                srtBurn: 1,
                preset: 'Very Fast 1080p30',
                optimize: true
            }
        }
    ]
}

Options

preset [string]

Select preset by name (case-sensitive) Enclose names containing spaces in double quotation marks (e.g. "Preset Name")

General
Very Fast 1080p30
Small H.264 video (up to 1080p30) and AAC stereo audio, in an MP4 container.
Very Fast 720p30
Small H.264 video (up to 720p30) and AAC stereo audio, in an MP4 container.
Very Fast 576p25
Small H.264 video (up to 576p25) and AAC stereo audio, in an MP4 container.
Very Fast 480p30
Small H.264 video (up to 480p30) and AAC stereo audio, in an MP4 container.
Fast 1080p30
H.264 video (up to 1080p30) and AAC stereo audio, in an MP4 container.
Fast 720p30
H.264 video (up to 720p30) and AAC stereo audio, in an MP4 container.
Fast 576p25
H.264 video (up to 576p25) and AAC stereo audio, in an MP4 container.
Fast 480p30
H.264 video (up to 480p30) and AAC stereo audio, in an MP4 container.
HQ 1080p30 Surround
High quality H.264 video (up to 1080p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container.
HQ 720p30 Surround
High quality H.264 video (up to 720p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container.
HQ 576p25 Surround
High quality H.264 video (up to 576p25), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container.
HQ 480p30 Surround
High quality H.264 video (up to 480p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container.
Super HQ 1080p30 Surround
Super high quality H.264 video (up to 1080p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container.
Super HQ 720p30 Surround
Super high quality H.264 video (up to 720p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container.
Super HQ 576p25 Surround
Super high quality H.264 video (up to 576p25), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container.
Super HQ 480p30 Surround
Super high quality H.264 video (up to 480p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container.
Web
Gmail Large 3 Minutes 720p30
Encode up to 3 minutes of video in large size for Gmail (25 MB or less). H.264 video (up to 720p30) and AAC stereo audio, in an MP4 container.
Gmail Medium 5 Minutes 480p30
Encode up to 5 minutes of video in medium size for Gmail (25 MB or less). H.264 video (up to 480p30) and AAC stereo audio, in an MP4 container.
Gmail Small 10 Minutes 288p30
Encode up to 10 minutes of video in small size for Gmail (25 MB or less). H.264 video (up to 288p30) and AAC mono audio, in an MP4 container.
Devices
Android 1080p30
H.264 video (up to 1080p30) and AAC stereo audio, in an MP4 container. Compatible with Android devices.
Android 720p30
H.264 video (up to 720p30) and AAC stereo audio, in an MP4 container. Compatible with Android devices.
Android 576p25
H.264 video (up to 576p25) and AAC stereo audio, in an MP4 container. Compatible with Android devices.
Android 480p30
H.264 video (up to 480p30) and AAC stereo audio, in an MP4 container. Compatible with Android devices.
Apple 1080p60
Surround H.264 video (up to 1080p60), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container. Compatible with Apple iPad Pro; iPad Air; iPad mini 2nd, 3rd Generation and later; Apple TV 4th Generation and later.
Apple 1080p30
Surround H.264 video (up to 1080p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container. Compatible with Apple iPhone 5, 5S, 6, 6s, and later; iPod touch 6th Generation and later; iPad Pro; iPad Air; iPad 3rd, 4th Generation and later; iPad mini; Apple TV 3rd Generation and later.
Apple 720p30
Surround H.264 video (up to 720p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container. Compatible with Apple iPhone 4 and later; iPod touch 4th, 5th Generation and later; Apple TV 2nd Generation and later.
Apple 540p30
Surround H.264 video (up to 540p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container. Compatible with Apple iPhone 1st Generation, 3G, 3GS, and later; iPod touch 1st, 2nd, 3rd Generation and later; iPod Classic; Apple TV 1st Generation and later.
Apple 240p30
H.264 video (up to 240p30) and AAC stereo audio, in an MP4 container. Compatible with Apple iPod 5th Generation and later.
Chromecast 1080p30
Surround H.264 video (up to 1080p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container. Compatible with Google Chromecast.
Fire TV 1080p30
Surround H.264 video (up to 1080p30), AAC stereo audio, and Dolby Digital (AC-3) audio, in an MP4 container. Compatible with Amazon Fire TV.
Playstation 1080p30
Surround H.264 video (up to 1080p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container. Compatible with Playstation 3 and 4.
Playstation 720p30
H.264 video (up to 720p30) and AAC stereo audio, in an MP4 container. Compatible with Playstation Vita TV.
Playstation 540p30
H.264 video (up to 540p30) and AAC stereo audio, in an MP4 container. Compatible with Playstation Vita.
Roku 2160p60 4K
Surround H.265 video (up to 2160p60), AAC stereo audio, and surround audio, in an MKV container. Compatible with Roku 4.
Roku 2160p30 4K
Surround H.265 video (up to 2160p30), AAC stereo audio, and surround audio, in an MKV container. Compatible with Roku 4.
Roku 1080p30
Surround H.264 video (up to 1080p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container. Compatible with Roku 1080p models.
Roku 720p30
Surround H.264 video (up to 720p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container. Compatible with Roku 720p models.
Roku 576p25
H.264 video (up to 576p25) and AAC stereo audio, in an MP4 container. Compatible with Roku standard definition models.
Roku 480p30
H.264 video (up to 480p30) and AAC stereo audio, in an MP4 container. Compatible with Roku standard definition models.
Windows Mobile 1080p30
H.264 video (up to 1080p30) and AAC stereo audio, in an MP4 container. Compatible with Windows Mobile devices with Qualcomm Snapdragon 800 (MSM8974), S4 (MSM8x30, MSM8960), and better CPUs.
Windows Mobile 720p30
H.264 video (up to 720p30) and AAC stereo audio, in an MP4 container. Compatible with Windows Mobile devices with Qualcomm Snapdragon S4 (MSM8x27), S2 (MSM8x55), S1 (MSM8x50), and better CPUs.
Windows Mobile 540p30
H.264 video (up to 540p30) and AAC stereo audio, in an MP4 container. Compatible with Windows Mobile devices with Qualcomm Snapdragon 200 (MSM8210, MSM8212) and better CPUs.
Windows Mobile 480p30
H.264 video (up to 480p30) and AAC stereo audio, in an MP4 container. Compatible with Windows Mobile devices with Qualcomm Snapdragon S1 (MSM7x27a) and better CPUs.
Xbox 1080p30
Surround H.264 video (up to 1080p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container. Compatible with Xbox One.
Xbox Legacy 1080p30
Surround H.264 video (up to 1080p30), AAC stereo audio, and Dolby Digital (AC-3) surround audio, in an MP4 container. Compatible with Xbox 360.
Matroska
H.264 MKV 1080p30
H.264 video (up to 1080p30) and AAC stereo audio, in an MKV container.
H.264 MKV 720p30
H.264 video (up to 720p30) and AAC stereo audio, in an MKV container.
H.264 MKV 576p25
H.264 video (up to 576p25) and AAC stereo audio, in an MKV container.
H.264 MKV 480p30
H.264 video (up to 480p30) and AAC stereo audio, in an MKV container.
H.265 MKV 1080p30
H.265 video (up to 1080p30) and AAC stereo audio, in an MKV container.
H.265 MKV 720p30
H.265 video (up to 720p30) and AAC stereo audio, in an MKV container.
H.265 MKV 576p25
H.265 video (up to 576p25) and AAC stereo audio, in an MKV container.
H.265 MKV 480p30
H.265 video (up to 480p30) and AAC stereo audio, in an MKV container.
VP8 MKV 1080p30
VP8 video (up to 1080p30) and Vorbis stereo audio, in an MKV container.
VP8 MKV 720p30
VP8 video (up to 720p30) and Vorbis stereo audio, in an MKV container.
VP8 MKV 576p25
VP8 video (up to 576p25) and Vorbis stereo audio, in an MKV container.
VP8 MKV 480p30
VP8 video (up to 480p30) and Vorbis stereo audio, in an MKV container.
VP9 MKV 1080p30
VP9 video (up to 1080p30) and Opus stereo audio, in an MKV container.
VP9 MKV 720p30
VP9 video (up to 720p30) and Opus stereo audio, in an MKV container.
VP9 MKV 576p25
VP9 video (up to 576p25) and Opus stereo audio, in an MKV container.
VP9 MKV 480p30
VP9 video (up to 480p30) and Opus stereo audio, in an MKV container.
Legacy
Normal
Legacy HandBrake 0.10.x H.264 Main Profile preset.
High Profile
Legacy HandBrake 0.10.x H.264 High Profile preset.
Universal
Legacy HandBrake 0.10.x preset including Dolby Digital (AC-3) surround sound and compatible with nearly all Apple devices.
iPod
Legacy HandBrake 0.10.x preset compatible with Apple iPod 5th Generation and later.
iPhone & iPod touch
Legacy HandBrake 0.10.x preset compatible with Apple iPhone 4, iPod touch 3rd Generation, and later devices.
iPad
Legacy HandBrake 0.10.x preset compatible with Apple iPad (all generations).
AppleTV
Legacy HandBrake 0.10.x preset including Dolby Digital (AC-3) surround sound, compatible with Apple TV 1st Generation and later.
AppleTV 2
Legacy HandBrake 0.10.x preset including Dolby Digital (AC-3) surround sound, compatible with Apple TV 2nd Generation and later.
AppleTV 3
Legacy HandBrake 0.10.x preset including Dolby Digital (AC-3) surround sound, compatible with Apple TV 3rd Generation and later.
Android
Legacy HandBrake 0.10.x preset compatible with Android 2.3 and later handheld devices.
Android Tablet
Legacy HandBrake 0.10.x preset compatible with Android 2.3 and later tablets.
Windows Phone 8
Legacy HandBrake 0.10.x preset compatible with most Windows Phone 8 devices.

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-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'

no-dvdnav

Do not use dvdnav for reading DVDs

no-opencl

Disable use of OpenCL

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.

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 duration (in seconds), frame, or pts (on a 90kHz clock) (e.g. duration:10, frame:300, pts:900000)

stop-at [string:number]

Stop encoding at a given duration (in seconds), frame, or pts (on a 90kHz clock) (e.g. duration:10, frame:300, pts:900000)

format [string]

Select container format av_mp4, av_mkv or mp4, mkv

markers

Add chapter markers

no-markers

Disable preset chapter markers

optimize

Optimize MP4 files for HTTP streaming (fast start, s.s. rewrite file to place MOOV atom at beginning)

no-optimize

Disable preset 'optimize'

ipod-atom

Add iPod 5G compatibility atom to MP4 container

no-ipod-atom

Disable iPod 5G atom

use-opencl

Use OpenCL where applicable

encoder [string]

Select video encoder: x264, x265, mpeg4, mpeg2, VP8, VP9, theora

encoder-preset [string]

Adjust video encoding settings for a particular speed/efficiency tradeoff (encoder-specific)

  • x264
  • x265
    • ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo
  • VP8
  • VP9
    • veryfast,faster,fast,medium,slow,slower,veryslow

encoder-tune [string]

Adjust video encoding settings for a particular type of source or situation (encoder-specific)

  • x264
    • film,animation,grain,stillimage,psnr,ssim,fastdecode,zerolatency
  • x265
    • psnr,ssim,grain,zerolatency,fastdecode

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)

  • x264
    • auto,high,main,baseline
  • x265
    • auto,main,mainstillpicture

encoder-level [string]

Ensures compliance with the requested codec level (encoder-specific)

  • x264
    • auto,1.0,1b,1.1,1.2,1.3,2.0,2.1,2.2,3.0,3.1,3.2,4.0,4.1,4.2,5.0,5.1,5.2

quality [float]

Set video quality (e.g. 22.0)

vb [number]

Set video bitrate in kbit/s (default: 1000)

two-pass

Use two-pass mode

no-two-pass

Disable two-pass mode

turbo

When using 2-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

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

More at https://handbrake.fr/docs/en/1.0.0/cli/cli-guide.html

License

MIT © Rafael Milewski

Dependents (0)

Package Sidebar

Install

npm i handbrake-loader

Weekly Downloads

1

Version

1.0.2

License

MIT

Last publish

Collaborators

  • milewski