docs: en: Add HandBrake 1.5.0 documentation (duplicate latest).

This commit is contained in:
Bradley Sepos 2022-01-18 04:41:31 -05:00
parent 254c100f34
commit d8d09ce92a
No known key found for this signature in database
GPG Key ID: DEADE2F57D42D9C7
81 changed files with 7119 additions and 1 deletions

View File

@ -0,0 +1,37 @@
---
Type: article
State: [ draft ]
Title: HandBrake History
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
The History of HandBrake
=============================
HandBrake was started in 2003 by “titer”. He continued to be the primary developer through April 2006, when the last official Subversion revision was checked in.
titer continued to be active on the forums for a short time after that, then contact was lost. Since the May/June? 2006 timeframe, nobody in HandBrake circles was been successful in communicating with titer and no further code changes were officially made.
In early August 2006, development work on HandBrake resumed on an unofficial basis. “Banana” from the HandBrake forums posted a message about “HandBrake Extreme”, an optimized build of HandBrake, platform unknown.
Starting September 2006, Rodney Hester and Chris Long were independently working to reverse-engineer Apples new 640×480 H.264 iPod firmware 1.2 format and came together on the forums. Fortunately, their work complemented each others, and they banded together to put together an unstable but compilable release of HandBrake supporting the new format (including Apples new uuid atom).
Since then, considerable progress has been made in terms of stability, functionality, and look-and-feel. Unfortunately, it was not possible to check changes into the m0k Subversion repository for HandBrake without prior authorization, which couldnt be obtained without permission and a reply from titer, which we had not received.
As a result, Rodney Hester created a subversion repository mirroring the 0.7.1 and final Subversion trees from the official HandBrake site and we began building our changes on top of that. This site, along with the development forum, were created to support those efforts.
As of January 26, 2007, our HandBrake fork was officially known as MediaFork.
On February 13, 2007, we finally heard from titer, who was fully in support of our work and encouraged us to continue. We laid plans to reintegrate our projects under the HandBrake banner, relocated our web services to m0k.org, and as of March 2, 2007, all developer and end-user servers had returned to m0k.org. The next code release was officially named HandBrake and will remain so going forward.
Today, HandBrake is hosted by titer and the development team remains in contact; however, he is not active in the day-to-day running or development of the project.

View File

@ -0,0 +1,18 @@
---
Type: article
State: [ draft ]
Title: Audio and Subtitle Defaults
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: []
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
The Icon
=============================

View File

@ -0,0 +1,88 @@
---
Type: article
State: [ draft ]
Title: Audio and Subtitle Defaults
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Audio and Subtitle Defaults
=============================
HandBrake does not store Audio and Subtitle tracks in presets.
Instead, we store behaviour rules for automatically selecting audio and subtitle tracks each time you scan a new source or select a title.
In order to configure the track selection behaviour, click the "Selection Behaviour" button on the Audio or Subtitle Defaults tab.
![Audio Defaults Access Button](../../images/windows/audio-configure-defaults-button-win-1.4.0.png "Audio Defaults Window")
### Audio Defaults
<!-- .system-macos -->
![Audio Defaults Window](../../images/mac/audio-defaults-mac-1.4.0.png "Audio Defaults Window")
<!-- /.system-macos -->
<!-- .system-windows -->
![Audio Defaults Window](../../images/windows/audio-defaults-win-1.4.0.png "Audio Defaults Window")
<!-- /.system-windows -->
- Track Selection Behaviour
- None
- No audio tracks will be automatically added.
- First matching selected Language
- The first track that matches the each of the languages in the "Chosen Languages", otherwise the first track will be selected.
- All matching selected languages
- All the tracks that match the "Chosen Languages".
- Languages
- Select the languages you wish to encode. Note that not all sources will have track languages. You may also have to use the "Unknown" option or "Any" options to have tracks added in that case.
- Auto Passthru
- HandBrake can pass thru several different audio formats. There are separate options the audio encoder dropdown for these. When you select "Auto Passthru", it will pass thru any of those supported types. You can limit what it will automatically passthru. For example, if you only ever want AC3 or DTS passthru, but not any of the other choices, untick the relevant checkboxes.
- Fallback Encoder
- When you have a passthru encoder selected, if the source track format does not match this format, HandBrake will automatically re-encode the track. The fallback encoder is the default encoder it will fallback to.
- Track Layout
- You can define the audio tracks you want added for each language in the track entry panel at the bottom of the window.
- When selecting a passthru encoder, the Bitrate, mixdown, samplerate controls apply to the fallback encoder should that be used instead of the passthru option selected.
### Subtitle Defaults
<!-- .system-macos -->
![Subtitle Defaults Window](../../images/mac/subtitle-defaults-mac-1.4.0.png "Audio Defaults Window")
<!-- /.system-macos -->
<!-- .system-windows -->
![Subtitle Defaults Window](../../images/windows/subtitle-defaults-win-1.4.0.png "Subtitle Defaults Window")
<!-- /.system-windows -->
- Track Selection Behaviour
- None
- No subtitle tracks will be added
- First matching selected Language
- The first subtitle track for each "Chosen Language" will be added, where supported by the output container.
- All matching selected languages
- All subtitle track(s) for each "Chosen Language" will be added, where supported by the output container.
- Burn in Behaviour
HandBrake can burn in 1 subtitle track to an encoded file. There are 3 behavioural options you can choose from for this checkbox to be automatically selected.
- Foreign Audio Scan
- First Track
- Foreign Audio Preferred, else first
- Choose Languages
- Move any languages you are interested in into the "Chosen Languages" list in order to have tracks selected based on the track selection behaviour.
- Add Closed Captions when available
- Close captions are text based subtitles supported by both MP4 and MKV. If you select this option, HandBrake will automatically copy them to the output file.
- Add Foreign Audio Scan
- HandBrake can perform a scan of the source title / file to try and detect if there is a portions of a title that are in a foreign language. If it detects one, it will add the subtitle track automatically.

View File

@ -0,0 +1,48 @@
---
Type: article
State: [ draft ]
Title: Chapter Markers
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Chapter Markers
===============
## Chapters
HandBrake can copy chapter markers from your source to the MP4, MKV, or WebM output file.
In HandBrake, if you click on the Chapters tab, you'll see a list of detected chapters. HandBrake will automatically generate chapter names in the following format: "Chapter n" where n is the chapter number.
![Chapters Tab](../../images/windows/chapters-1.0.0.png "Chapters Tab")
## Renaming chapters
If you wish, you can rename these by simply altering the names shown in the chapters tab.
You can also import or export the set of chapter markers. HandBrake supports importing of CSV (Comma Separated Value) files.
Click the Import button to choose a CSV file. The file must be in the following format:
```
1,Chapter Name
2,Chapter 2 Name
3,Chapter 3 Name
....
```
Finally, you can export the current chapter list to CSV format by clicking the 'export' button.
## Sources without chapters
Unfortunately, HandBrake can not currently add chapter markers if they did not already exist in the source.

View File

@ -0,0 +1,57 @@
---
Type: article
State: [ draft ]
Title: Custom Presets
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Custom Presets
=============================
HandBrake comes with many built-in presets which cover the most common use case scenarios. However there are many scenarios and devices that many not be covered.
On the main window, below the title selection controls, you can click the "Save New Preset" button to create your own preset.
<!-- .system-linux -->
<!-- /.system-linux -->
<!-- .system-macos -->
![macOS Preset Controls](../../images/windows/preset-controls-mac-1.4.0.png "Preset Controls (macOS)")
<!-- /.system-macos -->
<!-- .system-windows -->
![Windows Preset Controls](../../images/windows/preset-controls-win-1.4.0.png "Preset Controls (Windows)")
<!-- /.system-windows -->
When you've pressed this button, you'll see the following window appear:
<!-- .system-macos -->
![macOS Add Preset](../../images/windows/add-preset-mac-1.4.0.png "Add Preset (macOS)")
<!-- /.system-macos -->
<!-- .system-windows -->
![Windows Add Prese](../../images/windows/add-preset-win-1.4.0.png "Add Preset (Windows)")
<!-- /.system-windows -->
Pressing "add" will save a new preset with the details you've entered based on the settings that are currently on the main window.
## Audio and Subtitles Beavhiours
Audio and Subtitle settings are special. The preset does not store selected audio and subtitle tracks from the main window. It uses rules to automatically select them for each new source or title that you selected.
You can modify these rules by editing the settings on the relevant "selection behaviour" screen.
Please note, these rules do not cover all possible use cases. If the behaviours don't meet your requirements, audio and subtitle tracks will need to be handled manually after you've scanned a source.
For more information, please see [Audio and Subtitle Defaults](../workflow/audio-subtitle-defaults.html).
## Default Preset
If you regularly use the same preset, you can make it the default preset that HandBrake starts with by selecting the "Make Default" (macOS) or "Set Current as Default" (Window) option in the presets menu or by using the preset manager accessed via the toolbar.

View File

@ -0,0 +1,22 @@
---
Type: article
State: [ draft ]
Title: Managing Audio Tracks
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Managing Audio Tracks
=============================
Coming Soon!
## Understanding HandBrake's Audio Track Tab

View File

@ -0,0 +1,35 @@
---
Type: article
State: [ draft ]
Title: Point to Point Encoding
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: []
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Point to Point Encoding
=============================
## Understanding your source
DVDs, blu-ray discs and video files can be divided into titles and chapters. Usually a title is a whole feature, like a movie or an episode.
Chapters, then, divide the movie/episode up logically. In a DVD or Blu-ray disc menu, if you use "Scene Selection", you are navigating by chapter.
## Point to Point options
![Point to Point controls](../../images/windows/point-to-point-1.0.0.png "Point to Point controls")
For a given title, you can choose to encode only part of it unstead of the whole thing.
There are three options:
- Chapters,
- Seconds, e.g 60-180 means it will encode 2 minutes of video, starting 1 minute into the title.
- Frames, e.g (25-150) will encode 5 seconds of video if the framerate is 25fps. Starting after the 1st second of video.

View File

@ -0,0 +1,20 @@
---
Type: article
State: [ draft ]
Title: Post Processing
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: []
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Post Processing
=============================
Todo

View File

@ -0,0 +1,177 @@
---
Type: article
Title: Using the Queue
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Using the Queue
===============
Encoding videos takes time, and can use a lot of your computer's computational power.
Luckily, you can set up multiple encodes at once by adding them to HandBrake's `Queue`.
## Adding encodes to the Queue
Begin by [opening a Source, selecting a Title](../workflow/open-video-source.html), and [selecting a Preset](../workflow/select-preset.html). Then select the `Add to Queue` button on the toolbar.
<!-- .system-macos -->
![Adding an encode to the Queue](../../images/mac/add-to-queue-button-1.0.0.png "Select the Add to Queue button on the toolbar to add your encode to the queue.")
<!-- /.system-macos -->
<!-- .system-windows -->
![HandBrake toolbar on Windows](../../images/windows/toolbar-1.0.0.png "Select the Add to Queue button on the toolbar to add your encode to the queue.")
<!-- /.system-windows -->
Select the `Show Queue` button on the toolbar to see the queued encodes, or `Jobs`.
<!-- .system-macos -->
![Opening the Queue window](../../images/mac/queue-button-1.0.0.png "Select the Show Queue button on the toolbar to open the Queue window.")
![Queue window on Mac](../../images/mac/queue-1.0.0.png "The Queue window lists pending Jobs.")
<!-- /.system-macos -->
<!-- .system-windows -->
![HandBrake toolbar on Windows](../../images/windows/toolbar-1.0.0.png "Select the Show Queue button on the toolbar to open the Queue window.")
![Queue window on Windows](../../images/windows/queue-1.0.0.png "The Queue window lists pending Jobs.")
<!-- /.system-windows -->
You may open additional `Sources` and add them to the `Queue` in the same manner.
## Adding multiple encodes simultaneously
When using the `Queue`, you may find it beneficial to create multiple `Jobs` at one time.
<!-- .system-macos -->
On Mac, first open the `Preferences` window using the `HandBrake` menu. In the `General` section, ensure that the `Automatically name output files` setting is selected and `Title` is part of the `Format` field.
![Opening the Preferences window on Mac](../../images/mac/preferences-menu-1.0.0.png "Open the Preferences window using the HandBrake menu.")
![Selecting the Automatically name output files setting](../../images/mac/preferences-auto-naming-1.0.0.png "Select Automatically name output files to ensure unique file names when adding multiple Titles to the Queue.")
This ensures that each of your `Jobs` will be given a unique file name, and not overwrite each other.
<!-- /.system-macos -->
<!-- .system-windows -->
On Windows, first open the `Preferences` window using the `Tools` menu. In the `Output Files` section, ensure that the `Automatically name output files` setting is selected. Set a `Default Path` (where your new videos will be created) and make sure `Title` is part of the `File Format` field.
![Opening the Preferences window on Windows](../../images/windows/preferences-menu-1.0.0.png "Open the Preferences window using the Tools menu.")
![Selecting the Automatically name output files setting](../../images/windows/preferences-auto-naming-1.0.0.png "Set up Automatic File Naming to ensure unique file names when adding multiple Titles to the Queue.")
This ensures that each of your `Jobs` will be given a unique file name, and not overwrite each other.
<!-- /.system-windows -->
If your `Source` is a Blu-ray, DVD, or other disc or disc-like format with multiple `Titles`, you may open it with HandBrake and add multiple `Titles` to the `Queue` simultaneously.
Additionally, you may open a folder of multiple single-`Title` videos (excluding discs and disc-like formats) as one virtual `Source` with multiple `Titles` using the `Open Source` dialog, and then add multiple `Titles` to the `Queue`[^batch-scan-subdirectories].
<!-- .system-macos -->
![Opening a folder containing multiple video Sources](../../images/mac/open-source-dialog-folder-1.0.0.png "The Open Source dialog allows you to select a folder containing multiple video files.")
![Selecting a Title](../../images/mac/title-selection-1.1.0.png "The Title control lets you select which video clip you want to use.")
<!-- /.system-macos -->
<!-- .system-linux -->
On Linux, select `Add Multiple` from the `Queue` menu, then select the `Titles` you wish to encode using the presented dialog. Be sure to give each a unique file name.
<!-- /.system-linux -->
<!-- .system-macos -->
On Mac, select `Add Titles to Queue...` from the `File` menu, then select the `Titles` you wish to encode using the presented dialog.
![Add Titles to Queue menu item](../../images/mac/add-titles-to-queue-menu-1.0.0.png "Select Add Titles to Queue... from the File menu to open a selection dialog.")
![Selecting multiple Titles to add to the Queue](../../images/mac/add-titles-to-queue-1.0.0.png "Select the Titles you wish to encode from the Add Titles to Queue dialog.")
<!-- /.system-macos -->
<!-- .system-windows -->
On Windows, select `All Selection to Queue` from the `Queue` menu to add all `Titles`.
<!-- /.system-windows -->
You may open additional `Sources` and add them to the `Queue` in the same manner.
## Editing Jobs
To make changes to `Jobs` in the `Queue`, first open the `Queue` window by selecting the `Show Queue` button on the toolbar.
<!-- .system-macos -->
![Opening the Queue window](../../images/mac/queue-button-1.0.0.png "Select the Show Queue button on the toolbar to open the Queue window.")
<!-- /.system-macos -->
<!-- .system-windows -->
![HandBrake toolbar on Windows](../../images/windows/toolbar-1.0.0.png "Select the Show Queue button on the toolbar to open the Queue window.")
<!-- /.system-windows -->
To remove a `Job`, select the `` button next to the unwanted `Job`.
<!-- .system-linux -->
On Linux, if you want to make changes to a `Job` already in the `Queue`, select the `Job` and then select `Edit`. Editing a `Job` opens the `Source` in HandBrake's main window and removes the `Job` from the `Queue`.
<!-- /.system-linux -->
<!-- .system-macos -->
On Mac, if you want to make changes to a `Job` already in the `Queue`, control- or right-click on the `Job` and select `Edit`. Editing a `Job` opens the `Source` in HandBrake's main window and removes the `Job` from the `Queue`.
![Editing an encode Job on Mac](../../images/mac/queue-edit-1.0.0.png "Control- or right-click the Job and select Edit to make changes.")
<!-- /.system-macos -->
<!-- .system-windows -->
On Windows, if you want to make changes to a `Job` already in the `Queue`, select the edit button next to the `Job`. Editing a `Job` opens the `Source` in HandBrake's main window and removes the `Job` from the `Queue`.
![Editing an encode Job on Windows](../../images/windows/queue-1.0.0.png "Select the edit button, which looks like a sheet of paper, to make changes to a Job.")
<!-- /.system-windows -->
When you're finished making changes, again add the encode to the `Queue` by selecting the `Add to Queue` button on the toolbar.
<!-- .system-macos -->
![Adding an encode to the Queue](../../images/mac/add-to-queue-button-1.0.0.png "Select the Add to Queue button on the toolbar to add your encode to the queue.")
<!-- /.system-macos -->
<!-- .system-windows -->
![HandBrake toolbar on Windows](../../images/windows/toolbar-1.0.0.png "Select the Add to Queue button on the toolbar to add your encode to the queue.")
<!-- /.system-windows -->
## Starting the Queue
When ready, select the `Start` button on the`Queue` window or the `Start Queue` button on the main window to begin encoding the `Jobs` in the `Queue`.
<!-- .system-macos -->
![Starting the Queue](../../images/mac/start-queue-button-1.0.0.png "The Start Queue button begins encoding the Jobs in the Queue.")
<!-- /.system-macos -->
[^batch-scan-subdirectories]: When opening multiple videos in a folder, HandBrake ignores any additional folders inside. Make sure the videos you wish to open are at the top level of the selected folder.

View File

@ -0,0 +1,54 @@
---
Type: article
State: [ draft ]
Title: Resizing Video
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Resizing Video
=============================
## Picture Settings
The picture settings tab is located on HandBrake's main window and becomes active after you've scanned a source.
![Picture settings tab](../../images/windows/picture-settings-win-1.4.0.png "Picture settings tab")
### Anamorphic
Typically recommended that you leave this on "automatic". If your source is not anamorphic, having this set to an anamorphic option will not affect the output. Thus, it is safe to leave on.
When "Automatic" is selected, HandBrake will maximise the output size of the video, up to the source resolution or set "Resolution Limit".
When "Off" is selected along with unchecking "Optimal Size", you can alter both "width" and "height". Otherwise, the source size, or resolution limit will be used.
When "Custom" is selected, you have full control of the output dimensions.
### Upscaling
While upscaling is NOT recommended, there are some instances where it is useful (i.e. uploading to YouTube). To enable this, check the "Allow upscaling" checkbox.
The "Resolution Limit" will still be honoured.
## Cropping
HandBrake by default will try and detect and crop black bars from the video. Encoding black bars increases the encode time and the amount of disk space required, so it's best to let HandBrake remove them.
HandBrake's auto-crop is not perfect. It's giving you a best guess at what the crop values should be. If you find it gets it wrong, which is not that common, you can adjust them by selecting the "Custom" option.
You can preview the effect of your adjustments by clicking the "Preview" button on the toolbar.
![HandBrake toolbar](../../images/windows/toolbar-win-1.4.0.png "HandBrake toolbar")
The preview window will then appear and will display in real-time any changes you make on the picture settings screen.
If the size of the output exceeds the window size, the preview window will scale it to fit to screen.
![Preview window](../../images/windows/preview-window-1.0.0.jpg "Preview window")

View File

@ -0,0 +1,20 @@
---
Type: article
State: [ draft ]
Title: Subtitle Defaults
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: []
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Subtitle Defaults
=============================
Todo

View File

@ -0,0 +1,80 @@
---
Type: article
State: [ draft ]
Title: Subtitles
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: []
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Subtitles
=========
## Supported Subtitle Formats
There are different types of subtitles that exist:
- Bitmaps (Pictures), e.g. DVD VOBSUBs, Bluray PGS
- Text with markup, e.g. Closed Captions and SRT files.
- Styled SSA, e.g. most anime subtitles in MKV files
HandBrake can read subtitles from the following sources:
- From DVDs Either embedded VOBSUB or CC tracks.
- From Bluray - PGS Subtitles.
- User supplied SRT files.
- Embedded SSA/SRT/CC within files (such as mkv or mp4)
## Supported Output Formats
HandBrake has two methods of subtitle OUTPUT:
- Hard Burn: This means the subtitles are written on top of the image permanently. They cannot be turned on or off like on the DVD.
- Soft Subtitles: This means the subtitles will appear as separate selectable tracks in your output file. With the correct playback software, youll be able to enable / disable these subtitles as required.
Soft subtitles are currently unsupported in the WebM container.
The following subtitle types as supported as follows:
- Bluray PGS Subtitles
- With MP4, you can burn ONLY 1 subtitle track into the video.
- You can not pass-through PGS into MP4 as this file format does not support it.
- With MKV, you can pass-through multiple PGS tracks. These are not burned into the video unless you choose to do so however you can only burn 1 subtitle track into the file. The rest must be passed through.
- DVD Bitmap Subtitles (VOBSUB)
- With MP4, you can burn ONLY 1 subtitle track into the video.
- With MKV, you can pass-through multiple VOBSUB tracks. These are not burned into the video unless you choose to do so however you can only burn 1 subtitle track into the file. The rest must be passed through.
- CEA-608 Closed Captions (DVD and some ATSC streams)
- When selected, these will be passed through from your source file to the MKV or MP4 output file.
- Only 1 CC track can be read from the source.
- CC tracks within an MP4 appear as a subtitle track, not a CC track.
- SRT Subtitles
- Can be read from your source file or imported through the “Subtitles tab” if you have separate files(s)
- You can set an offset (measured in milliseconds) to change the start time that the first and subsequent SRT subtitles will appear. Use trial and error encoding a single chapter to obtain the correct offset.
- You should make sure the correct character code is selected from the “Char Code” dropdown. Selecting the wrong code, will result in your output file having no subtitle track, and can cause the player to crash when playing that track.
- Please note, SRT tracks are converted to SSA in the output file. This behavior is not currently configurable.
- SSA Subtitles
- SSA Subtitles can be passed-thru or burned into the video.
- When burned into the video, all styling (e.g. fonts, colors, etc) is preserved.
- Animated effects (e.g. fade in/out, karaoke) are not currently supported. (Only the middle frame of the animation will be used.)
- When passed-thru as text, only bold/italic/underline styles are preserved. Some players may not support the simultaneous display of multiple passed-thru SSA subtitles.
## Forced Subtitles
With some DVD sources, there is a subtitle track which only displays during foreign language sections of the video. On some titles this is a unique subtitle track in the same language as the main audio track, on others it uses the standard subtitle track in the same language as the main audio track except marks a subset of the subtitles as forced.
In order to select this track, HandBrake can scan the source for subtitles that appear only 10% (or less) of the time in addition to scanning for the presence of any forced subtitles.
To enable this functionality within the HandBrake user interface, from the “Subtitles” tab select the “Foreign Audio Search (Bitmap)” option from the “Track” dropdown menu and click the “Forced” Checkbox.
If you do not get a foreign section only subtitle track in your output file, then you may have to manually find and select the correct subtitle track from the “Track” dropdown menu.

View File

@ -0,0 +1,57 @@
---
Type: article
State: [ draft ]
Title: Surround Sound Guide
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Surround Sound Guide
=============================
There are many different formats for multi-channel audio which your source may have:
- Dolby Pro Logic
- Dolby Digital Surround
- Digital Theater System (DTS)
- Digital Theater System Master Audio (DTS-HD)
- TrueHD
HandBrake can take these and either pass them through to your source or convert them to another format with a downmix.
## Downmixing
When you are not using a passthru in the codec selection, you can choose the downmix from the "Mixdown" dropdown.
The options you have will depend on what the source track is and how many channels it has.
- Dolby Surround
- Dobly ProLogic II
- 5.1 Surround
- 6.1 Surround
- 7.1 Surround
By default HandBrake will downmix your audio to Dolby ProLogic II which sounds good on both stereo and multi-channel audio systems alike. However, if you want the true experience you can choose the appropriate channel count surround option from the "Mixdown" dropdown.
## Audio passthru
HandBrake also supports passing through the source audio track, bit-for-bit without altering it.
The following source format's can be passed thru.
- AC3
- E-AC3
- DTS (Limited player compatibility in MP4)
- DTS-HD (Limited player compatibility in MP4)
- TrueHD (MKV files only)
- FLAC (MKV files only)
- AAC
- MP3
- MP2

View File

@ -0,0 +1,25 @@
---
Type: article
State: [ draft ]
Title: Web Optimised
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Web Optimised
=============================
![Web Optimised Checkbox](../../images/windows/web-optimised-1.0.0.png "Web Optimised Checkbox")
If you are encoding for the web and using the MP4 file format, you'll want to turn on "Web Optimised" checkbox.
This places the MP4 container header at the start of the file, optimizing it for streaming across the web.
This is often referred to as MP4 "Fast Start".

View File

@ -0,0 +1,20 @@
---
Type: article
Title: CLI guide
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
Redirect_URL: command-line-reference.html
---
CLI guide
=========
This article has been moved to [Command Line Reference](command-line-reference.html).

View File

@ -0,0 +1,74 @@
---
Type: article
State: [ draft ]
Title: CLI Options
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
CLI Options
=============================
## Quick Tutorial on the Command Line.
On Windows, you'll want to open the "Command Prompt" app. This is similar to the "Terminal" app on Mac and Linux although the command's to navigate vary a bit.
This guide is not going to go into a lot of detail on using your systems command line as there are differences on various different platforms. Instead it will offer some hints.
We suggest you Google for a tutorial for your given command line of choice.
### Useful Commands
| Command | Platform | Action |
|------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
| dir | Windows | List the contents of the current directory |
| ls | Mac and Linux | Lists the contents of the current directory |
| cd <folder_name> | Both | Change to the given folder. |
| cd .. | Both | Go up a directory |
| pwd | Mac and Linux | Unlike Windows, the terminal does not show you the full path to your current directory. This command will show you were you are on the file system. |
When you extract HandBrakeCLI, you will need to navigate to where you extracted it on the file system, before trying to execute. You can do so with the above commands.
Typically, a command prompt / terminal will start in your home directory. So, if you download HandBrake and have a source ready, you'd run the following commands:
cd Downloads
HandBrakeCLI -i /path/to/source -o ../Desktop/my_output.mp4
If HandBrake is in a different directory than you're in, you can always access it via the full path. i.e.
./path/to/HandBrakeCLI -i /path/to/source -o ../Desktop/my_output.mp4
Remember, Linux and Mac can be configured to be case sensitive.
## HandBrake Command Line Basics
First, simple input and output.
> HandBrakeCLI -i source -o destination
That will encode with default "Normal" Preset.
Easy, right? So now you can start customizing those settings. You can pile on all sorts of things, and end up with a monster like:
> HandBrakeCLI -i /Volumes/MyBook/BLURAY_DISC -o /Volumes/MyBook/Bluray.mkv -m -E copy --audio-copy-mask ac3,dts,dtshd --audio-fallback ffac3 -e x264 -q 20 -x level=4.1:ref=4:b-adapt=2:direct=auto:me=umh:subq=8:rc-lookahead=50:psy-rd=1.0,0.15:deblock=-1,-1:vbv-bufsize=30000:vbv-maxrate=40000:slices=4
For now, think about less complex stuff:
> HandBrakeCLI -i VIDEO_TS -o movie.mp4 -e x264 -q 20 -B 160
That will encode a source video located at the path VIDEO_TS to an output file called movie.mp4. It will use x264 with a CRF (Constant Quality) of 20 to encode the video, and encode the audio as 160 Kbps AAC.
If you want to see the full list of available commands, try the following command:
> HandBrakeCLI --help
This will display every command with a brief explanation of what it does and a sample of relevant options you can pass to it.

View File

@ -0,0 +1,689 @@
---
Type: article
Title: Command line reference
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Command line reference
======================
The following details all the available options in the command line interface. This information may be accessed at any time by running `HandBrakeCLI --help`.
Please run this command on your own system as available options may vary depending on operating system and system hardware.
For reference, the following was generated by the Windows version of HandBrakeCLI:
Usage: HandBrakeCLI [options] -i <source> -o <destination>
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.
-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:
x264
x264_10bit
nvenc_h264
x265
x265_10bit
x265_12bit
nvenc_h265
mpeg4
mpeg2
VP8
VP9
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)
-2, --two-pass Use two-pass mode
--no-two-pass Disable two-pass mode
-T, --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
-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
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 'und' (Unknown) 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
av_aac
copy:aac
ac3
copy:ac3
eac3
copy:eac3
copy:truehd
copy:dts
copy:dtshd
copy:mp2
mp3
copy:mp3
vorbis
flac16
flac24
copy:flac
opus
copy
"copy:<type>" will pass through the corresponding
audio track without modification, if pass through
is supported for the audio type.
Separate tracks by commas.
Defaults:
av_mp4 av_aac
av_mkv mp3
av_webm vorbis
--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/flac)
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
av_aac up to 7point1
ac3 up to 5point1
eac3 up to 5point1
mp3 up to dpl2
vorbis up to dpl2
flac16 up to 7point1
flac24 up to 7point1
opus 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 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 <top:bottom:left:right>
Set picture cropping in pixels
(default: automatically remove black bars)
--loose-crop Always crop to a multiple of the modulus
--no-loose-crop Disable preset 'loose-crop'
-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
-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
-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

View File

@ -0,0 +1,57 @@
---
Type: article
Title: Contributing
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Contributing
============
HandBrake is an open source project created and maintained by the HandBrake Team. All are welcome to contribute to the project, and contributions following these simple guidelines are more likely to be accepted.
## Conduct
First and foremost, familiarize yourself with the project's [Code of Conduct](https://github.com/HandBrake/HandBrake/blob/master/CODE_OF_CONDUCT.md) and [Community Forum Rules](https://forum.handbrake.fr/app.php/rules). The HandBrake Team expects all contributors to conduct themselves accordingly.
## Communication
Please ask the HandBrake Team via one of the [Community Support](../help/community-support.html) channels before adding major features or making other broad changes.
*Failure to communicate what you are working on may lead to duplicated efforts or rejection of your contributions.*
## Ways to contribute
### User interface and graphics
HandBrake's user interface is constantly evolving. Special care and expertise are required to enhance usability while retaining and expanding its many professional features. Icons and other graphic assets are also needed from time to time, as user interface updates and modernization dictate.
The HandBrake Team welcomes contributions from user interface and graphic designers. Please introduce yourself via one of the [Community Support](../help/community-support.html) channels and someone will be glad to discuss what others are currently working on, your interests, and how you can help.
### Code
Developers wanting to contribute code should check out the [HandBrake source code on GitHub](https://github.com/HandBrake/HandBrake) and create a pull request on GitHub for each contribution. For more on this workflow, read [Understanding the GitHub Flow](https://guides.github.com/introduction/flow/).
[Open issues](https://github.com/HandBrake/HandBrake/issues) are good candidates for learning and fixing various parts of the code base.
### Documentation
[HandBrake Documentation](https://handbrake.fr/docs/) is published on the official HandBrake website, and the [documentation source](https://github.com/HandBrake/HandBrake-docs) is hosted on GitHub.
Please read the documentation project's [Contributing](https://github.com/HandBrake/HandBrake-docs/blob/master/CONTRIBUTING.markdown) guide to get started.
### Translation
HandBrake is written and maintained in English, and translated into multiple international languages by a community of volunteers. The HandBrake Team is working on bringing full technical support for multiple languages to all supported platforms; in the meantime, you will likely find translations available for some platforms and not others.
To view and contribute translations of the user interface strings in HandBrake, visit [HandBrake on Transifex](https://www.transifex.com/HandBrakeProject/public/).
If you would like to contribute a translation of the HandBrake Documentation, please base it on the English documentation and submit a pull request to [HandBrake Documentation on GitHub](https://github.com/HandBrake/HandBrake-docs).

View File

@ -0,0 +1,46 @@
---
Type: article
Title: Building HandBrake for BSD
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Building HandBrake for BSD
==========================
If you have installed a HandBrake package from your distribution or other third-party package repository, please remove it before proceeding. See the section, *Warning about broken third-party builds* on [Where to get HandBrake](../get-handbrake/where-to-get-handbrake.html) for more information.
## Installing dependencies
Dependency installation instructions are available for the following distributions.
- [FreeBSD](install-dependencies-freebsd.html)
- [NetBSD](install-dependencies-netbsd.html)
## Building HandBrake
Clone the HandBrake repository.
git clone https://github.com/HandBrake/HandBrake.git && cd HandBrake
Build HandBrake. To enable experimental support for Intel Quick Sync Video, append `--enable-qsv`. To build the command line interface only, disable the graphical interface by appending `--disable-gtk`.
./configure --launch-jobs=$(sysctl -n hw.ncpu) --launch
When complete, you will find `HandBrakeCLI` in the `build` directory. If the graphical interface is enabled, you will also find `ghb` in the `build/gtk/src` directory.
Install HandBrake (optional). When installing the graphical interface, icon and desktop files for the Applications menu will be also installed.
sudo gmake --directory=build install
To start over, simply remove the `build` directory.
rm -rf build

View File

@ -0,0 +1,58 @@
---
Type: article
Title: Building HandBrake for Linux
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Building HandBrake for Linux
============================
If you have installed a HandBrake package from your distribution or other third-party package repository, please remove it before proceeding. See the section, *Warning about broken third-party builds* on [Where to get HandBrake](../get-handbrake/where-to-get-handbrake.html) for more information.
## Installing dependencies
Dependency installation instructions are available for the following distributions.
- [Arch](install-dependencies-arch.html)
- [CentOS](install-dependencies-centos.html)
- [Clear](install-dependencies-clear.html)
- [Debian](install-dependencies-debian.html)
- [Fedora](install-dependencies-fedora.html)
- [Gentoo](install-dependencies-gentoo.html)
- [Ubuntu](install-dependencies-ubuntu.html)
- [Void](install-dependencies-void.html)
HandBrakes optional experimental support for Intel Quick Sync Video on Linux requires installing the Intel Media SDK and its dependencies. See the [Intel Media SDK Releases](https://github.com/Intel-Media-SDK/MediaSDK/releases) page and [Intel Media SDK Build Instructions](https://github.com/Intel-Media-SDK/MediaSDK#how-to-build).
## Building HandBrake
Clone the HandBrake repository.
git clone https://github.com/HandBrake/HandBrake.git && cd HandBrake
Build HandBrake. To enable experimental support for Intel Quick Sync Video, append `--enable-qsv`. To build the command line interface only, disable the graphical interface by appending `--disable-gtk`.
./configure --launch-jobs=$(nproc) --launch
When complete, you will find `HandBrakeCLI` in the `build` directory. If the graphical interface is enabled, you will also find `ghb` in the `build/gtk/src` directory.
Install HandBrake (optional). When installing the graphical interface, icon and desktop files for the Applications menu will be also installed.
sudo make --directory=build install
If you wish to then uninstall
sudo make --directory=build uninstall
To start over, simply remove the `build` directory.
rm -rf build

View File

@ -0,0 +1,82 @@
---
Type: article
Title: Building HandBrake for Mac
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Building HandBrake for Mac
==========================
Building HandBrake for Mac requires an Apple computer with a 64-bit Intel processor running macOS 10.14.3 Mojave or later, and the following dependencies.
- [Xcode](https://developer.apple.com/xcode/) 10.3 or later
- free Apple Developer registration required, or install from the Mac App Store
- [Command Line Tools for Xcode](https://developer.apple.com/download/more/)
- free Apple Developer registration required, or install using `xcode-select --install`
- [Python](https://www.python.org/downloads/) 3.7.0 or later
Python 3 as included with macOS 11.0 Big Sur is sufficient. For macOS prior to Big Sur, after installing an updated Python 3 from an official source, please ensure the installation has properly created `/Library/Frameworks/Python.framework/Versions/<version>`.
Additional dependencies (may be built via included script):
- autoconf 2.69 or later
- automake 1.13 or later
- cmake 3.1.0 or later
- libtool 2.4.6 or later
- meson 0.47.0 or later
- nasm 2.13 or later
- ninja 1.8.0 or later
- pkg-config 0.27.0 or later
Install Xcode and open it once. Approve any prompts to install additional tools. You may quit Xcode after it has finished loading.
Install Command Line Tools for Xcode using the package installer provided by Apple[^xcode-cli-tools], or using `xcode-select`.
xcode-select --install
For macOS prior to Big Sur, install Python 3 using the latest package installer provided by [Python](https://www.python.org/downloads/).
If you installed Python 3 from a different source, such as Homebrew, it is necessary to check whether Python 3 can properly open HTTPS connections. The following test prints `0` for success, or `1` for failure. Upon failure, you will need to ensure SSL certificates are installed and accessible to your Python 3 installation, or remove the installation and reinstall from the official package.
python3 -c 'from urllib.request import urlopen; test = lambda x=exec("def f():\n try:\n urlopen(\"https://handbrake.fr\", timeout=10)\n return 0\n except: return 1"): f(); result = test(); exit(result)'; echo $?
Clone the HandBrake repository.
git clone https://github.com/HandBrake/HandBrake.git && cd HandBrake
Initialize and update all submodules.
git submodule update --init --recursive
You may build and install the additional dependencies using the included script. Feel free to choose a different output path, if desired.
scripts/mac-toolchain-build /usr/local
This process will take a few minutes. If necessary, the script will provide you with instructions for adding the resulting binaries location to your environment's `PATH`[^default-path]. Do this now.
Build HandBrake. To build the command line interface only, disable the graphical interface by appending `--disable-xcode`.
./configure --launch-jobs=$(sysctl -n hw.activecpu) --launch
When complete, you will find `HandBrakeCLI` in the `build/xroot` directory. If the graphical interface is enabled, you will also find `HandBrake.app` in this directory.
Install HandBrake (optional).
sudo make --directory=build install
To start over, simply remove the `build` directory.
rm -rf build
[^xcode-cli-tools]: When installing Command Line Tools for Xcode using the package installer (instead of `xcode-select --install`), make sure to install the package that corresponds to the installed Xcode version. A mismatch between the installed Xcode and Command Line Tools versions may cause problems.
[^default-path]: `/usr/local/bin` is included in the system's `PATH` by default. It is not necessary to add it to your environment's `PATH` when installing the additional dependencies to `/usr/local`.

View File

@ -0,0 +1,116 @@
---
Type: article
Title: Building HandBrake for Windows
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Building HandBrake for Windows
==============================
## Command line interface and LibHB
Building the HandBrake [CLI](abbr:Command Line Interface) and LibHB (`hb.dll`) for Windows requires Linux and a recent [MinGW-w64](https://mingw-w64.org/) toolchain. Ubuntu 20.04 LTS or later are recommended; other distros may work as well. In all cases, we recommend you build the MinGW-w64 toolchain using our instructions and the included script, as some packaged versions have issues that can produce non-functioning builds.
### Installing dependencies on Ubuntu
The following instructions are for [Ubuntu](https://www.ubuntu.com) 20.04 (Focal Fossa).
These should also work with Windows Subsystem for Linux.
Basic requirements to run commands:
- sudo (for normal user accounts)
Dependencies:
- autoconf
- automake
- autopoint
- build-essential
- cmake
- gcc
- git
- libtool
- libtool-bin
- m4
- make
- meson
- nasm
- ninja-build
- patch
- pkg-config
- python
- tar
- zlib1g-dev
Additional MinGW-w64 toolchain dependencies:
- bison
- bzip2
- curl
- flex
- g++
- gzip
- pax
Install dependencies.
sudo apt-get update
sudo apt-get install automake autoconf autopoint build-essential cmake gcc git intltool libtool libtool-bin m4 make meson nasm ninja-build patch pkg-config python tar zlib1g-dev
Install the additional dependencies required to build the MinGW-w64 toolchain.
sudo apt-get install bison bzip2 curl flex g++ gzip pax
### Building the MinGW-w64 toolchain and HandBrake
Clone the HandBrake repository.
git clone https://github.com/HandBrake/HandBrake.git && cd HandBrake
Build the MinGW-w64 toolchain using the included script, where `username` is your user name. Feel free to choose a different output path, if desired.
scripts/mingw-w64-build x86_64 /home/username/toolchains/
This process will take a few minutes, then provide you with instructions for adding the resulting binaries location to your environment's `PATH`. Do this now.
Build HandBrake. For higher quality audio, enable the FDK AAC encoder by appending `--enable-fdk-aac`. Builds including FDK AAC must be for personal use only and may not be distributed.[^fdk-aac-license]
./configure --cross=x86_64-w64-mingw32 --launch-jobs=$(nproc) --launch
When complete, you will find `HandBrakeCLI.exe` in the `build` directory and `hb.dll` in `build/libhb`.
To start over, simply remove the `build` directory.
rm -rf build
## Graphical interface
The following tools are required to build and run the [GUI](abbr:Graphical User Interface).
- [Microsoft Visual Studio Community](https://www.visualstudio.com/vs/community/)
- A Git client
- [Source Tree](https://www.sourcetreeapp.com) (recommended)
- Client included with Visual Studio 2015 or later
- `hb.dll` (see the LibHB build instructions preceding these, or download from [https://handbrake.fr/nightly.php](https://handbrake.fr/nightly.php))
Clone `https://github.com/HandBrake/HandBrake.git` using your git client.
Source code for the GUI resides in the `win\CS` folder and the solution file is named `HandBrake.sln`. Make sure HandBrakeWPF is set as the startup project in the Solution Explorer by right-clicking the name and selecting "Set as startup project".
To build the GUI, select Build Solution from the Build menu.
When complete, locate the output folder where `HandBrake.exe` is created (typically in `win\CS\HandBrakeWPF\bin\...`, depending on the selected build profile). Copy `hb.dll` to this folder. This completes the build process.
[^fdk-aac-license]: The FDK AAC encoder is only provided in source code form and is not fully compatible with the GNU General Public License Version 2 used by HandBrake. Builds including FDK AAC must be for personal use only and may not be distributed. Do not share the build product with others.

View File

@ -0,0 +1,160 @@
---
Type: article
State: [ draft ]
Title: Maintaining a HandBrake flatpak repository
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ John (j45) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Creating HandBrake flatpak bundles and repository
=================================================
## Install dependencies
Install flatpak and flatpak-builder
sudo dnf install flatpak flatpak-builder
Install flathub repository.
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Install flatpak freedesktop SDK.
flatpak install flathub org.freedesktop.Sdk//18.08
Install flatpak freedesktop runtime platform.
flatpak install flathub org.freedesktop.Platform//18.08
## Create a new HandBrake flatpak bundle
From the HandBrake source tree, update build versions by running configure
./configure --flatpak
Or to build HandBrake with Quick Sync Video support and HandBrake's Intel MediaSDK flatpak plugin
./configure --flatpak --enable-qsv
Build signed flatpak packages for GUI and CLI.
cd build
make pkg.create.flatpak PGP_ID=<optional signing key id>
Or to build unsigned flatpak packages.
cd build
make pkg.create.flatpak
After the build completes, the flatpak packages for the GUI and CLI can be found in:
pkg/flatpak/*.flatpak
And an OSTree repository where the packages have been committed and signed with the above PGP ID can be found in:
pkg/flatpak/HandBrake-Flatpak.repo
If PGP_ID is omitted, the OSTree commit will be unsigned.
## Install flatpak bundle
To use the flatpak bundle directly instead of importing it into a repository and then installing from the repository:
flatpak install <flatpak-bundle>
## Add OSTree repo to flatpak repo list (Optional)
This is only for test purposes currently. Ultimately, we might want to establish an "official" repo location that we publish new bundles to. Currently, the repo is just a product of the build and is not meant to be reused across builds.
Add the new repository to your flatpak remotes
flatpak --user remote-add <repo-name> <repo-dir>
Of if the repos was generated without PGP signed commits
flatpak --user remote-add --no-gpg-verify <repo-name> <repo-dir>
## Check repo and application (Optional)
List contents of the repo
flatpak --user remote-ls <repo-name>
Install the application (if you wish to test it)
flatpak --user install <repo-name> <app-name>
# Maintaining a separate OSTree repository
There are situations where you don't want to keep your repository on the same server as you built the flatpak on. Rather than exporting the entire repo-dir that is built by flatpak-builder, you can import your bundles into a seperate OSTree repository.
## Create a new empty repository
```
ostree init --mode=archive-z2 --reop=<repo-dir>
```
## Add flatpakrepo file to the repository
This file is used by flatpak clients to add your repoitory to their list of remotes.
Create a file named \<yourproject\>.flatpakrepo in \<repo-dir\>. The format looks like this:
```
[Flatpak Repo]
Title=Yourproject
Url=https://dl.yourproject.org:8080/repo/
Homepage=https://yourproject.org/
Comment=Repository of yourproject
Description=Repository of yourproject
Icon=https://dl.yourproject.org/repo/logo.svg
GPGKey=<base64 encoded raw public gpg>
```
Note that the port above is optional and defaults to 80. I use 8080 for test purposes.
To base64 encode the gpg signing key
```
gpg2 --export <key-id> > key.gpg
base64 --wrap=0 < key.gpg > key.base64
```
## Importing flatpak bundles into the repository
```
flatpak build-import-bundle --gpg-sign=<key-id> <repo-dir> <flatpak-bundle>
```
## Update repository summary information
```
flatpak build-update-repo --generate-static-deltas --gpg-sign=<key-id>
```
## Host your repository with a web server
For test purposes, I just use pythons builtin web server.
```
python3 -m http.server 8080 --directory <repo-dir>
```
Note, requires python 3.7 or above.
## Publish the location of \<yourproject\>.flatpakrepo
Users can add your repository to their list of remotes with:
```
flatpak remote-add --if-not-exists yourproject https://dl.yourproject.org:8080/repo/yourproject.flatpakrepo
```

View File

@ -0,0 +1,84 @@
---
Type: article
Title: Installing dependencies on Arch
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Installing dependencies on Arch
===============================
The following instructions are for [Arch](https://www.archlinux.org) 2019.09.01.
Basic requirements to run commands:
- sudo (for normal user accounts)
Dependencies:
- base-devel
- cmake
- flac
- fontconfig
- freetype2
- fribidi
- git
- harfbuzz
- jansson
- lame
- libass
- libbluray
- libjpeg-turbo
- libogg
- libsamplerate
- libtheora
- libvorbis
- libvpx
- libxml2
- meson
- nasm
- ninja
- numactl
- opus
- python2
- speex
- x264
- xz
Intel Quick Sync Video dependencies (optional):
- libva
- libdrm
Graphical interface dependencies:
- dbus-glib
- gstreamer
- gst-libav
- gst-plugins-base
- intltool
- libgudev
- libnotify
- webkit2gtk
Install dependencies.
sudo pacman -S base-devel cmake flac fontconfig freetype2 fribidi git harfbuzz jansson lame libass libbluray libjpeg-turbo libogg libsamplerate libtheora libvorbis libvpx libxml2 meson nasm ninja numactl opus python2 speex x264 xz
To build with Intel Quick Sync Video support, install the QSV dependencies.
sudo pacman -S libva libdrm
To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies. Requires the GNOME desktop and associated packages, e.g. installed using `pacman -S xorg xorg-server && pacman -S gnome gnome-extra`.
sudo pacman -S dbus-glib gstreamer gst-libav gst-plugins-base intltool libgudev libnotify webkit2gtk
Arch is now prepared to build HandBrake. See [Building HandBrake for Linux](build-linux.html) for further instructions.

View File

@ -0,0 +1,105 @@
---
Type: article
Title: Installing dependencies on CentOS
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Installing dependencies on CentOS
=================================
## CentOS 8
The following instructions are for [CentOS](https://centos.org) 8.
Basic requirements to run commands:
- curl
- sudo (for normal user accounts)
Dependencies:
- Development Tools
- cmake
- fribidi-devel
- git
- jansson-devel
- libxml2-devel
- numactl-devel
- python3
- xz-devel
Additional dependencies not available in the base repository:
- lame-devel [PowerTools]
- libass-devel [EPEL]
- libogg-devel [PowerTools]
- libsamplerate-devel [PowerTools]
- libtheora-devel [PowerTools]
- libvorbis-devel [PowerTools]
- libvpx-devel [PowerTools]
- meson [PowerTools]
- nasm [PowerTools]
- ninja-build [PowerTools]
- opus-devel [PowerTools]
- speex-devel [PowerTools]
- turbojpeg-devel [PowerTools]
- x264-devel [RPM Fusion]
Intel Quick Sync Video dependencies (optional):
- libva-devel
- libdrm-devel
Graphical interface dependencies:
- dbus-glib-devel
- gstreamer1-devel
- gstreamer1-plugins-base-devel
- intltool
- libnotify-devel
- webkit2gtk3-devel
Additional graphical interface dependencies not available in the base repository:
- gstreamer1-libav [RPM Fusion]
- libgudev1-devel [PowerTools]
Install dependencies.
sudo dnf update
sudo dnf groupinstall "Development Tools"
sudo dnf install cmake fribidi-devel git jansson-devel libxml2-devel numactl-devel python3 xz-devel
Enable the CentOS PowerTools repository and install related additional dependencies.
sudo dnf config-manager --set-enabled PowerTools
sudo dnf install lame-devel libogg-devel libsamplerate-devel libtheora-devel libvorbis-devel libvpx-devel meson nasm ninja-build opus-devel speex-devel turbojpeg-devel
Install the [EPEL](https://fedoraproject.org/wiki/EPEL) repository and related additional dependencies.
sudo dnf install epel-release
sudo dnf install libass-devel
Install the [RPM Fusion](http://rpmfusion.org) Free repository and related additional dependencies.
sudo dnf localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
sudo dnf install x264-devel
To build with Intel Quick Sync Video support, install the QSV dependencies.
sudo dnf install libva-devel libdrm-devel
To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies.
sudo dnf install dbus-glib-devel gstreamer1-devel gstreamer1-libav gstreamer1-plugins-base-devel intltool libgudev1-devel libnotify-devel webkit2gtk3-devel
CentOS is now prepared to build HandBrake. See [Building HandBrake for Linux](build-linux.html) for further instructions.

View File

@ -0,0 +1,99 @@
---
Type: article
Title: Installing dependencies on Clear
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Installing dependencies on Clear
================================
The following instructions are for [Clear](https://clearlinux.org) 35470 and later.
Basic requirements to run commands:
- curl
- sudo (for normal user accounts)
Dependencies:
- dev-utils
- dev-utils-dev
- devpkg-fribidi
- devpkg-jansson
- devpkg-libass
- devpkg-libjpeg-turbo
- devpkg-libogg
- devpkg-libsamplerate
- devpkg-libtheora
- devpkg-libvorbis
- devpkg-libvpx
- devpkg-opus
- devpkg-speex
Additional dependencies not available in the base repository:
- lame
- x264
Intel Quick Sync Video dependencies (optional):
- devpkg-libva
- devpkg-libdrm
Graphical interface dependencies:
- desktop-dev
Install dependencies.
sudo swupd update
sudo swupd bundle-add dev-utils dev-utils-dev devpkg-fribidi devpkg-jansson devpkg-libass devpkg-libjpeg-turbo devpkg-libogg devpkg-libsamplerate devpkg-libtheora devpkg-libvorbis devpkg-libvpx devpkg-opus devpkg-speex
Build and install the dependencies not available in the base repository.
# lame
curl -LO https://sourceforge.net/projects/lame/files/lame/3.100/lame-3.100.tar.gz
tar -xf lame-3.100.tar.gz
cd lame-3.100
./configure --enable-shared --enable-static --enable-nasm
make -j$(nproc)
sudo make install-strip
cd ..
# x264
curl -LO https://code.videolan.org/videolan/x264/-/archive/master/x264-master.tar.bz2
tar -xf x264-master.tar.bz2
cd x264-master
./configure --enable-shared --enable-static --enable-lto --enable-pic --enable-strip
make -j$(nproc)
sudo make install
cd ..
# make shared libraries findable
if ! grep '\/usr\/local\/lib' /etc/ld.so.conf >/dev/null 2>&1; then
export CFLAGS="${CFLAGS:-} -I/usr/local/include"
export LDFLAGS="${LDFLAGS:-} -L/usr/local/lib"
echo 'export CFLAGS="${CFLAGS:-} -I/usr/local/include"' >> "${HOME}/.bashrc"
echo 'export LDFLAGS="${LDFLAGS:-} -L/usr/local/lib"' >> "${HOME}/.bashrc"
echo '/usr/local/lib' | sudo tee --append /etc/ld.so.conf
sudo ldconfig
fi
To build with Intel Quick Sync Video support, install the QSV dependencies.
sudo swupd bundle-add devpkg-libva devpkg-libdrm
To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies.
sudo swupd bundle-add desktop-dev
Clear is now prepared to build HandBrake. See [Building HandBrake for Linux](build-linux.html) for further instructions.

View File

@ -0,0 +1,99 @@
---
Type: article
Title: Installing dependencies on Debian
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Installing dependencies on Debian
=================================
The following instructions are for [Debian](https://www.debian.org) 11 Bullseye.
Basic requirements to run commands:
- curl
- sudo (for normal user accounts)
Dependencies:
- appstream
- autoconf
- automake
- autopoint
- build-essential
- cmake
- git
- libass-dev
- libbz2-dev
- libfontconfig1-dev
- libfreetype6-dev
- libfribidi-dev
- libharfbuzz-dev
- libjansson-dev
- liblzma-dev
- libmp3lame-dev
- libnuma-dev
- libogg-dev
- libopus-dev
- libsamplerate-dev
- libspeex-dev
- libtheora-dev
- libtool
- libtool-bin
- libturbojpeg0-dev
- libvorbis-dev
- libx264-dev
- libxml2-dev
- libvpx-dev
- m4
- make
- meson
- nasm
- ninja-build
- patch
- pkg-config
- python
- tar
- zlib1g-dev
Intel Quick Sync Video dependencies (optional):
- libva-dev
- libdrm-dev
Graphical interface dependencies:
- intltool
- libappindicator-dev
- libdbus-glib-1-dev
- libglib2.0-dev
- libgstreamer1.0-dev
- libgstreamer-plugins-base1.0-dev
- libgtk-3-dev
- libgudev-1.0-dev
- libnotify-dev
- libwebkit2gtk-4.0-dev
Install dependencies.
sudo apt-get update
sudo apt-get install appstream autoconf automake autopoint build-essential cmake git libass-dev libbz2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libjansson-dev liblzma-dev libmp3lame-dev libnuma-dev libogg-dev libopus-dev libsamplerate-dev libspeex-dev libtheora-dev libtool libtool-bin libturbojpeg0-dev libvorbis-dev libx264-dev libxml2-dev libvpx-dev m4 make meson nasm ninja-build patch pkg-config python tar zlib1g-dev
To build with Intel Quick Sync Video support, install the QSV dependencies.
sudo apt-get install libva-dev libdrm-dev
To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies.
sudo apt-get install intltool libdbus-glib-1-dev libglib2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev libgudev-1.0-dev libnotify-dev libwebkit2gtk-4.0-dev
Debian is now prepared to build HandBrake. See [Building HandBrake for Linux](build-linux.html) for further instructions.

View File

@ -0,0 +1,105 @@
---
Type: article
Title: Installing dependencies on Fedora
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Installing dependencies on Fedora
=================================
The following instructions are for [Fedora](https://getfedora.org) 33 through 35.
Basic requirements to run commands:
- sudo (for normal user accounts)
Dependencies:
- Development Tools
- C Development Tools and Libraries
- bzip2-devel
- cmake
- fontconfig-devel
- freetype-devel
- fribidi-devel
- gcc-c++
- git
- harfbuzz-devel
- jansson-devel
- lame-devel
- lbzip2
- libass-devel
- libogg-devel
- libsamplerate-devel
- libtheora-devel
- libtool
- libvorbis-devel
- libxml2-devel
- libvpx-devel
- m4
- make
- meson
- nasm
- ninja-build
- numactl-devel
- opus-devel
- patch
- python
- speex-devel
- tar
- turbojpeg-devel
- xz-devel
- zlib-devel
Additional dependencies not available in the base repository:
- x264-devel [RPM Fusion]
Intel Quick Sync Video dependencies (optional):
- libva-devel
- libdrm-devel
Graphical interface dependencies:
- X Software Development
- GNOME Software Development
- dbus-glib-devel
- gstreamer1-devel
- gstreamer1-libav
- gstreamer1-plugins-base-devel
- intltool
- libgudev1-devel
- libnotify-devel
- webkit2gtk3-devel
Install dependencies.
sudo dnf update
sudo dnf groupinstall "Development Tools" "C Development Tools and Libraries"
sudo dnf install bzip2-devel cmake fontconfig-devel freetype-devel fribidi-devel gcc-c++ git harfbuzz-devel jansson-devel lame-devel lbzip2 libass-devel libogg-devel libsamplerate-devel libtheora-devel libtool libvorbis-devel libxml2-devel libvpx-devel m4 make meson nasm ninja-build numactl-devel opus-devel patch python speex-devel tar turbojpeg-devel xz-devel zlib-devel
Install the [RPM Fusion](http://rpmfusion.org) Free repository and related additional dependencies.
sudo dnf localinstall --nogpgcheck https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(cat /etc/system-release | awk '{ print $3}').noarch.rpm
sudo dnf install x264-devel
To build with Intel Quick Sync Video support, install the QSV dependencies.
sudo dnf install libva-devel libdrm-devel
To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies.
sudo dnf groupinstall "X Software Development" "GNOME Software Development"
sudo dnf install dbus-glib-devel gstreamer1-devel gstreamer1-libav gstreamer1-plugins-base-devel intltool libgudev1-devel libnotify-devel webkit2gtk3-devel
Fedora is now prepared to build HandBrake. See [Building HandBrake for Linux](build-linux.html) for further instructions.

View File

@ -0,0 +1,110 @@
---
Type: article
Title: Installing dependencies on FreeBSD
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Installing dependencies on FreeBSD
==================================
The following instructions are for [FreeBSD](https://www.freebsd.org) 11 and 12.
Basic requirements to run commands:
- sudo (for normal user accounts)
Dependencies:
- autoconf
- automake
- bash
- bzip2
- cmake
- flac
- fontconfig
- freetype2
- fribidi
- gcc
- git
- gmake
- gtar
- harfbuzz
- jansson
- lame (source port)
- libass
- libiconv
- libjpeg-turbo
- libogg
- libsamplerate
- libtheora
- libtool
- libvorbis
- libvpx
- libx264
- libxml2
- lzma
- m4
- meson
- nasm
- ninja
- opus
- patch
- pkgconf
- python
- speex
Intel Quick Sync Video dependencies (optional):
- intel-media-sdk
Graphical interface dependencies:
- atk
- cairo
- dbus
- dbus-glib
- desktop-file-utils
- gdk-pixbuf2
- gettext
- glib
- gnome3
- gstreamer1-plugins-gdkpixbuf
- gtk3
- intltool
- libdvdcss
- libnotify
- libvpx
- pango
Install dependencies.
sudo pkg install autoconf automake bash bzip2 cmake flac fontconfig freetype2 fribidi gcc git lzma gmake gtar harfbuzz jansson libass libiconv libjpeg-turbo libogg libsamplerate libtheora libtool libvorbis libvpx libx264 libxml2 m4 meson nasm ninja opus patch pkgconf python speex
Build and install the `lame` source port.
sudo portsnap fetch
bash -c 'if [[ ! -e /usr/ports ]]; then sudo portsnap extract; fi'
sudo portsnap update
LASTDIR="`pwd`"
cd /usr/ports/audio/lame
sudo make install || sudo make reinstall
cd "$LASTDIR"
To build with Intel Quick Sync Video support, install the QSV dependencies.
sudo pkg install intel-media-sdk
To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies.
sudo pkg install atk cairo dbus dbus-glib desktop-file-utils gdk-pixbuf2 gettext glib gnome3 gstreamer1-plugins-gdkpixbuf gtk3 intltool libdvdcss libnotify libvpx pango
FreeBSD is now prepared to build HandBrake. See [Building HandBrake for BSD](build-bsd.html) for further instructions.

View File

@ -0,0 +1,54 @@
---
Type: article
Title: Installing dependencies on Gentoo
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Installing dependencies on Gentoo
=================================
The following instructions are for [Gentoo](https://gentoo.org) profile `default/linux/amd64/17.1` with Portage snapshot 20190915 (HandBrake [CLI](abbr:Command Line Interface) only).
Basic requirements to run commands:
- sudo (for normal user accounts)
Dependencies[^rebuild]:
- fribidi
- dev-vcs/git
- harfbuzz
- jansson
- lame
- libass
- libjpeg-turbo
- libogg
- libsamplerate
- libtheora
- libvorbis
- libvpx
- app-arch/lzma
- meson
- nasm
- ninja
- numactl
- opus
- speex
- x264
Install dependencies.
sudo emerge --ask fribidi dev-vcs/git harfbuzz jansson lame libass libjpeg-turbo libogg libsamplerate libtheora libvorbis libvpx app-arch/lzma meson nasm ninja numactl opus speex x264
Gentoo is now prepared to build HandBrake. See [Building HandBrake for Linux](build-linux.html) for further instructions.
[^rebuild]: Previously installed dependencies may need to be rebuilt before building HandBrake.

View File

@ -0,0 +1,99 @@
---
Type: article
Title: Installing dependencies on NetBSD
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Installing dependencies on NetBSD
=================================
The following instructions are for [NetBSD](https://www.netbsd.org/) 8 and 9.
Basic requirements to run commands:
- [pkgin](https://wiki.netbsd.org/pkgsrc/how_to_upgrade_packages/)
- [pkgsrc](https://www.netbsd.org/docs/pkgsrc/getting.html)
- sudo (for normal user accounts)
Dependencies:
- autoconf
- automake
- bash
- bzip2
- cmake
- flac
- fontconfig
- freetype2
- fribidi
- git
- gmake
- gtar-base
- harfbuzz
- jansson
- lame
- libass
- libiconv
- libjpeg-turbo
- libogg
- libopus
- libsamplerate
- libtheora
- libtool-base
- libvorbis
- libvpx
- libxml2
- lzmalib
- m4
- meson
- nasm
- ninja-build
- patch
- pkgconf
- python37
- speex
- x264-devel
Graphical interface dependencies:
- atk
- cairo
- dbus
- dbus-glib
- desktop-file-utils
- gdk-pixbuf2
- gettext
- glib2
- glib2-tools
- gst-plugins1-base
- gst-plugins1-gdk_pixbuf
- gst-plugins1-libav
- gstreamer1
- gtk3+
- intltool
- libnotify
- libvpx
- pango
Install dependencies.
sudo pkgin install autoconf automake bash bzip2 cmake flac fontconfig freetype2 fribidi git gmake gtar-base harfbuzz jansson lame libass libiconv libjpeg-turbo libogg libopus libsamplerate libtheora libtool-base libvorbis libvpx libxml2 lzmalib m4 meson nasm ninja-build patch pkgconf python37 speex x264-devel
To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies.
sudo pkgin install atk cairo dbus dbus-glib desktop-file-utils gdk-pixbuf2 gettext glib2 glib2-tools gst-plugins1-base gst-plugins1-gdk_pixbuf gst-plugins1-libav gstreamer1 gtk3+ intltool libnotify libvpx pango
Ensure the newly installed packages have search path priority.
export PATH="${LOCALBASE:-/usr/pkg}/bin:${PATH}"
NetBSD is now prepared to build HandBrake. See [Building HandBrake for BSD](build-bsd.html) for further instructions.

View File

@ -0,0 +1,99 @@
---
Type: article
Title: Installing dependencies on Ubuntu
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Installing dependencies on Ubuntu
=================================
The following instructions are for [Ubuntu](https://www.ubuntu.com) 20.04 (Focal Fossa).
Basic requirements to run commands:
- sudo (for normal user accounts)
Dependencies:
- autoconf
- automake
- autopoint
- appstream
- build-essential
- cmake
- git
- libass-dev
- libbz2-dev
- libfontconfig1-dev
- libfreetype6-dev
- libfribidi-dev
- libharfbuzz-dev
- libjansson-dev
- liblzma-dev
- libmp3lame-dev
- libnuma-dev
- libogg-dev
- libopus-dev
- libsamplerate-dev
- libspeex-dev
- libtheora-dev
- libtool
- libtool-bin
- libturbojpeg0-dev
- libvorbis-dev
- libx264-dev
- libxml2-dev
- libvpx-dev
- m4
- make
- meson
- nasm
- ninja-build
- patch
- pkg-config
- python
- tar
- zlib1g-dev
Intel Quick Sync Video dependencies (optional):
- libva-dev
- libdrm-dev
Graphical interface dependencies:
- gstreamer1.0-libav
- intltool
- libappindicator-dev
- libdbus-glib-1-dev
- libglib2.0-dev
- libgstreamer1.0-dev
- libgstreamer-plugins-base1.0-dev
- libgtk-3-dev
- libgudev-1.0-dev
- libnotify-dev
- libwebkit2gtk-4.0-dev
Install dependencies.
sudo apt-get update
sudo apt-get install autoconf automake autopoint appstream build-essential cmake git libass-dev libbz2-dev libfontconfig1-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libjansson-dev liblzma-dev libmp3lame-dev libnuma-dev libogg-dev libopus-dev libsamplerate-dev libspeex-dev libtheora-dev libtool libtool-bin libturbojpeg0-dev libvorbis-dev libx264-dev libxml2-dev libvpx-dev m4 make meson nasm ninja-build patch pkg-config python tar zlib1g-dev
To build with Intel Quick Sync Video support, install the QSV dependencies.
sudo apt-get install libva-dev libdrm-dev
To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies.
sudo apt-get install gstreamer1.0-libav intltool libappindicator-dev libdbus-glib-1-dev libglib2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev libgudev-1.0-dev libnotify-dev libwebkit2gtk-4.0-dev
Ubuntu is now prepared to build HandBrake. See [Building HandBrake for Linux](build-linux.html) for further instructions.

View File

@ -0,0 +1,95 @@
---
Type: article
Title: Installing dependencies on Void
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Installing dependencies on Void
===============================
The following instructions are for [Void](https://voidlinux.org) 2020-02-15.
Basic requirements to run commands:
- sudo (for normal user accounts)
Dependencies:
- autoconf
- automake
- bzip2-devel
- cmake
- fontconfig-devel
- freetype-devel
- fribidi-devel
- git
- gcc
- harfbuzz-devel
- jansson-devel
- lame-devel
- lbzip2
- libass-devel
- libflac-devel
- libjpeg-turbo
- liblzma-devel
- libnuma-devel
- libogg-devel
- libsamplerate-devel
- libtheora-devel
- libtool
- libvorbis-devel
- libvpx-devel
- libxml2-devel
- m4
- make
- meson
- nasm
- ninja
- opus-devel
- patch
- pkg-config
- python3
- speex-devel
- x264-devel
Intel Quick Sync Video dependencies (optional):
- libva-devel
- libdrm-devel
Graphical interface dependencies:
- dbus-glib-devel
- gettext-devel
- glib-devel
- gst-libav
- gst-plugins-base1-devel
- gstreamer1-devel
- intltool
- libgudev-devel
- libnotify-devel
- webkit2gtk-devel
Install dependencies.
sudo xbps-install -S
sudo xbps-install autoconf automake bzip2-devel cmake fontconfig-devel freetype-devel fribidi-devel git gcc harfbuzz-devel jansson-devel lame-devel lbzip2 libass-devel libflac-devel libjpeg-turbo liblzma-devel libnuma-devel libogg-devel libsamplerate-devel libtheora-devel libtool libvorbis-devel libvpx-devel libxml2-devel m4 make meson nasm ninja opus-devel patch pkg-config python3 speex-devel x264-devel
To build with Intel Quick Sync Video support, install the QSV dependencies.
sudo xbps-install libva-devel libdrm-devel
To build the GTK [GUI](abbr:Graphical User Interface), install the graphical interface dependencies.
sudo xbps-install dbus-glib-devel gettext-devel glib-devel gst-libav gst-plugins-base1-devel gstreamer1-devel intltool libgudev-devel libnotify-devel webkit2gtk-devel
Void is now prepared to build HandBrake. See [Building HandBrake for Linux](build-linux.html) for further instructions.

View File

@ -0,0 +1,65 @@
---
Type: article
Title: Checking for updates
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Checking for updates
====================
HandBrake can let you know when a newer version is available, and even automatically download and install available updates.
Before updating, please make sure there are no pending encodes in the `Queue`. If you are currently using HandBrake older than version 1.0.0, also make note of any custom `Presets` you have created, as they may not be compatible with newer versions.
<!-- .system-linux -->
## Updating HandBrake on Linux
The Linux version of HandBrake does not have a built-in update checking feature. Updates are provided via FlatPak bundles.
<!-- /.system-linux -->
<!-- .system-macos -->
## Updating HandBrake on Mac
After you've installed and launched HandBrake more than once, it will ask whether you want to automatically check for updates. Select `Check Automatically` and HandBrake will offer to install future updates as they become available.
![Automatic updates dialog](../../images/mac/check-for-updates-automatically-1.1.0.png "Checking for updates automatically can help you stay up to date with the latest features and bug fixes.")
Automatic update checking may be enabled or disabled in HandBrake's preferences. Using the main menu at the top of your screen, select `HandBrake` and then `Preferences...`. You will find the option in the `General` section.
Manually checking for updates is easy. Using the main menu at the top of your screen, select `HandBrake` and then `Check for Updates...`. If an update is available, HandBrake will offer to install it for you.
![Software update dialog](../../images/mac/software-update-1.1.0.png "If an update is available, HandBrake will offer to install it for you.")
<!-- /.system-macos -->
<!-- .system-windows -->
## Updating HandBrake on Windows
Automatic update checking may be enabled or disabled in HandBrake's preferences. From the `Tools` menu select `Preferences`. You will find the option in the `General` section. HandBrake will alert you when a new update is available.
Manually checking for updates is easy. From the `Help` menu, select `Check for Updates...`. If an update is available, HandBrake will offer to install it for you.
<!-- /.system-windows -->
<!-- .continue -->
## Next steps
<!-- .success -->
Continue to [Opening a video source](../workflow/open-video-source.html).
<!-- /.success -->
<!-- /.continue -->

View File

@ -0,0 +1,206 @@
---
Type: article
Title: Downloading and installing HandBrake
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Downloading and installing HandBrake
====================================
HandBrake is available for Linux, Mac, and Windows, at the [HandBrake website](https://handbrake.fr/).
This is the *only* official download source for HandBrake. For more information, see [Where to get HandBrake](where-to-get-handbrake.html).
## Downloading
*Most modern computers can run HandBrake. To be sure your system meets the minimum requirements, see [System requirements](../technical/system-requirements.html) in the technical documentation.*
To download HandBrake to your computer, click the download button on the HandBrake website's [Home page](https://handbrake.fr/). You can also choose a version for a specific operating system from the [Downloads page](https://handbrake.fr/downloads.php).
Experienced users may wish to try HandBrake's [development snapshot builds](https://github.com/HandBrake/HandBrake-snapshots)[^nightly-builds] that are available via GitHub.
## Verifying your download
### Checksums
The HandBrake Team publishes [checksums for all downloads on handbrake.fr](https://handbrake.fr/checksums.php) and the [Checksums article on GitHub](https://github.com/HandBrake/HandBrake/wiki/Checksums). You may use the provided checksums to verify the integrity of the files you download.
<!-- .system-linux -->
When installing on Linux from Flathub, download integrity is verified automatically. Similarly, the integrity of source code managed using `git` is verified automatically.
To verify an official source distribution tarball or Flatpak bundle, consult your Linux distribution's documentation for instructions on how to verify checksums.
<!-- /.system-linux -->
<!-- .system-macos -->
On Mac, launch Terminal from your Applications > Utilities folder and use the `shasum` command. For example, if you downloaded HandBrake to your Downloads folder:
shasum -a 256 ~/Downloads/HandBrake-*.dmg
Alternatively, the free third-party app [Hashsum](https://itunes.apple.com/us/app/hashsum/id1079442694?mt=12) available on the Mac App Store provides a convenient graphical interface for computing file checksums[^third-party-utilities-1].
<!-- /.system-macos -->
<!-- .system-windows -->
On Windows, launch a Command Prompt Window and use the `certutil` command. For example, if you downloaded HandBrake to your Downloads folder:
cd Downloads
certUtil -hashfile <filename> SHA256
Alternatively, free third-party apps [7-Zip](https://www.7-zip.org) [Compute Hash](http://www.subisoft.net/ComputeHash.aspx), [ExactFile](http://www.exactfile.com), and [MultiHasher](http://www.abelhadigital.com/multihasher) for Windows provide convenient graphical interfaces for computing file checksums[^third-party-utilities-2].
<!-- /.system-windows -->
*If the checksums for the file you downloaded do not match the ones published by the HandBrake Team, you should delete the file and try your download again.*
### OpenPGP
The HandBrake Team also publishes [OpenPGP signatures for all downloads on GitHub](https://github.com/HandBrake/HandBrake/releases). More information is available on the [OpenPGP article on GitHub](https://github.com/HandBrake/HandBrake/wiki/OpenPGP).
<!-- .system-linux -->
## Installing on Linux
If you have installed a HandBrake package from your distribution or other third-party package repository, please remove it before proceeding. See the section, *Warning about broken third-party builds* on [Where to get HandBrake](where-to-get-handbrake.html) for more information.
### Flathub Flatpak
The most convenient way to install HandBrake and manage updates is to install the release we publish to Flathub. Please see Flathub's Quick Setup page for instructions to enable Flatpak and Flathub on your Linux distribution.
Once Flathub is enabled on your system, you may install HandBrake directly from Flathub, from the Gnome Software GUI ('gnome-software'), or from the command line.
Installing from Flathub and Gnome Software are fairly self explanatory. To install from the command line for system wide use:
flatpak install fr.handbrake.ghb
During install it will ask for your password (assuming you have sudo privilege). Once installed, HandBrake will be available to all users of the system.
To install without sudo privileges:
flatpak --user install fr.handbrake.ghb
Once installed, HandBrake will only be available to the user that installed it.
### Flatpak Bundles
Alternatively, you may manually download, verify, and install [Flatpak](https://flatpak.org/) bundles of HandBrake for Linux which are available on the [HandBrake download page](https://handbrake.fr/downloads.php), the [HandBrakeCLI download page](https://handbrake.fr/downloads2.php) or [development snapshot builds page](https://github.com/HandBrake/HandBrake-snapshots)[^nightly-builds].
Install your distribution's `flatpak` package before running the following commands.
Install the latest HandBrake GUI release (after download and verify)
flatpak --user install HandBrake-1.4.2-x86_64.flatpak
Install the latest HandBrake CLI release (after download and verify)
flatpak --user install HandBrakeCLI-1.4.2-x86_64.flatpak
Install the nightly build (example, filename changes nightly)
Download the latest snapshot from the [development snapshot builds](https://github.com/HandBrake/HandBrake-snapshots)[^nightly-builds]
flatpak --user install fr.handbrake.ghb-20210720182537-a01549c9c-master-x86_64.flatpak
<!-- /.system-linux -->
<!-- .system-macos -->
## Installing on Mac
Once you've downloaded HandBrake for Mac, open the disk image in your Downloads folder. Your web browser (e.g. Safari, Firefox, or Chrome) may do this for you automatically. Then drag the HandBrake application to your Applications folder.
![Opening HandBrake disk image](../../images/mac/download-file-1.1.0.png "Open the HandBrake disk image you downloaded. Your web browser may do this automatically.")
![Installing HandBrake on Mac](../../images/mac/install-1.1.0.png "Drag HandBrake to your Applications folder to install it on your Mac.")
HandBrake is now installed. You may eject the disk image and move it to the Trash.
<!-- /.system-macos -->
<!-- .system-windows -->
## Installing on Windows
Once you've downloaded the HandBrake installer, simply double click to run it.
If HandBrake is already installed on your computer, the installer will offer to remove the previous version before installing the current version. Select `OK` to proceed and review HandBrake's license terms.
![HandBrake Windows installer: removing previous versions](../../images/windows/uninstall-1.0.0.png "The HandBrake installer will offer to remove previous versions before installing the current version.")
![HandBrake Windows installer](../../images/windows/install-1-1.0.0.png "HandBrake's Windows installer.")
Next, the installer will ask you where you wish to install HandBrake. Unless you have a specific reason to change this, select `Install` to continue. Once the installation is complete, you may select `Finish` to exit the installer.
![HandBrake for Windows installation progress](../../images/windows/install-2-1.0.0.png "The installer will report its progress.")
![HandBrake for Windows installation complete](../../images/windows/install-finish-1.0.0.png "HandBrake is now installed.")
You will find shortcuts for launching HandBrake placed on both the Windows Desktop and Start Menu.
<!-- /.system-windows -->
## Launching HandBrake
You may launch HandBrake by quickly clicking twice (double-clicking) on the cocktail & pineapple icon. Depending on your system settings, a single click may suffice.
![HandBrake icon](../../images/icon-1.1.0.png)![Double-clicking HandBrake icon](../../images/icon-click-1.1.0.gif)
<!-- .continue -->
<!-- .system-linux -->
### Launching HandBrake Flatpak from the command line
To launch the HandBrake GUI from the command line
flatpak run fr.handbrake.ghb
The HandBrake GUI Flatpak package also includes the CLI which may be run with
flatpak run --command=HandBrakeCLI fr.handbrake.ghb
Additional HandBrakeCLI options go at the end of the above command line.
If you installed the stand-alone HandBrakeCLI Flatpak package, it can be run with
flatpak run fr.handbrake.HandBrakeCLI
The developers of Flatpak have also provided some useful helper scripts that get installed whenever a Flatpak package is installed. Unfortunately, the PATH environment usually does not include the location these are installed to. If you wish to use these helper scripts, update your PATH (usually performed in a shell initialization file such as ~/.bash_profile)
export PATH=$PATH:$HOME/.local/share/flatpak/exports/bin:/var/lib/flatpak/exports/bin
Once your PATH includes these directories, the GUI may be run with
fr.handbrake.ghb
And the CLI may be run with
fr.handbrake.HandBrakeCLI
<!-- /.system-linux -->
## Next steps
<!-- .success -->
Continue to [Checking for updates](check-for-updates.html).
<!-- /.success -->
<!-- /.continue -->
[^nightly-builds]: Nightly builds are based on HandBrake's latest development code, including new and experimental features that may be unstable or significantly different than the latest release version. Although everyone is welcome to try them, nightly builds are best suited for experienced users and developers.
[^third-party-utilities-1]: HandBrake is not associated with any third-party checksum utilities. Only use software from vendors you trust.
[^third-party-utilities-2]: HandBrake is not associated with any third-party checksum utilities. Only use software from vendors you trust.

View File

@ -0,0 +1,80 @@
---
Type: article
Title: Where to get HandBrake
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Where to get HandBrake
======================
## HandBrake releases and nightly builds
Official [HandBrake releases](https://handbrake.fr/downloads.php) and [nightly builds](https://github.com/HandBrake/HandBrake-snapshots) are available for Linux, Mac, and Windows.
HandBrake is open-source software licensed under the GNU General Public License Version 2 (GPLv2)[^license]. Anyone can download and use HandBrake *for free*.
<!-- .system-linux -->
For linux users, we provide FlatPak bundles which are available for download on our site, or via <a href="https://flathub.org/apps/details/fr.handbrake.ghb">flathub.org</a>
Users of other BSD- and *nix-like distributions may compile from source.
<!-- /.system-linux -->
HandBrake source code is available at the official [HandBrake repository on GitHub](https://github.com/HandBrake/HandBrake).
Other versions obtained via third parties are not supported.
## Warning about scams and fakes
HandBrake is available for *free* at the [HandBrake website](https://handbrake.fr/).[^checksums] This is the *only* official download source for HandBrake.
Beware of third-party websites and peer-to-peer downloads of HandBrake. They may include unwanted extras such as additional applications, [ransomware](https://en.wikipedia.org/wiki/Ransomware), or other forms of [malware](https://en.wikipedia.org/wiki/Malware). The HandBrake Team has no control over these external services. Avoid!
Beware of online marketplaces and auction sites. HandBrake is *free software*.
<!-- .system-linux -->
## Warning about broken third-party builds
Certain BSD/Linux distributions and package repositories create their own versions of HandBrake. These modified versions are often crippled (features removed for political reasons) and broken (bugs due to modifications), and should be avoided.
Broken third-party packages/builds include but are not limited to:
- Debian Multimedia: `handbrake`, `handbrake-cli`, `handbrake-gtk`
- FreeBSD: `handbrake`
- Gentoo: `handbrake`
- NixOS: `handbrake`
- openSUSE Packman: `handbrake`, `handbrake-cli`, `handbrake-gtk`
- RPM Fusion: `handbrake`, `handbrake-cli`
- Ubuntu Universe: `handbrake`, `handbrake-cli`, `handbrake-dbg`
- Void: `handbrake`, `handbrake-cli`, `handbrake-cli-dbg`, `handbrake-dbg`
Please **do not** request support for these or any other unofficial versions. The HandBrake Team has zero control over them and therefore cannot provide meaningful support.
<!-- /.system-linux -->
<!-- .continue -->
## Next steps
<!-- .success -->
Continue to [Downloading and installing HandBrake](download-and-install.html).
<!-- /.success -->
<!-- /.continue -->
[^license]: For more information about the license, see the [LICENSE](https://github.com/HandBrake/HandBrake/blob/master/LICENSE) file and a [summary of GPLv2 on TLDRLegal](https://tldrlegal.com/license/gnu-general-public-license-v2).
[^checksums]: Downloaded files should match the [official release checksums](https://handbrake.fr/checksums.php) as published on the official HandBrake website. Downloaded files with unlisted checksums may be tampered with.

View File

@ -0,0 +1,169 @@
---
Type: article
Title: Activity Log
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), John Stebbins (j45), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Activity Log
============
When you launch HandBrake, it begins recording information about its operation to an Activity Log. When you open a `Source`, HandBrake scans it and records what it discovers to the log. Likewise, during encoding, HandBrake records its progress—and any issues it encounters—to the log.
Activity Logs can be a good personal reference for the settings you used to make your videos and whether everything went as you expected.
Should you need technical support, providing an Activity Log is **required** and is essential for diagnosing the issue you may be experiencing.
## Why Activity Logs are required for support
Frequently, people ask the HandBrake Team, "Why should I be *required* to provide an Activity Log to receive technical support?" Good question!
For starters, most applications log information about their operation. Your operating system keeps countless logs as well. Logs are often used for informational purposes and to diagnose technical problems with a system or application that isnt behaving as expected.
Here are some questions that may be helpful in diagnosing a problem with HandBrake, that an Activity Log can answer:
- Are you using official HandBrake or an unsupported third-party build?
- Where is HandBrake installed on your system?
- What HandBrake version are you using?
- What operating system and version are you using?
- What type of CPU are you using? Does it support Intel Quick Sync Video?
- What type of GPU are you using? What version of OpenCL does it support?
- Is HandBrake able to use your GPU for certain features?
- What is your display resolution?
- What is your systems temporary files directory? Is HandBrake able to use it?
- Is HandBrake using dvdread or dvdnav for reading DVDs?
- Is HandBrake able to open your `Source`?
- Is HandBrake able to detect the media type of your `Source`? What type (DVD, Blu-ray, MKV/MP4, etc.)?
- Is your `Source` a physical DVD or Blu-ray or a file on your computer?
- Is your `Source` unusable due to copy protection?
- What [region](https://en.wikipedia.org/wiki/DVD_region_code) is your DVD and does your DVD drive support this region?
- Does your `Source` contain multiple `Titles`? How many? How long is each one?
- Is HandBrake able to parse and read each `Title`? What errors?
- What video, audio, and subtitle tracks are in each `Title`? What [codecs](https://en.wikipedia.org/wiki/Codec) does each use?
- Is there a video track? What frame rate and resolution is the video?
- Is HandBrake able to detect and automatically remove (crop) black borders around the edges of your video?
- Are there audio tracks? What language, sample rate, channel layout, and bit rate is each audio track?
- Are there subtitles? What types and languages?
- Is HandBrake performing a foreign audio scan to find forced subtitles? Did it find any?
- Are there chapter markers? How many? How long is each one?
- What preset is being used for encoding? Is it an official preset?
- What changes are made to the settings after selecting a preset?
- What are the final settings used for the encode?
- Is HandBrake able to write to your `Destination` file? If not, why not?
- While encoding, is HandBrake able to read your entire `Source` without errors?
- Are there any problems with your `Source`s timestamps?
- How many frames did HandBrake decode from the `Source` during encoding? More or less than expected?
- Is HandBrake dropping or duplicating frames to enforce a constant frame rate setting? How many frames of each?
- What is the average bitrate of each encoded track in the `Destination`?
- Are HandBrakes work threads finishing and exiting properly?
- Is HandBrake leaking memory during encoding?
Obviously, it would be *laborious* to ask these questions to thousands of people requesting support for HandBrake.
In contrast, providing an Activity Log is an easy way to explain exactly what is going on in a standardized manner, which helps ensure accuracy and prevent confusion. This speeds up the support process significantly, which saves time for everybody.
Despite this, some people refuse to provide logs even after being given the above reasoning. Often times, these people think their question is simple enough that a log shouldnt be required. This is almost never the case in practice, and time is wasted asking and answering questions that Activity Logs are designed for.
While it is the HandBrake Teams goal to help everyone we can, the fact remains that we cant magically infer what may or may not be happening inside your computer. *Without an Activity Log, the HandBrake Team simply cannot provide technical support.*
## Privacy
Activity Logs are stored *only* on your computer. HandBrake does not send these logs anywhere else.
If you are concerned about retaining these logs indefinitely, feel free to delete them periodically. Be sure not to delete any other files important to HandBrakes operation.
To provide an Activity Log for support, you must send us your log(s) manually. If you are concerned about private information an Activity Log may contain and reveal to others, feel free to read through the log and redact the parts that concern you before sharing.
## Sharing
To share your Activity Log publicly—for instance, to request technical support for HandBrake—you may wish to do one of the following:
- Copy and paste the text of the log to a Pastebin site such as [Pastebin.com](http://pastebin.com)
- Upload the log file to a free temporary file sharing service such as [WeTransfer](https://www.wetransfer.com/)
- Upload the log file to a paid file sharing service such as [Box](https://www.box.com/), [Dropbox](https://www.dropbox.com), or [Jumpshare](https://jumpshare.com/)
Once your log is available publicly, share its link with your intended recipient(s). When using a free service, be sure to note how long the service intends to store your log (typically 1-7 days).
Activity Logs may also be pasted directly into [new support requests on GitHub](https://github.com/HandBrake/HandBrake/issues/new).
## Where to find the logs
**Note:** When scanning a new source during encoding, log messages from the scan may be intermixed with log messages from your currently running encode.
<!-- .system-linux -->
### Activity Logs on Linux
You can access the current log by opening the Activity Log window in HandBrake.
<!-- image, activity log window on linux -->
On Linux, logs are stored in one of two locations, where `~` is your home directory:
- The `ghb` directory at your systems default data path (usually `~/.config`), for the official PPA and self-compiled builds
- The `fr.handbrake.ghb/config/ghb` directory at your systems Flatpack data path (usually `~/.var/app`), for the official Flatpak bundle
The full path to the log directory is shown at the top of the Activity Log window.
Inside, you may find the following files:
- `Activity.log.ProcessID`, where `ProcessID` is the process identifier given to HandBrake by Linux, contains information about the specific app session
- Log files for individual encodes are located in the `EncodeLogs` subdirectory and named according to the pattern `Videoname Date Time.txt`; encode logs are retained until deleted manually
<!-- /.system-linux -->
<!-- .system-macos -->
### Activity Logs on Mac
You can access the current log by opening the Activity Log window in HandBrake.
<!-- image, activity log window on mac -->
On Mac, logs are stored at the following locations, where `Username` is your user name:
- `/Users/Username/Library/Containers/fr.handbrake.HandBrake/Data/Library/Application Support/HandBrake/EncodeLogs` for HandBrake 1.3.0 and later, sandboxed nightly/snapshot builds, and sandboxed personal builds
- `/Users/Username/Library/Application Support/HandBrake/EncodeLogs` for HandBrake 1.2.2 and earlier, older non-sandboxed nightly/snapshot builds, and non-sandboxed personal builds
You can open the applicable location directly from HandBrakes Activity Log window.
Inside, you may find the following files:
- `HandBrake-activitylog.txt` is overwritten each time HandBrake starts, and contains information about the latest app session
- Log files for individual encodes are named according to the pattern `Videoname Date Time.txt` and are retained until deleted manually
<!-- /.system-macos -->
<!-- .system-windows -->
### Activity Logs on Windows
You can access the current log by opening the Activity Log window in HandBrake.
<!-- image, activity log window on windows -->
On Windows, logs are stored at the following locations, where `Username` is your user name:
- `C:\Users\Username\AppData\Roaming\HandBrake\logs` on Windows 7, 8, and 10
- `C:\Users\Username\Application Data\HandBrake\logs` on Windows Vista
Inside, you may find the following files:
- `activity_logProcessID.txt`, where `ProcessID` is the process identifier given to HandBrake by Windows, contains information about the specific app session
- Log files for individual encodes are named according to the pattern `Videoname Date Time.txt` and are retained until deleted manually
<!-- /.system-windows -->
### Activity Logs on the command line
HandBrakes command line interface outputs to the standard streams `stdout` and `stderr`, with encode progress information routed to the former and log messages routed to the latter.
To capture HandBrakes log messages to a file, simply redirect `stderr`:
HandBrakeCLI ... 2> my-activity-log.txt

View File

@ -0,0 +1,44 @@
---
Type: article
Title: Community support
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Community support
=================
If you run into problems using HandBrake, first take a look at this documentation's [Table of contents](../table-of-contents.html)—the information you need may be just a click away.
Didn't find it? Keep reading.
## Activity Logs
Providing an Activity Log is **required** for all support requests. It is the fastest and most accurate way for the HandBrake Team to understand any potential issues you may be facing. Logs are stored *only* on your computer, so please read more about where to find your [Activity Logs](activity-log.html) and how to share them when requesting support.
You may think you have a simple question for which providing a log seems unnecessary. Please read the section, *Why Activity Logs are required for support* on the [Activity Log](activity-log.html) article. *Without an Activity Log, the HandBrake Team simply cannot provide technical support.*
## Community Forums
The [HandBrake Community Forums](https://forum.handbrake.fr/) are available 24/7. Whether you have a support request or simply want to connect with other HandBrake users, this is the place. Registration is free. Please read and abide by our [Community Rules](https://forum.handbrake.fr/viewtopic.php?f=6&t=6702).
If you need help or have encountered an error while using HandBrake, first take a look at our [Support Forums](https://forum.handbrake.fr/viewforum.php?f=16) or [Search](https://forum.handbrake.fr/search.php) using some words related to your questions. Doing this saves everyone from repeating answers to common questions. If you still haven't found an answer, feel free to start a new support request. Make sure to read [How To Request Support](https://forum.handbrake.fr/viewtopic.php?f=6&t=31236) before posting.
Developers and keen users may report bugs on HandBrake's [issue tracker on GitHub](https://github.com/HandBrake/HandBrake/issues). Please make sure to fill out all requested information, including an [Activity Log](activity-log.html).
## IRC discussion channels
Real-time chat is available via #HandBrake on the [Libera.Chat](https://libera.chat/) IRC Network. Make sure to provide an [Activity Log](activity-log.html) when requesting support.
Note that HandBrake's developers are located in various timezones around the world, and have lives and jobs outside of HandBrake and its community. It's possible that nobody will be able to answer your support request on IRC right away. Be patient for awhile or ask on the forums.
Developer discussion happens on the channel #HandBrake-dev, which is moderated for the team's sanity. If you're a developer and would like to speak on #HandBrake-dev, you may ask politely in #Handbrake

View File

@ -0,0 +1,106 @@
---
Type: article
Title: Troubleshooting common issues
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Troubleshooting common issues
=============================
<!-- .system-linux -->
## HandBrake for Linux
### Cannot find HandBrake executable
The HandBrake graphical interface executable is `ghb`. Simply launch your terminal application and type `ghb` followed by the return key.
Please consult your distribution's documentation for how to add HandBrake to your application launcher.
### General troubleshooting
Try each of the following steps until HandBrake is working again.
1. Make sure you have official HandBrake and not a broken third-party build; see [Where to get HandBrake](../get-handbrake/where-to-get-handbrake.html)
2. Restart your computer
3. Delete your HandBrake configuration data and presets (replace username with your own)
- /home/username/.config/ghb
4. Install/reinstall the latest version of HandBrake; see [Downloading and installing HandBrake](../get-handbrake/download-and-install.html)
If the above does not solve your issue, someone may be able to help via HandBrake's [Community support](community-support.html) channels.
<!-- /.system-linux -->
<!-- .system-macos -->
## HandBrake for Mac
### HandBrake does not launch
*HandBrake releases since version 1.1.0 are signed with an Apple Developer Certificate. These instructions are only applicable to [nightly builds](https://handbrake.fr/nightly.php)[^nightly-builds].*
Unlike HandBrake releases, HandBrake nightly builds are not code signed using an Apple Developer Certificate. The first time you attempt to launch a HandBrake nightly or snapshot build, your Mac may present this message to you[^gatekeeper-disabled]:
![Mac Gatekeeper message](../../images/mac/gatekeeper-message-1.1.0.png "Gatekeeper may present this message when launching a HandBrake nightly build for the first time.")
Select `OK` to dismiss the Gatekeeper message, then hold down the `Control` key and select the HandBrake icon to bring up the shortcut menu. Select `Open` and your Mac will ask whether you are certain you wish to open HandBrake. Confirm that you want to trust HandBrake by again selecting `Open`.[^gatekeeper-instructions]
![Opening HandBrake using Finder's shortcut menu](../../images/mac/shortcut-menu-open-1.1.0.png "Launching HandBrake using the Open option in the Finder's shortcut menu will bypass the initial Gatekeeper message.")
![Gatekeeper message with Open option](../../images/mac/gatekeeper-message-quarantine-1.1.0.png "Gatekeeper may also present this message when launching HandBrake for the first time. Selecting Open will tell Gatekeeper to trust HandBrake.")
Now HandBrake is up and running. You should not have to repeat this process in the near future.
### General troubleshooting
Try each of the following steps until HandBrake is working again.
1. Restart your computer
2. Delete your HandBrake configuration data and presets (replace `Username` with your user name)
- /Users/Username/Library/Containers/fr.handbrake.HandBrake/Data/Library/Application Support/HandBrake/
- /Users/Username/Library/Application Support/HandBrake
3. Install/reinstall the latest version of HandBrake; see [Downloading and installing HandBrake](../get-handbrake/download-and-install.html)
If the above does not solve your issue, someone may be able to help via HandBrake's [Community support](community-support.html) channels.
<!-- /.system-macos -->
<!-- .system-windows -->
## HandBrake for Windows
### Downloading Microsoft .NET Core
- [Microsoft .NET Core 5.x](https://dotnet.microsoft.com/download/dotnet/5.0/runtime)
Please make sure to download the "Desktop Runtime".
Download the "x64" versionf or Intel or AMD based systems.
Download the "Arm64" for ARM based devices running Windows.
### General troubleshooting
Try each of the following steps until HandBrake is working again.
1. Restart your computer
2. Make sure you have the latest version of .NET Desktop Runtime installed for your system.
3. Delete your HandBrake configuration data and presets (replace username with your own)
- C:\Users\username\AppData\Roaming\HandBrake
- C:\Users\username\AppData\Local\HandBrake
4. Install/reinstall the latest version of HandBrake; see [Downloading and installing HandBrake](../get-handbrake/download-and-install.html)
If the above does not solve your issue, someone may be able to help via HandBrake's [Community support](community-support.html) channels.
<!-- /.system-windows -->
[^nightly-builds]: Nightly builds are based on HandBrake's latest development code, including new and experimental features that may be unstable or significantly different than the latest release version. Although everyone is welcome to try them, nightly builds are best suited for experienced users and developers.
[^gatekeeper-disabled]: If Gatekeeper is disabled on your Mac, you may not see this message.
[^gatekeeper-instructions]: These instructions are taken directly from Apple's Gatekeeper support documents. You can learn more about Gatekeeper [here](https://support.apple.com/en-us/HT202491)

View File

@ -0,0 +1,28 @@
---
Type: article
Title: Welcome
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Welcome
=======
Welcome to the English documentation for HandBrake 1.5.0 through 1.5.1.
Here are some quick links to get you started:
- To quickly get up and running with HandBrake, continue to [Quick start](introduction/quick-start.html)
- To get a copy of HandBrake (*it's free!*), see [Downloading and installing HandBrake](get-handbrake/download-and-install.html)
- A more detailed guide to using HandBrake begins with [Opening a video source](workflow/open-video-source.html)
- Having problems? See [Troubleshooting common issues](help/troubleshooting-common-issues.html)
Continue to the [Table of contents](table-of-contents.html) for a list of all available articles.

View File

@ -0,0 +1,73 @@
---
Type: article
Title: About HandBrake
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
About HandBrake
===============
## What HandBrake is
HandBrake is an open-source video transcoder available for Linux, Mac, and Windows. Everyone can use HandBrake to make videos *for free*.
HandBrake is a post-production tool. Its primary purpose is to convert videos from supported [source formats](../technical/source-formats.html) to MP4, MKV, or WebM format. If you wish to make changes to your `Source` video, please use an appropriate [video editing software](https://en.wikipedia.org/wiki/List_of_video_editing_software).
## What HandBrake does
HandBrake takes videos you already have and makes new ones that work on your mobile phone, tablet, TV media player, game console, computer, or web browser—nearly anything that supports modern video formats.
HandBrake works with most common video files and formats, including ones created by consumer and professional video cameras, mobile devices such as phones and tablets, game and computer screen recordings, and DVD and Blu-ray discs. HandBrake leverages tools such as FFmpeg, x264, and x265 to create new MP4, MKV, or WebM video files from these `Sources`.
HandBrake **does**:
- Convert nearly any video to MP4, MKV, or WebM
- Crop and resize video
- Restore old and low-quality video
- Remove combing artifacts caused by interlacing and telecine
- Pass-through audio without conversion for certain audio types
- Downmix discrete surround sound to matrixed surround or stereo
- Adjust audio volume levels, and dynamic range for certain audio types
- Preserve existing subtitles, and add or remove soft subtitles (subtitles stored as text)
HandBrake can also make videos that are smaller—taking up less storage space on your device—than the originals.
## What HandBrake does not do
HandBrake **does not**:
- Combine multiple video clips into one
- Pass-through video without conversion (video is *always* converted)
- Create Blu-ray, AVCHD, or DVD discs
- Make cocktails (yet)
HandBrake also does not defeat or circumvent [copy protection](https://en.wikipedia.org/wiki/Copy_protection) of any kind. It does not work with video files employing [Digital Rights Management](https://en.wikipedia.org/wiki/Digital_rights_management) (DRM). This includes but is not limited to, copy protected content from iTunes, Amazon Video, Netflix, or other online providers, and many commercial DVD and Blu-ray discs.
Applications such as [AnyDVD HD](https://en.wikipedia.org/wiki/AnyDVD) for Windows and [MakeMKV](https://www.google.com/search?q=makemkv&ie=utf-8&oe=utf-8) for Linux, Mac, and Windows can create copies of DVD and Blu-ray discs that HandBrake can open, reducing wear on the original discs and often fixing errors due to poorly mastered or otherwise broken discs.[^third-party-apps]
Do not use HandBrake or any other application to copy materials you do not own or have the right to copy. If you are uncertain about your right to copy any material, you should contact your legal advisor.
<!-- .continue -->
## Next steps
<!-- .success -->
Continue to [Where to get HandBrake](../get-handbrake/where-to-get-handbrake.html).
<!-- /.success -->
<!-- /.continue -->
[^third-party-apps]: The HandBrake Team has no affiliation with these applications or their creators. If support is needed, please use their respective contact channels directly.

View File

@ -0,0 +1,174 @@
---
Type: article
Title: Quick start
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Quick start
===========
HandBrake takes videos you already have and makes new ones that work on your mobile phone, tablet, TV media player, game console, computer, or web browser—nearly anything that supports modern video formats.
This quick start guide assumes you have already downloaded and installed HandBrake. If you do not already have HandBrake, please see [Downloading and installing HandBrake](../get-handbrake/download-and-install.html).
Let's get started.
## Launch HandBrake
Launch HandBrake by quickly clicking twice (double-clicking) on the cocktail & pineapple icon. Depending on your system settings, a single click may suffice.
![HandBrake icon](../../images/icon-1.1.0.png)![Double-clicking HandBrake icon](../../images/icon-click-1.1.0.gif)
## Open your existing video
HandBrake calls the video you already have the `Source`.
Select the `Open Source` button on the toolbar to browse your files for a video to open. You may also drag your `Source` video onto HandBrake's main window.
<!-- .system-linux -->
<!-- TODO: Linux figures. -->
<!-- /.system-linux -->
<!-- .system-macos -->
![Browsing for a video source to open](../../images/mac/open-source-dialog-1.1.0.png "The Open Source dialog allows you to browse your files for a video to open.")
![Opening a video source via drag and drop](../../images/mac/open-source-drag-drop-1.1.0.png "In addition to the Open Source dialog, you may also open a video by dragging it to HandBrake's main window.")
<!-- /.system-macos -->
<!-- .system-windows -->
<!-- TODO: Windows figures. -->
<!-- /.system-windows -->
## Select a title
Some `Sources` may contain more than one video clip, or a collection of `Titles`. Use HandBrake's `Title` control to select which video clip you want to use.
<!-- .system-linux -->
<!-- TODO: Linux figures. -->
<!-- /.system-linux -->
<!-- .system-macos -->
![Selecting a title](../../images/mac/title-selection-1.1.0.png "Some sources may contain more than one video clip. The title control lets you select which video clip you want to use.")
<!-- /.system-macos -->
<!-- .system-windows -->
<!-- TODO: Windows figures. -->
<!-- /.system-windows -->
Some `Sources` have only one `Title`. Blu-ray and DVD `Sources` often have multiple `Titles`.
## Select a preset
HandBrake provides a number of settings `Presets` to make your new video work well with your playback devices and software. For instance, if you have a PlayStation 4, you may wish to select the `Playstation 1080p30 Surround` preset under `Devices`.
The default `Fast 1080p30` preset is often a good choice because it's fast and compatible with most devices.
<!-- .system-linux -->
<!-- TODO: Linux figures. -->
<!-- /.system-linux -->
<!-- .system-macos -->
![Selecting a preset](../../images/mac/preset-selection-1.1.0.png "Presets are one-click settings to save you time and help ensure compatibility with your devices.")
<!-- /.system-macos -->
<!-- .system-windows -->
<!-- TODO: Windows figures. -->
<!-- /.system-windows -->
`Presets` can affect compatibility (whether your video will work with your devices and software) and encoding time. Learn more about [Selecting a preset](../workflow/select-preset.html).
## Select a destination
HandBrake calls the file name and location of your new video the `Destination`.
`Save As` is the file name of your new video. You can change it by typing directly in the box.
`To` is the location where HandBrake will place your new video. You can select the `Browse...` button to choose a different location.
<!-- .system-linux -->
<!-- TODO: Linux figures. -->
<!-- /.system-linux -->
<!-- .system-macos -->
![Selecting a destination](../../images/mac/destination-field-1.1.0.png "The Destination is where HandBrake will place your new video.")
<!-- /.system-macos -->
<!-- .system-windows -->
<!-- TODO: Windows figures. -->
<!-- /.system-windows -->
Please take special care to *note your destination*. Otherwise, you won't be able to find your new video. You can move it later if you desire.
## Start the encode
Select the `Start` button on the toolbar to make your new video.
<!-- .system-linux -->
<!-- TODO: Linux figures. -->
<!-- /.system-linux -->
<!-- .system-macos -->
![Encode progress](../../images/mac/encode-progress-1.1.0.png "HandBrake reports its progress during encoding.")
![Encoding complete alert](../../images/mac/encode-complete-1.1.0.png "HandBrake shows a notification when finished encoding.")
<!-- /.system-macos -->
HandBrake will report its progress while it's working and alert you when it's finished. Then you will have a new video file at the `Destination` you specified.
<!-- .system-macos -->
![Destination in Finder](../../images/mac/destination-finder-1.1.0.png "Your new video is located at the Destination you specified.")
<!-- /.system-macos -->
<!-- .system-windows -->
<!-- TODO: Windows figures. -->
<!-- /.system-windows -->
Congratulations! You just encoded your first video using HandBrake. It's now ready to watch on your devices.
<!-- .continue -->
## Next steps
<!-- .success -->
Continue to [About HandBrake](about.html).
<!-- /.success -->
<!-- .fail -->
If you didn't get a video file as expected, encountered an error, or had some other trouble, you can continue reading to learn more about how HandBrake works or jump right to [Troubleshooting common issues](../help/troubleshooting-common-issues.html).
<!-- /.fail -->
<!-- /.continue -->

View File

@ -0,0 +1,169 @@
---
Type: article
Title: Table of contents
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Table of contents
=================
## Introduction
- [Quick start](introduction/quick-start.html)
*Learn how to make your first video in minutes*
- [About HandBrake](introduction/about.html)
*What HandBrake is, does, and does not*
## Getting HandBrake
- [Where to get HandBrake](get-handbrake/where-to-get-handbrake.html)
*The officially supported version*
- [Downloading and installing HandBrake](get-handbrake/download-and-install.html)
*How to get HandBrake onto your computer*
- [Checking for updates](get-handbrake/check-for-updates.html)
*Staying up to date with the latest features and bug fixes*
## Making videos
- [Opening a video source](workflow/open-video-source.html)
*How to get your videos into HandBrake*
- [Selecting a preset](workflow/select-preset.html)
*Tailored settings for instant compatibility with many devices*
- [Adjusting quality](workflow/adjust-quality.html)
*Easily increase visual quality or reduce file size*
- [Previewing your settings](workflow/preview-settings.html)
*See what your new video will look like in a fraction of the time*
- [Starting encoding](workflow/start-encoding.html)
*Start encoding your new video with one click*
## Advanced workflows
- [Using the queue](advanced/queue.html)
*Set up multiple encode jobs at once*
- [Point-to-point encoding](advanced/point-to-point.html)<span class="notice draft"><span>draft</span></span>
- [Custom presets](advanced/custom-presets.html)<span class="notice draft"><span>draft</span></span>
- [Audio and subtitle defaults](advanced/audio-subtitle-defaults.html)<span class="notice draft"><span>draft</span></span>
- [Resizing video](advanced/resizing-video.html)<span class="notice draft"><span>draft</span></span>
- [Preserving surround sound](advanced/surround-sound.html)<span class="notice draft"><span>draft</span></span>
- [Adding subtitles](advanced/subtitles.html)<span class="notice draft"><span>draft</span></span>
- [Adding chapter markers](advanced/chapter-markers.html)<span class="notice draft"><span>draft</span></span>
<!-- - [Managing Audio Tracks](advanced/managing-audio.html) -->
<!-- - [Post-processing metadata](advanced/post-processing.html) -->
<!-- ## Restoration and enhancement
- Common video problems
- Cropping, Black bars at top/bottom or sides
- Combing effects caused by interlacing or telecine
- Detelecine filter
- Decomb filter vs. Deinterlace filter
- Bob mode and frame rates, motion
- Noise (grainy appearance and/or color splotches)
- Denoise filters: NLMeans and HQDN3D
- Blocky picture
- Deblock filter
- Stretched picture (too wide or too tall)
- Scaling and anamorphic
- Common audio problems
- Volume level too low
- Dynamics too wide (soft whispers, loud booms)
-->
<!-- ## Advanced workflows part 2
- [Understanding source types](advanced/video-sources.html)<span class="notice draft"><span>draft</span></span>
- [Selecting a container format and encoders](advanced/containers.html)<span class="notice draft"><span>draft</span></span>
- [Selecting a video angle](advanced/video-angles.html)<span class="notice draft"><span>draft</span></span>
- [Working with frame rates](advanced/frame-rates.html)<span class="notice draft"><span>draft</span></span>
- [Adjusting audio quality](advanced/audio-quality.html)<span class="notice draft"><span>draft</span></span>
- [Progressive download support](advanced/web-optimised.html)<span class="notice draft"><span>draft</span></span>
- [Compatibility with legacy devices](advanced/old-ipod-support.html)<span class="notice draft"><span>draft</span></span>
- [Automatically naming files](advanced/automatic-file-naming.html)<span class="notice draft"><span>draft</span></span>
-->
## Getting help
- [Troubleshooting common issues](help/troubleshooting-common-issues.html)
*What to do if something goes wrong*
- [Community support](help/community-support.html)
*Get help from real people*
- [Activity Log](help/activity-log.html)
*Activity Logs help you receive better support*
## More information
- [Project history](about/history.html)<span class="notice draft"><span>draft</span></span>
- [Contributing](contributing/contribute.html)
*How you can get involved*
## CLI documentation
- [Command line reference](cli/command-line-reference.html)
- [CLI options list](cli/cli-options.html)<span class="notice draft"><span>draft</span></span>
## Technical documentation
- [System requirements](technical/system-requirements.html)
*Make sure your system can run HandBrake*
- [Supported source formats](technical/source-formats.html)
*Types of video files HandBrake can read*
- [Official presets](technical/official-presets.html)
*Technical summary of the official presets*
- [Performance](technical/performance.html)
*How various settings affect encoding speed*
- [Process Isolation](technical/process-isolation.html)
*Process Isolation and Multiple Simultaneous Jobs supports*
- Video
- [Video codecs](technical/video-codecs.html)<span class="notice draft"><span>draft</span></span>
- [10/12-bit encoding](technical/video-bit-depth.html)<span class="notice draft"><span>draft</span></span>
- [HDR10 encoding](technical/hdr10.html)<span class="notice draft"><span>draft</span></span>
- [Constant quality versus average bit rate](technical/video-cq-vs-abr.html)<span class="notice draft"><span>draft</span></span>
- [Presets and tunes](technical/video-presets-tunes.html)<span class="notice draft"><span>draft</span></span>
- [Profiles and levels](technical/video-profiles-levels.html)<span class="notice draft"><span>draft</span></span>
- [Video angles](technical/video-angles.html)<span class="notice draft"><span>draft</span></span>
- [Anamorphic video](technical/anamorphic-guide.html)<span class="notice draft"><span>draft</span></span>
- [Frame rate](technical/frame-rates.html)<span class="notice draft"><span>draft</span></span>
- [Filters](technical/filters-summary.html)<span class="notice draft"><span>draft</span></span>
- Hardware encoders
- [AMD VCE](technical/video-vce.html)
- [Apple VideoToolbox](technical/video-videotoolbox.html)
- [Intel Quick Sync Video](technical/video-qsv.html)
- [NVIDIA NVENC](technical/video-nvenc.html)
- [Media Foundation (ARM)](technical/video-mediafoundation.html)
- Audio
- [Dynamic range compression](technical/dynamic-range-compression.html)<span class="notice draft"><span>draft</span></span>
- [Audio quality](technical/audio-quality.html)<span class="notice draft"><span>draft</span></span>
- Files and compatibility
- [Container formats](technical/containers.html)<span class="notice draft"><span>draft</span></span>
- [iPod 5th Generation support](technical/old-ipod-support.html)<span class="notice draft"><span>draft</span></span>
- [Automatic file naming](technical/automatic-file-naming.html)<span class="notice draft"><span>draft</span></span>
## Developer documentation
- Building HandBrake
- [Building HandBrake for BSD](developer/build-bsd.html)
- Installing dependencies on [FreeBSD](developer/install-dependencies-freebsd.html) / [NetBSD](developer/install-dependencies-netbsd.html)
- [Building HandBrake for Linux](developer/build-linux.html)
- Installing dependencies on [Arch](developer/install-dependencies-arch.html) / [CentOS](developer/install-dependencies-centos.html) / [Clear](developer/install-dependencies-clear.html) / [Debian](developer/install-dependencies-debian.html) / [Fedora](developer/install-dependencies-fedora.html) / [Gentoo](developer/install-dependencies-gentoo.html) / [Ubuntu](developer/install-dependencies-ubuntu.html) / [Void](developer/install-dependencies-void.html)
- [Building HandBrake for Mac](developer/build-mac.html)
- [Building HandBrake for Windows](developer/build-windows.html)
- Packaging HandBrake
- [Flatpak apps for Linux](developer/flatpak-repo.html)<span class="notice draft"><span>draft</span></span>
*Fully-contained applications compatible with multiple Linux distributions*

View File

@ -0,0 +1,215 @@
---
Type: article
State: [ draft ]
Title: Anamorphic Guide
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: []
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Anamorphic Guide
=============================
Short Visual Example
--------------------------
These are scaled down 50% in size, in case you couldn't tell.
Here's the size of a movie stored on a DVD. On the disc, the film is distorted. Instead of being truly widescreen, it's squeezed into a narrower frame.
![Storage Resolution](../../images/anamorphic/storage_size.png)
To restore the proper shape, you can either squeeze the picture vertically or stretch the picture horizontally. One shrinks the image, and one expands it.
Here's the size of a movie that's been squeezed vertically. This shrinks the image. Notice how the width stays the same as what's stored on the DVD, but the height is reduced:
![Corrected Display Resolution](../../images/anamorphic/storage_size.png)
Here's the display size of a movie that's been stretched horizontally -- HandBrake's default. This expands the image. Note that it preserves the full height of the image stored on the DVD:
![Anamorphic Display Resolution](../../images/anamorphic/storage_size.png)
Anamorphic in HandBrake means encoding that distorted image stored on the DVD, but telling the video player how to stretch it out when you watch it. This produces that nice, big, widescreen image.
Enabling Anamorphic PAR
--------------------------
You can enable anamorphic support via the Picture Settings tab on the main window.
Anamorphic DVDs
--------------------------
An image is stored on a DVD at 720*480 (NTSC) or 720*576 (for PAL). I'm in North America so I'll be using NTSC numbers in my examples. (See the PAL appendix for the differences.)
This is what the image stored on an anamorphic NTSC DVD looks like (for information on non-anamorphic DVDs, see the Hard Letterboxing Appendix):
![Anamorphic DVD Example](../../images/anamorphic/storage_size.png)
Notice how it's distorted? That's the anamorphic part. DVDs are stored with a 1.5:1 aspect ratio.
## Aspect Ratios
Wait, aspect ratio? What?
Aspect ratio is the width, divided by the height. DVDs are stored with a 720*480 resolution, and 720 / 480 = 1.5. That means it's 1.5 times wider than it is tall.
But video isn't meant to be seen with a 1.5:1 aspect ratio. It's not wide enough for movies and widescreen TV, and too wide for standard TV. One common widescreen aspect ratio is 1.78:1, or 16/9. This is the native aspect ratio of widescreen TVs. Standard TVs use an aspect ratio of 4/3 (1.33:1).
DVD video has an "aspect ratio flag" which tells the DVD player how to distort the picture stored on the DVD to recreate the original film aspect ratio. This flag is either 4/3 or 16/9.
Of course, a lot of movies are wider than 16/9. One popular aspect ratio is 2.35:1, which is quite a bit wider. When this is stored on a DVD, it too is given the 16:9 aspect ratio flag. Of course, the content itself is wider. To cope with this, black bars (letterboxing) line the top and bottom of the picture. This can be a difficult part to grasp. At least, it was for me. So I'm going to repeat this with a few different wordings.
## Letterboxing
When anamorphic DVD content is stretched for viewing on a widescreen TV, it *always* stretches to 854*480. 480 is too "tall" for films wider than 16:9. To make it "shorter" the top and bottom are matted with black lines. So whether a movie has an aspect ratio of 1.78:1, 1.85:1, or 2.35:1, it is always going to displayed 854 pixels wide. The visible frame height (when you remove the letterboxing) just gets shorter and shorter to match the aspect ratio—480, 460, and 360, consecutively. (Those height and width values are only approximate. For details, see the Macroblock Appendix.)
The storage width is the width of the visible frame on the DVD (almost always 720) and the display width is 854 (storage height of 480 times 16/9). The display height is the height of the visible frame on the DVD—the frame after cropping away black bars. This is going to be roughly equivalent to the display width divided by the film's aspect ratio.
## What happens on a TV
When you play the DVD on a widescreen 16:9 television, it keeps the height and stretches the width (854*480). This is what it means when a DVD box proclaims "Enhanced for widescreen." When you play the DVD on a standard 4:3 television, it reduces the width to 640 (the maximum width for a standard TV) and squishes the height to 360 to match the aspect ratio.
Both ways recreate the film's aspect ratio. The first way multiplies the height (480) by a 16:9 aspect ratio, and uses that for the width. The second method takes the width (720), reduces it to the maximum width of a standard TV (640), divides it by the film's aspect ratio (1.78:1 aka 16:9), and uses that as the height.
## Flexibility
To put this another way, "anamorphic" means the movie doesn't have a single, native shape that you watch. Instead, it shape-shifts. If you're watching it on a standard TV, it morphs to fit it. When you play it on a widescreen TV, it morphs to fit it, too.
What happens when anamorphic is turned off
-------------------------------------------
When Anamorphic is disabled, HandBrake corrects the aspect ratio by maintaining the width and squishing the height to match. The result looks like this:
![Anamorphic Turned Off](../../images/anamorphic/storage_size.png)
This is very similar to what happens when you play a DVD on a standard 4:3 television. The only difference is, HandBrake leaves the width at 720, instead of reducing it to 640. So it divides 720 by the aspect ratio, giving you output dimensions of 720*404. (If you're testing me on this and you get a width of 704 or a height of 400, please see the Macroblock Appendix.)
Of course, that means you're reducing the vertical line count from 480p to 404p... a significant reduction in picture quality.
There are other ways to go about encoding the anamorphic video, in order to keep that from happening.
Anamorphic encoding methods
-------------------------------------------
### Crude anamorphic
The crude way (which is easily done from !HandBrakeCLI), is to maintain the height and "hard" stretch the frame width to 854 (for details, see the CLI Appendix). The problem with this is that you end up storing an image that's got a higher resolution than your DVD source—it takes up more space. Instead of a 720*480 frame or a 720*404 frame, you're writing a 854*480 frame to disk.
### Strict anamorphic
The second method is far less wasteful. Why not do the same thing a DVD does? Store in one aspect and display in another.
With this method, you can preserve the full frame on the DVD, without having to store it at its wider display resolution. Compared to storing 854*480 on disk, storing 720*480 reduces file size while maintaining exactly the same quality.
Now, how do we go about doing this?
Video on a computer is stored in a container file, be it .mp4 or .mkv or .avi or .ogm or something else. Inside that container are tracks or streams. Usually, there will be one video track and one audio track.
The smart way of handling anamorphic is to store the display information in the video track. And this is exactly what HandBrake does:
![Anamorphic Strict](../../images/anamorphic/storage_size.png)
### Pixel Aspect Ratio
In fact, it is displaying 720*480. Only, the video track is telling VLC: "Display this with wide pixels instead of the square ones you usually use." So instead of an image of square blocks, it becomes an image of wide rectangular blocks.
Because computers think of video in terms of square pixels, VLC has to figure out what arrangement of square pixels is needed to reproduce the image in its correct dimensions. It does this by multiplying the storage width (720) by a ratio: the Pixel Aspect Ratio, or PAR. By default, the PAR is 1:1. With that ratio, what you see is what you get—square pixels. The video is stored and displayed with the same dimensions. In order to recreate 16:9 pixels from 1:1 pixels, the ratio is 32/27 (16*2 / 9*3). For every 32 square pixels across, it uses 27 square pixels up and down. You already know this, another way: it produces the same results as multiplying the height (480) by 16/9. Multiply 720 by 32 and divide that by 27, and you end up with 854, the display width in square pixels.
This is anamorphic PAR, and it is very, very sexy.
### The downside of strict anamorphic
Strict anamorphic concentrates on one thing and one thing only: preserving the exact visible frame of a DVD, displayed to exactly the same size as it would be from the DVD.
This means it will sometimes use odd dimensions, ones that don't divide cleanly by 16. When this happens, the video encoders cannot work as efficiently — x264 warns that "compression will suffer."
It also means that, when using strict anamorphic, it is impossible to change the stored size of the encoded frame. It will simply use the exact frame size of the DVD and apply cropping.
### Loose anamorphic
Loose anamorphic starts off the same way as strict -- with the exact visible frame on the DVD. But then it adjusts the dimensions to be sure they divide cleanly by 16. After that, it adjusts the display size so the film's aspect ratio is preserved with the new dimensions.
You can also scale the width of the storage frame, using loose anamorphic. For example, the full-sized storage frame has a width of 720. You could scale that down to 640. HandBrake will automatically keep the aspect ratio of the storage frame. So as the full-sized is 720*480 (a 1.5:1 aspect ratio), a scaled down one would be 640*432 (as close as one can get to 1.5:1 while keeping dimensions that divide cleanly by 16). HandBrake will then calculate the proper display size for that scaled frame, one which preserves the source's film aspect ratio.
There are some other minor differences in the output of loose versus strict, but they are nerdy. Only the curious and sleepless need bother reading about them in the ITU appendix.
What about QuickTime? And iPods? And AppleTVs? And iPhones?
----------------------------------------------------------------
In order to preset anamorphic video in QuickTime, HandBrake adds extra display information to the .mp4 container wrapping the video, called a picture aspect atom.
This is different from the information in the video stream, but achieves the same effect.
In this manner, HandBrake creates anamorphic video that can be displayed with QuickTime, as well as with iPods, as well as with iPhones, as well as with AppleTVs, as well as with open source video players like VLC and MPlayer.
Further Reading
-----------------
[Wikipedia: Anamorphic Widescreen](https://en.wikipedia.org/wiki/Anamorphic_widescreen)
Appendices
-----------------
## Command Line (CLI)
### Hard stretching to anamorphic in HandBrakeCLI
It's really easy. You just have to specify the visible frame height. Say your command is:
./HandBrakeCLI -i dvd -o movie.mp4
What you add for anamorphic encoding depends on the film's aspect ratio.
- 1.78:1 means adding "-l 480" to the end of the command.
- 1.85:1 means adding "-l 460"
- 2.35:1 means adding "-l 360"
So for a 1.85:1 movie your complete command would be:
./HandBrakeCLI -i dvd -o movie.mp4 -l 460
What this is going to do is give you output dimensions of 854*460. That means you are storing a movie with a frame size 33% larger than the DVD. So only use it to play around. It's a total waste of storage space.
Instead do...
### Anamorphic PAR in HandBrakeCLI
This is even easier. For strict anamorphic just add a "-p" like so:
./HandBrakeCLI -i dvd -o movie.mp4 -p
And for loose anamorphic, use a "-P":
./HandBrakeCLI -i dvd -o movie.mp4 -P
That will output a movie with dimensions of 720*480 (for a 1.78:1 NTSC film) but which QuickTime, VLC, and MPlayer will display as 854*480. The same display as a hard stretched anamorphic DVD, without storing a 33% larger image.
Note that when using loose anamorphic, you can also include a storage width to use. In addition, you can choose what number the dimensions should divide by cleanly. By default, this is 16, the size of MPEG macroblocks. It is passed as the optional argument to -P.
So, for example, to do an anamorphic encode to a frame sized 640*424, you could use:
./HandBrakeCLI -i dvd -o movie.mp4 -w 640 -P=8
## Hard Letterboxing Appendix
Some widescreen DVDs, especially older ones, aren't anamorphic. These DVDs are specifically designed to play on standard 4:3 TVs. The "aspect ratio flag" for these discs is set to 4:3 even though the content's aspect ratio is wider.
![Hard Letterbox](../../images/anamorphic/storage_size.png)
When you play it on a standard square TV, everything's shiny. However, when you play it on a widescreen TV, you will have black bars not only on the top and bottom, but also on the sides. This gives you a far smaller picture. Those side-bars are often called "pillars." This technique is often used in broadcast television to deliver 16/9 content to standard definition sets. Because it gives you an even smaller picture than letterboxing does, it's sometimes called postage-stamping.
## Macroblock Appendix
MPEG video encoders (like the MPEG-2 used on DVDs or the MPEG-4 variants used by HandBrake) work by dividing the video frame into blocks. The entire frame becomes a grid of blocks, 16 pixels high and 16 pixels wide. These 16x16 blocks are called macroblocks. When you encode video, you have to use height and width values that are multiples of 16. When the height or width doesn't divide cleanly into 16 (that is to say, when there is a remainder), the video encoder has to make up extra "garbage" information for the edges of the frame. This increases the file size or decreases the video quality, depending on whether you're targeting a constant quality or a size/bitrate.
An unhappy side effect of this is that aspect ratios can only be approximate. 720*360 is the storage dimensions of a 2.35:1 movie after cropping. But because 360 is not divisible by 16, you have to bump up to 368 or down to 352. Suddenly the display aspect ratio is 2.32:1.
This is why sometimes, using HandBrake with anamorphic encoding disabled, you will get an output width of 704 for a 1.78:1 film. For whatever reason, HandBrake has decided it needs a width that is slightly lower than 720. But in order to honor macroblocking requirements, widths have to be divisible by 16. 704 is next possible width lower than 720.
Similarly, even though the "perfect" height for a movie 720 pixels wide with a 1.78:1 aspect ratio would be 404, that number isn't cleanly divisible by 16, while 400 is.
When using "strict" anamorphic, HandBrake ignores macroblocking requirements for anamorphic encoding. It makes perfectly preserving the visible frame with a precise aspect ratio its top priority.
When using loose anamorphic, HandBrake uses dimensions that divide cleanly by 16. Using the CLI, you can also tell it to use a different number. Sometimes using 8 instead of 16 allows dimensions that are far closer to the correct aspect ratio.

View File

@ -0,0 +1,106 @@
---
Type: article
State: [ draft ]
Title: Audio Codecs
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Audio Codecs
============
 
Encoding vs Passthrough
-----------------------
HandBrake supports two modes of operation for handling audio tracks from the
source.
It can either:
- Re-Encode the track into a new format. For example, AC3 or DTS audio from a
DVD or BluRay into AAC for playback on mobile devices.
- Passthru copies the audio track from the source to the newly encoded file.
 
Audio Encoders
--------------
- AAC:
- Advanced Audio Coding (AAC) is one of the most popular formats available
in HandBrake and is widly supported by media players and mobile devices.
- On Linux and Windows, HandBrake uses the FFmpeg AAC encoder.
- On Mac, HandBrake uses Apple's CoreAudio AAC encoder. It's known to be
much better quality and is the default option for Mac users.
- HE-AAC (Mac Only)
- High Efficiency AAC encoder. This encoder is optimized for low-bitrate
applications which may be useful for streaming.
- Available on Mac only.
- MP3:
- HandBrake also offers the MP3 audio codec, for which it uses the very
well-regarded lame encoder.
- Vorbis:
- HandBrake offers Vorbis audio encoding as well, for which it uses the
aoTuV branch that offers quality tweaks.
- Opus (FFmpeg)
- Available in MKV files, Opus is the successor to Vorbis. HandBrake uses libopus for encoding.
- AC3 and E-AC3:
- HandBrake can encode to AC3 using FFmpeg.
- This is not the same as Passthru. You can encode any audio track to AC3.
- Flac 16 and 24bit (FFmpeg)
- Lossless audio compression.
- Available in MKV files.
- It is not currently possible to passthru the compression level to the
ffmpeg encoder which is currently defaulted to "5"
 
Passthru options.
-----------------
HandBrake supports passthru for a limited number of popular source formats.
These are: AC3, E-AC3, DTS, DTS-HD, TrueHD, MP3, MP2, AAC or flac (Passthru)
This copies the audio bit-for-bit from the source so offers no loss in audio
quality. These audio tracks can be quite large so can impact the final size of
the output file quite substantially.
 
Auto Passthru
-------------
In the audio encoders list, there is an option called "Auto Passthru". When
encoding, this will automatically passthru any supported format to the source
file. If the source format is not supported, or not supported in the output
container, the fallback encoder will be used. The default is AAC.

View File

@ -0,0 +1,52 @@
---
Type: article
State: [ draft ]
Title: DRC - Dynamic Range Compression
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
DRC - Dynamic Range Compression
===============================
 
Dynamic Range Compression
-------------------------
The dynamic range of an audio track is the difference between the softest and
loudest sounds.
Dynamic range compression reduces the gap between those extremes.
On the Audio tab, each track provides an option to set the level of compression
you wish.
- 1.0-2.5 are good values to use.
- 0, the default, turns it off completely.
- 1.0 uses the compression hints embedded in the AC3 track.
Values greater than 1.0 compress the range further by boosting the volume of
soft sound samples while leaving loud samples as they are. This squeezes down
the range between the softest and loudest parts, but should make the softer ones
easier to hear in noisy listening environments. Note, this is not the same as a
gain or volume boost control.
 
Compatibility
-------------
Dynamic range compression only works when the source audio is AC3 and you are
encoding to another format, like AAC. It has no affect on AC3 pass-through or on
DTS or MPEG-2 audio.

View File

@ -0,0 +1,20 @@
---
Type: article
State: [ draft ]
Title: Audio Gain
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Audio Gain
==========
[TODO]

View File

@ -0,0 +1,52 @@
---
Type: article
State: [ draft ]
Title: Audio Mixdowns
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Audio Mixdowns
====================================
 
Available Down Mixes
--------------------
HandBrake supports the following downmixes:
- Mono
- Mono (Left Only)
- Mono (Right Only)
- Stereo
- Dolby Surround
- Dobly Pro Logic II
- 5.1 Channels
- 6.1 Channels
- 7.1 Channels
- 7.1 Channels (5F/2R/LFE)
Upmixing
--------
HandBrake does not currently support upmixing audio.

View File

@ -0,0 +1,61 @@
---
Type: article
State: [ draft ]
Title: Audio Quality
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Audio Quality
=============================
The Audio Tracks quality settings are controlled via the "Audio" tab on the main window.
Each track can be configured to suit your needs.
<!-- .system-windows -->
![HandBrake's Audio Track Settings](../../images/windows/audio-quality-1.0.0.png "HandBrake's Audio Track Settings")
<!-- /.system-windows -->
There are several different modes HandBrake can operate in.
### Average Bitrate
HandBrake supports average bitrate for all audio encoders except FLAC.
### Quality based Encoding
Quality based encoding is supported for the following codecs:
- AAC
- MP3
- Vorbis
The scale of the quality if much less pronounced compared to the video quality slider, so changes do not have nearly as big an impact on file size.
### Lossless
HandBrake supports FLAC (both 16 and 24bit) when the output format is MKV.
In addition, HandBrake can passthru the following source audio track formats:
- AC3 and E-AC3
- DTS, DTS-HD
- TrueHD
- AAC
- MP3
- FLAC

View File

@ -0,0 +1,64 @@
---
Type: article
State: [ draft ]
Title: Automatic File Naming
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Automatic File Naming
=============================
HandBrake can automatically name your output files for you based on a number of criteria.
If you open the programs Preferences screen, you'll see a section that referes to the "Output Files"
![File output preferences](../../images/windows/output-file-preferences-1.0.0.png "File output preferences")
Here you can define the default path where output files will be stored, and the format the file name will take.
By default, it will be {source}-{title}
These are all of the placeholder field options:
* Live Update:
* {source}
* {title}
* {chapters}
* Non-live Update: These only change if you scan a new source, change title or chapters.
* {date}
* {time}
* {creation-date}
* {creation-time}
* {quality}
* {bitrate}
### Source Name Handling.
Many sources have awkward names. (i.e all capitals). HandBrake offers a few options to correct this.
The following options will affect the source name:
- "Change to Title case", This is also known as camel case where the first letter of each word is a capital followed by lower case letters.
- "Replace underscores with a space" i.e "_" to " "
- "Remove common punctuation" i.e ( Dash - Period . Commas ,)
### MP4 File Extension Handling
The last option allows you to choose the MP4 file extension handling.
MP4 and M4V are identical files. It's just a different file extension.
For MP4 files, HandBrake will automatically use the extension M4V when you pass-through audio (AC3), use SRT subtitles or have chapter markers enabled.
You can simply change the file extension between .mp4 and .m4v as the file is exactly the same. There are no differences in the content or container itself.

View File

@ -0,0 +1,58 @@
---
Type: article
State: [ draft ]
Title: Container formats
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Container formats
=================
Containers are files that wrap around video and audio tracks—indexing and organizing the streams for playback—in addition to providing advanced features, like chapters similar to those on DVDs.
HandBrake creates the widely supported container formats MKV and MP4 (sometimes seen as M4V), in addition to the [WebM](https://www.webmproject.org/) container format, which is subset of MKV.
## Features
Features and playback compatiblity varies between MKV, WebM, and MP4. The following is a summary of some of these differences:
- In an MP4 container, you can store MPEG-4 video created by ffmpeg or x264.
- Supports H.264, H.265, MPEG-4, MPEG-2 video.
- It stores audio in the AAC format. It is also possible to pass through Dolby Digital 5.1 Surround Sound (AC3) audio from a DVD in an MP4 file, although it is a new standard and not widely supported. VLC can decode it, and the AppleTV can pass it through to a surround sound receiver.
- MP4 also supports chapters, for which HandBrake uses Apple's chapter format.
- MP4 also is capable of storing [VariableFrameRate Variable Frame Rate] video.
- Be aware that chapters and AC3 audio can only be seen by QuickTime if you change the file extension from .mp4 to .m4v. HandBrake will do this for you automatically when you enable those features, although this can be disabled in the preferences if you really want .mp4 at the end of the name.
- The MP4 format can also be optimized for "fast start" progressive downloads over the Web.
- It can also include "soft" text subtitles that can be turned on or off, instead of always being hard burned into the video frames.
- In an MKV container, you can store MPEG-4 video created by ffmpeg or x264, or Theora video.
- Supports H.264, H.265, MPEG-4, MPEG-2 video and VP3 (Vorbis)
- It stores audio in the AAC, MP3, Vorbis or FLAC formats. It can also pass through the Dolby Digital 5.1 (AC3) and Digital Theater Systems (DTS) surround sound formats used by DVDs.
- It supports chapters, as well as [VariableFrameRate Variable Frame Rate] video.
- It can include "soft" subtitles that can be turned on or off, instead of always being hard burned into the video frame. These can either be bitmap images of the subtitles included on a DVD (known as vobsub) or text.
- In a WebM container, you can store VP8 or VP9 video.
- Supports VP8 and VP9 video codecs.
- It stores audio in either Vorbis or Opus formats.
- It can include "hard" burned in subtitles. "Soft" subtitles are currently unsupported.
## MP4 vs M4V
They are the exact same file, the only difference is the extension. MP4 vs M4V.
For MP4 files, HandBrake will automatically use the extension M4V when you pass-through audio (AC3), use SRT subtitles or have chapter markers enabled.
You can simply change the file extension between .mp4 and .m4v as the file is exactly the same. There are no differences in the content or container itself.
You can disable the option to automatically set this in !HandBrakes preferences.
Note: QuickTime or any QT based application will not be able to play a MP4 file with these features enabled, unless it has the extension ".m4v"

View File

@ -0,0 +1,33 @@
---
Type: article
State: [ draft ]
Title: Dynamic Range Compression
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Dynamic Range Compression
=============================
The dynamic range of an audio track is the difference between the softest and loudest sounds.
Dynamic range compression reduces the gap between those extremes.
- 1.0-2.5 are good values to use.
- 0, the default, turns it off completely.
- 1.0 uses the compression hints embedded in the AC3 track.
- Values greater than 1.0 compress the range further by boosting the volume of soft sound samples while leaving loud samples as they are. This squeezes down the range between the softest and loudest parts, but should make the softer ones easier to hear in noisy listening environments.
Note, this is not the same as a gain or volume boost control.
### Compatibility
Dynamic range compression only works when the source audio is AC3 and you are encoding to another format, like AAC. It has no effect on AC3 pass-through or on DTS or MPEG-2 audio.

View File

@ -0,0 +1,100 @@
---
Type: article
State: [ draft ]
Title: Summary of Filters
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: []
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Summary of Filters
=============================
HandBrake contains the following filters:
- Detelecine
- Deinterlace
- Decomb
- Denoise
- Deblock
- Chroma Smooth
- Grayscale
- Colorspace
Detelecine
----------
Detelecine removes comb artifacts that are the result of telecine, a process for converting film frame rates to television frame rates.
Deinterlace
-----------
Deinterlace removes comb artifacts from the picture.
Yadif is a popular and fast deinterlacer.
Decomb switches between multiple interpolation algorithms for speed and quality.
The following Deinterlace tunes are available:
- Default: Is well balanced for speed and quality.
- Skip Spatial Check: Lets Yadif skip correcting certain avoidable artifacts for a slight speed boost.
- EEDI2: Uses a slower, higher quality interpolation algorithm for Decomb. Useful for the most difficult sources.
- Bob: Attempts to better preserve motion for a slight penalty to perceived resolution.
Denoise
-------
Denoise reduces or removes the appearance of noise and grain. This can improve compression efficiency and create higher quality video at smaller file sizes.
Overly strong Denoise settings may damage picture quality by discarding detail.
NLMeans is a high quality denoise filter with a cost to speed. Use where quality is more important than speed.
HQDN3D is an adaptive low-pass filter, faster than NLMeans but less effective at preserving fine detail.
For NLMeans the following Denoise tunes are available:
- None: Uses the default preset settings.
- Film: Refines settings for use with most live action content.
- Grain: Only processes color channels. Useful for preserving the film-like look of luminance grain while reducing or removing color noise.
- High Motion: Reduces color smearing in high motion scenes by avoiding temporal processing for color channels. Useful for sports and action videos.
- Animation: Is useful for cel animation such as anime and cartoons.
- Tape: Is useful for low-detail analog tape sources such as VHS, where Film does not produce a desirable result.
- Sprite: Is useful for 1-/4-/8-/16-bit 2-dimensional games. Sprite is not designed for high definition video.
Deblock
-------
Deblock reduces blocky artifacts caused by low quality video compression.
Chroma Smooth
-------------
Reduces chroma noise, rainbows, and other prominent visual artifacts. Useful for resolving various color-related issues, especially with lower resolution content from analog sources, e.g. poor quality DVD and VHS sources. The blurring/smoothing algorithm is the same as used by the unsharp filter.
Grayscale
---------
Grayscale removes the color component of the video. Often referred to as Black & White video.
Colorspace
----------
Colorspace + tonemap filter. Can change/tonemap the colorspace of the video into one of the following:
- BT.2020
- BT.709
- BT.601 SMPTE-C
- BT.601 EBU
If this set to "Off" then HandBrake will keep the colorspace of the video.

View File

@ -0,0 +1,34 @@
---
Type: article
State: [ draft ]
Title: Frame rate
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Frame rate
==========
A video's frame rate is how many still pictures are displayed per second. Common frame rates are 23.976/24 for film, 25/50 for European broadcast standards, and 29.97/59.94 or 30/60 for North American broadcast standards. Modern video formats can be variable frame rate, switching between different frame rates on the fly, e.g. from 23.976 film to 29.97 NTSC and back.
<!-- .system-macos -->
![Frame rate controls on Mac](../../images/mac/frame-rate-controls-1.0.0.png "HandBrake's frame rate controls.")
<!-- /.system-macos -->
Selecting `Same as Source` allows you to select `Variable Frame Rate (VFR)`, which instructs HandBrake to make your new video's frame rate an exact copy of your `Source` frame rate. No frame rate conversion is performed.
`Constant Frame Rate (CFR)` makes your new video exactly one frame rate throughout. When used with `Same as Source`, HandBrake will detect the frame rate of your `Source` and make sure any variable portions are made constant at the same rate. When used with a specific frame rate, HandBrake conforms your entire video to the new frame rate. This method is not recommended except in special circumstances, such as encoding for import into an [NLE](https://en.wikipedia.org/wiki/Non-linear_editing_system) or for extremely old devices.
Selecting a specific frame rate allows you to select `Peak Frame Rate (PFR)`, which is the best of both worlds. Think of it as a threshold or limit. HandBrake will leave portions of your video at or below the peak frame rate you select unchanged, while limiting higher frame rate video to the peak frame rate you select.
HandBrake versions prior to 1.0.0 defaulted to `Same as Source` and `Variable Frame Rate (VFR)`. This was not of a problem with most videos of the past, but the advent of high frame rate video recording for mobile devices, action cams, and more, this method cannot ensure such videos will be compatible with devices having considerable frame rate limitations—including nearly all modern media devices that *do not* create video. To remedy this, the built-in presets in HandBrake 1.0.0 and later use `Peak Frame Rate (PFR)` for broader compatibility.

View File

@ -0,0 +1,35 @@
---
Type: article
Title: HDR10 encoding.
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Nomis101 ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
HDR10 encoding
===================
## Supported Encoders
All encoders that support 10-bit encoding are also capable of HDR10 encoding. The follow encoders support higher than 8-bit.
| Encoder |
|---------------------|
| x264 |
| x265 |
| Intel QuickSync |
| Apple Video Toolbox |
HandBrake will automatically passthru mastering display metadata and content light metadata from the source video to to final encode. For x265 encodings, HandBrake will also set the hdr-opt flag for you.
### Limitations
HandBrake will only handle HDR10 metadata. HDR10+ and Dolby Vision is currently not supported.

View File

@ -0,0 +1,20 @@
---
Type: article
State: [ draft ]
Title: Modulus
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: []
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Modulus
=============================
Coming Soon!

View File

@ -0,0 +1,198 @@
---
Type: article
Title: Official presets
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Official presets
================
A `Preset` is a group of settings specifically tailored for the software or device you want your videos to play on. Selecting a `Preset` can go a long way toward ensuring your video works where you want it to.
HandBrake includes a number of official `Presets` that select specific settings to ensure compatibility for specific devices, the web, and for general use. When selecting one of these `Presets`, higher resolution video will be downscaled to a maximum resolution, and higher frame rates will be peak limited to a maximum frame rate. Audio and other settings may also be enforced.
Here are some examples of how `Presets` work in practice:
- When selecting one of the 720p30 `Presets`, a Source with 1080p video at 60 frames per second will be downscaled to 720p resolution and peak limited to 30 frames per second
- When selecting one of the 720p30 `Presets`, a Source with 480p video at 30 frames per second will not be scaled or peak limited
- When selecting a `Preset` that does not include surround sound, only stereo audio is encoded; the discrete surround audio is dropped
- When selecting a `Preset` that includes surround sound, stereo audio is encoded and surround audio is "passed through" if possible (or encoded to a compatible format)
Select a `Preset` and explore which settings have changed. These settings will be used to make your new video.
The default `Fast 1080p30` preset is a good choice if you're just getting started. It's fast and compatible across a wide range of software and devices.
## General presets
HandBrake's General `Presets` use the [MP4 container](https://en.wikipedia.org/wiki/MPEG-4_Part_14) and are intended to be broadly compatible across a wide range of software and devices.[^high-quality-settings-less-compatible]
Each General `Preset` is named according to the quality or speed, maximum resolution, and maximum frame rate it produces.
| Preset | Type | Video | Audio | Picture Quality | Encoding Speed | File Size |
|---------------------------|------|-------|----------------------------------|-----------------|----------------|----------------|
| Very Fast 1080p30 | MP4 | H.264 | AAC stereo | Average | Very fast | Small |
| Very Fast 720p30 | MP4 | H.264 | AAC stereo | Average | Very fast | Small |
| Very Fast 576p25 | MP4 | H.264 | AAC stereo | Average | Very fast | Small |
| Very Fast 480p30 | MP4 | H.264 | AAC stereo | Average | Very fast | Small |
| **Fast 1080p30** | MP4 | H.264 | AAC stereo | Standard | Fast | Average |
| Fast 720p30 | MP4 | H.264 | AAC stereo | Standard | Fast | Average |
| Fast 576p25 | MP4 | H.264 | AAC stereo | Standard | Fast | Average |
| Fast 480p30 | MP4 | H.264 | AAC stereo | Standard | Fast | Average |
| HQ 1080p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | High | Slow | Large |
| HQ 720p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | High | Slow | Large |
| HQ 576p25 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | High | Slow | Large |
| HQ 480p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | High | Slow | Large |
| Super HQ 1080p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Super high | **Very slow** | **Very large** |
| Super HQ 720p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Super high | **Very slow** | **Very large** |
| Super HQ 576p25 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Super high | **Very slow** | **Very large** |
| Super HQ 480p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Super high | **Very slow** | **Very large** |
## Web presets
HandBrake's Web `Presets` use the broadly compatible [MP4 container](https://en.wikipedia.org/wiki/MPEG-4_Part_14) and are tailored for sharing videos on the Internet.
Discord Nitro `Presets` are designed to guarantee video up to a certain duration will produce a file less than 50 [MB](abbr:megabytes) for use with [Discord Nitro Classic](https://discordapp.com/nitro) or 100 [MB](abbr:megabytes) for use with [Discord Nitro](https://discordapp.com/nitro). Likewise, Discord `Presets` are designed to guarantee video up to a certain duration will produce a file less than 8 [MB](abbr:megabytes) for use with [Discord](https://discordapp.com/) free accounts. The maximum duration is part of each `Preset` name. Audio quality is slightly reduced, and visually noisy/grainy or high motion scenes may show a reduction in quality in order to achieve the target file size.
Gmail `Presets` are designed to guarantee video up to a certain duration will produce a file less than 25 [MB](abbr:megabytes) for attaching to an email.[^email-size-limit] The maximum duration is part of each `Preset` name. Audio quality is slightly reduced, and visually noisy/grainy or high motion scenes may show a reduction in quality in order to achieve the target file size.
Vimeo YouTube `Presets` produce videos suitable for uploading to popular video hosting services.[^video-hosting-services] `Presets` marked HQ are designed to deliver higher quality while encoding in a resonable amount of time.
| Preset | Type | Video | Audio | Picture Quality | Encoding Speed | File Size |
|------------------------------------------|------|-------|------------|-------------------|----------------|-------------------|
| Discord Nitro Large 3-6 Minutes 1080p30 | MP4 | H.264 | AAC stereo | Depends on source | Fast | 50/100 MB or less |
| Discord Nitro Medium 5-10 Minutes 720p30 | MP4 | H.264 | AAC stereo | Depends on source | Fast | 50/100 MB or less |
| Discord Nitro Small 10-20 Minutes 480p30 | MP4 | H.264 | AAC stereo | Depends on source | Fast | 50/100 MB or less |
| Discord Small 2 Minutes 360p30 | MP4 | H.264 | AAC mono | Depends on source | Very Fast | 8 MB or less |
| Discord Tiny 5 Minutes 240p30 | MP4 | H.264 | AAC mono | Depends on source | Very Fast | 8 MB or less |
| Gmail Large 3 Minutes 720p30 | MP4 | H.264 | AAC stereo | Depends on source | Fast | 25 MB or less |
| Gmail Medium 5 Minutes 480p30 | MP4 | H.264 | AAC stereo | Depends on source | Fast | 25 MB or less |
| Gmail Small 10 Minutes 288p30 | MP4 | H.264 | AAC mono | Depends on source | Fast | 25 MB or less |
| Vimeo YouTube HQ 2160p60 4K | MP4 | H.264 | AAC stereo | High | Medium | Large |
| Vimeo YouTube HQ 1440p60 2.5K | MP4 | H.264 | AAC stereo | High | Medium | Large |
| Vimeo YouTube HQ 1080p60 | MP4 | H.264 | AAC stereo | High | Medium | Large |
| Vimeo YouTube HQ 720p60 | MP4 | H.264 | AAC stereo | High | Medium | Large |
| Vimeo YouTube 720p30 | MP4 | H.264 | AAC stereo | Standard | Medium | Average |
## Devices presets
HandBrake's Devices `Presets` target specific devices and classes of devices, such as mobile phones, tablets, TV media players, and game consoles.
Most Devices `Presets` use the broadly compatible [MP4 container](https://en.wikipedia.org/wiki/MPEG-4_Part_14), while a select few use the [Matroska Multimedia Container](https://en.wikipedia.org/wiki/Matroska) to support advanced features such as [Ultra HD 4K resolution](https://en.wikipedia.org/wiki/4K_resolution) and additional audio types compatible with target devices.
Each Devices `Preset` is named according to the device name or class, maximum resolution, and maximum frame rate it produces.
| Preset | Type | Video | Audio | Encoding Speed |
|--------------------------------------|---------|-----------|----------------------------------|----------------|
| Amazon Fire 2160p60 4K HEVC Surround | MP4 | **H.265** | AAC stereo; Dolby Digital (AC-3) | **Very slow** |
| Amazon Fire 1080p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
| Amazon Fire 720p30 Surround | MP4 | H.264 | AAC stereo | Medium |
| Android 1080p30 | MP4 | H.264 | AAC stereo | Medium |
| Android 720p30 | MP4 | H.264 | AAC stereo | Medium |
| Android 576p25 | MP4 | H.264 | AAC stereo | Medium |
| Android 480p30 | MP4 | H.264 | AAC stereo | Medium |
| Apple 2160p60 4K HEVC Surround | MP4 | **H.265** | AAC stereo; Dolby Digital (AC-3) | **Very slow** |
| Apple 1080p60 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
| Apple 1080p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
| Apple 720p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
| Apple 540p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
| Chromecast 2160p60 4K HEVC Surround | MP4 | **H.265** | AAC stereo; Dolby Digital (AC-3) | **Very slow** |
| Chromecast 1080p60 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
| Chromecast 1080p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
| Playstation 2160p60 4K Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Slow |
| Playstation 1080p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
| Playstation 720p30 | MP4 | H.264 | AAC stereo | Medium |
| Playstation 540p30 | MP4 | H.264 | AAC stereo | Medium |
| Roku 2160p60 4K HEVC Surround | **MKV** | **H.265** | AAC stereo; AAC, Dolby Digital (AC-3), Dolby Digital Plus (E-AC-3), DTS, or MP3 | **Very slow** |
| Roku 1080p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
| Roku 720p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
| Roku 576p25 | MP4 | H.264 | AAC stereo | Medium |
| Roku 480p30 | MP4 | H.264 | AAC stereo | Medium |
| Xbox 1080p30 Surround | MP4 | H.264 | AAC stereo; Dolby Digital (AC-3) | Medium |
## Matroska presets
HandBrake's Matroska `Presets` target software and devices supporting the [Matroska Multimedia Container](https://en.wikipedia.org/wiki/Matroska). MKV files support virtually all video and audio types, including many that the [MP4 container](https://en.wikipedia.org/wiki/MPEG-4_Part_14) does not.
Each Matroska `Preset` is named according to the video type, maximum resolution, and maximum frame rate it produces.
| Preset | Type | Video | Audio | Encoding Speed |
|-------------------|------|-------|---------------|----------------|
| H.265 MKV 2160p60 | MKV | H.265 | AAC stereo | **Very slow** |
| H.265 MKV 1080p30 | MKV | H.265 | AAC stereo | **Very slow** |
| H.265 MKV 720p30 | MKV | H.265 | AAC stereo | **Very slow** |
| H.265 MKV 576p25 | MKV | H.265 | AAC stereo | **Very slow** |
| H.265 MKV 480p30 | MKV | H.265 | AAC stereo | **Very slow** |
| H.264 MKV 2160p60 | MKV | H.264 | AAC stereo | Standard |
| H.264 MKV 1080p30 | MKV | H.264 | AAC stereo | Standard |
| H.264 MKV 720p30 | MKV | H.264 | AAC stereo | Standard |
| H.264 MKV 576p25 | MKV | H.264 | AAC stereo | Standard |
| H.264 MKV 480p30 | MKV | H.264 | AAC stereo | Standard |
| VP9 MKV 2160p60 | MKV | VP9 | Opus stereo | **Ultra slow** |
| VP9 MKV 1080p30 | MKV | VP9 | Opus stereo | **Ultra slow** |
| VP9 MKV 720p30 | MKV | VP9 | Opus stereo | **Ultra slow** |
| VP9 MKV 576p25 | MKV | VP9 | Opus stereo | **Ultra slow** |
| VP9 MKV 480p30 | MKV | VP9 | Opus stereo | **Ultra slow** |
| VP8 MKV 1080p30 | MKV | VP8 | Vorbis stereo | **Ultra slow** |
| VP8 MKV 720p30 | MKV | VP8 | Vorbis stereo | **Ultra slow** |
| VP8 MKV 576p25 | MKV | VP8 | Vorbis stereo | **Ultra slow** |
| VP8 MKV 480p30 | MKV | VP8 | Vorbis stereo | **Ultra slow** |
## Production presets
HandBrake's Production `Presets` create mastering grade, short GOP, constant frame rate video with high bit rate audio, suited for professional video editing workflows. These presets typically create files much larger than most compressed sources and are not suitable for general use.
Production Proxy `Presets` create fast to encode, Intra-only video limited to one-quarter the desired editing resolution.
| Preset | Type | Video | Audio | Max Resolution | Picture Quality | Frame Types | GOP Size | Encoding Speed | File Size |
|---------------------------|------|-------|------------|----------------|-----------------|-------------|----------|-------------------|-----------|
| Production Max | MP4 | H.264 | AAC stereo | Unlimited | Max Master | I/P | 1-12 | Depends on source | Gigantic |
| Production Standard | MP4 | H.264 | AAC stereo | Unlimited | Standard Master | I/P | 1-12 | Depends on source | Huge |
| Production Proxy 1080p | MP4 | H.264 | AAC stereo | 1/4 2160p 4K | Proxy | Intra-only | 1 | Fast | Average |
| Production Proxy 540p | MP4 | H.264 | AAC stereo | 1/4 1080p HD | Proxy | Intra-only | 1 | Very Fast | Small |
## Compatible replacements for deprecated or removed presets
From time to time, official `Presets` may be deprecated or removed. Compatible replacements are listed here.
### Legacy Devices presets
| Preset | Compatible Preset | Notes |
|------------------------------|----------------------------------|-------------------------------------------------------------------------------------------------|
| Apple 240p30 | None | Obsolete. |
| Windows Mobile 1080p30 | General > Fast 1080p30 | Later Windows Mobile and Windows Phone devices, and Windows 10 Mobile devices. |
| Windows Mobile 720p30 | General > Fast 720p30 | Add vbv-bufsize=10000:vbv-maxrate=10000 to the additional encoder options for older devices. |
| Windows Mobile 540p30 | General > Fast 480p30 | Add vbv-bufsize=4000:vbv-maxrate=4000 to the additional encoder options for older devices. |
| Windows Mobile 480p30 | General > Fast 480p30 | Add vbv-bufsize=2000:vbv-maxrate=2000 to the additional encoder options for older devices. |
| Xbox Legacy 1080p30 Surround | Devices > Apple 1080p30 Surround | Disable anamorphic, dimensions must be evenly divisible by 8, video must be H.264 Main Profile. |
### Legacy 0.10.x presets
| Preset | Compatible Preset | Notes |
|---------------------|----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------|
| Normal | General > Fast 1080p30 | Decomb filter, peak limited to 30 FPS, slightly decreased video bit rate, improved motion quality, foreign audio search. |
| High Profile | General > HQ 1080p30 Surround | Peak limited to 30 FPS, reduced video bit rate spikes, foreign audio search. |
| Universal | None | General > Fast 576p25/480p30 may be suitable replacements where compatibility with ancient devices and surround sound are not required. |
| iPod | None | Obsolete. |
| iPhone & iPod touch | Devices > Apple 540p30 Surround | Decomb filter, slightly increased video bit rate, surround sound, foreign audio search. |
| iPad | Devices > Apple 720p30 Surround | Decomb filter, slightly decreased video bit rate, surround sound, foreign audio search. |
| AppleTV | Devices > Apple 540p30 Surround | Decomb filter, foreign audio search. |
| AppleTV 2 | Devices > Apple 720p30 Surround | Decomb filter, slightly decreased video bit rate, foreign audio search. |
| AppleTV 3 | Devices > Apple 1080p30 Surround | Decomb filter, slightly decreased video bit rate, foreign audio search. |
| Android | Devices > Android 576p25/480p30 | Decomb filter, peak limited to 25 FPS (Android 576p25 only), slightly increased video bit rate, foreign audio search, chapter markers. |
| Android Tablet | Devices > Android 720p30 | Decomb filter, slightly increased video bit rate, foreign audio search, chapter markers. |
| Windows Phone 8 | None | Obsolete. |
[^high-quality-settings-less-compatible]: Higher quality General `Presets` may include settings that are incompatible with older or slower devices.
[^email-size-limit]: The 25 [MB](abbr:megabytes) per message size limit for email attachments is specific to the [Gmail](https://www.google.com/gmail/) service and may change in the future. Other email services may set different limits. It is generally recommended to use a [file hosting service](https://en.wikipedia.org/wiki/Comparison_of_file_hosting_services) when sharing large or long videos.
[^video-hosting-services]: The [Vimeo](https://vimeo.com/) [YouTube](https://www.youtube.com/) presets are designed and tested to meet these specific services' video guidelines. Compatibility with other services is possible, but neither tested nor guaranteed.

View File

@ -0,0 +1,27 @@
---
Type: article
State: [ draft ]
Title: iPod 5G Support
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
iPod 5G Support
=============================
![iPod 5G Checkbox](../../images/windows/ipod-5g-1.0.0.png "iPod 5G Checkbox")
Older classic iPods require a special atom to be written to the MP4 file before they will play back on the device or be transferable in iTunes.
HandBrake doesn't add this by default, but if you have an older classic iPod, you can turn it on by selecting the "iPod 5G Support" checkbox located under the Destination chooser.
This is only available for MP4 files

View File

@ -0,0 +1,293 @@
---
Type: article
Title: Performance
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Performance
===========
Video encoding is one of the most resource intensive activities for computers.
HandBrakes software video encoders, video filters, audio encoders, and other processes benefit from fast CPU and memory. HandBrakes hardware video encoders also benefit from modern GPU hardware. See the [System requirements](system-requirements.html) article for minimum hardware requirements to use HandBrake.
To provide a comparison of how various features and settings affect encoding performance, we encoded a high quality, 4K 2160p24 (3840x1714 actual) version of the open film *[Tears Of Steel](https://mango.blender.org/)*. The `Source` duration is 12 minutes 14 seconds and contains H.264 video, lossless FLAC stereo audio, and Dolby Digital (AC-3) 5.1 surround audio.
## Performance comparison between official presets
A `Preset` is a group of settings specifically tailored for the software or device you want your videos to play on. Read more about HandBrakes [Official presets](official-presets.html).
`Presets` may differ from each other in multiple ways. For example: video resolution, filters, encoder, encoder preset, and quality; audio tracks (stereo, surround sound, or both), encoders, and quality; subtitle tracks and types; chapter markers; container options; and compatibility concerns. Because so many variables can differ between HandBrakes `Presets`, performance can vary greatly.
HandBrakes General `Presets` are designed to maintain compatibility with a broad range of modern devices and software, and provide logical steps in encoding performance, quality, and file size.
The following results were produced using a Mid-2010 Mac Pro equipped with an Intel Xeon w3680 CPU with 6 cores and 12 threads running at 3.33 GHz, 24 GB memory, and macOS Mojave.
| Official Preset | Encoder | Quality | Audio Tracks | Encoding Speed | Realtime Speed | Total Bit Rate | Total Size |
|---------------------------|--------------|---------|----------------------------------|----------------|----------------|----------------|------------|
| Very Fast 1080p30 | H.264 (x264) | RF 24 | AAC stereo | 33.1 FPS | 1.38x | 3.50 Mb/s | 320.8 MB |
| Fast 1080p30 | H.264 (x264) | RF 22 | AAC stereo | 19.1 FPS | 0.80x | 5.49 Mb/s | 503.6 MB |
| HQ 1080p30 Surround | H.264 (x264) | RF 20 | AAC stereo; Dolby Digital (AC-3) | 12.7 FPS | 0.53x | 8.15 Mb/s | 748.0 MB |
| Super HQ 1080p30 Surround | H.264 (x264) | RF 18 | AAC stereo; Dolby Digital (AC-3) | 6.7 FPS | 0.28x | 10.71 Mb/s | 983.7 MB |
![Comparison of official 1080p general presets](../../images/performance-general-presets-1.3.0.png "HandBrakes faster General Presets produce smaller files with average quality, while its high quality General Presets produce larger files that take longer to encode.")
The Very Fast `Preset` starts with a faster video encoder preset (x264 veryfast) and quality RF 24. The Fast `Preset` uses a slower video encoder preset (x264 fast) and also raises quality to RF 22. In combination, this results in a higher quality video, larger file size, and longer time to encode.
Likewise, the HQ and Super HQ `Presets` use even slower video encoder presets (x264 slow and veryslow, respectively) and even higher quality (RF 20 and 18, respectively), while also including surround audio. The price for higher quality and more features is again larger file sizes, and longer time to encode.
Encoding a large, high quality, 4K 2160p `Source` to 1080p can be slow on an aging computer. Only the fastest `Preset` completed faster than realtime, meaning the encode finished in a shorter time than it would take to watch the video.
Lets look at the same encodes on a faster computer. The following results were produced using a PC equipped with an Intel Xeon E5-2699 v4 CPU with 22 cores and 44 threads running at a sustained turbo between 2.6-2.8 GHz, 32 GB memory, and Windows 10 Professional.
| Official Preset | Encoder | Quality | Audio Tracks | Encoding Speed | Realtime Speed | Total Bit Rate | Total Size |
|---------------------------|--------------|---------|----------------------------------|----------------|----------------|----------------|------------|
| Very Fast 1080p30 | H.264 (x264) | RF 24 | AAC stereo | 66.4 FPS | 2.77x | 3.46 Mb/s | 317.3 MB |
| Fast 1080p30 | H.264 (x264) | RF 22 | AAC stereo | 55.8 FPS | 2.33x | 5.37 Mb/s | 492.5 MB |
| HQ 1080p30 Surround | H.264 (x264) | RF 20 | AAC stereo; Dolby Digital (AC-3) | 44.1 FPS | 1.84x | 8.00 Mb/s | 734.4 MB |
| Super HQ 1080p30 Surround | H.264 (x264) | RF 20 | AAC stereo; Dolby Digital (AC-3) | 23.8 FPS | 0.99x | 10.30 Mb/s | 949.3 MB |
The newer computer with a faster CPU and memory performs better. While the x264 codec doesnt scale linearly with such high thread counts, its still much faster here. Quality is the same compared to the slower computer, only the results are achieved more quickly.
*You can do these tests yourself.*
Open a video `Source` in HandBrake and encode using each of these `Presets`. Observe how fast each `Preset` encodes. Compare the resulting file sizes. Watch the encoded videos and visually judge their quality. Consider whether you want surround audio (assuming your `Source` contains a surround audio track). Finally, choose which `Preset` satisfies your needs, and use it for your everyday encoding.
## Performance comparison between video encoders
Video encoders employ advanced mathematical algorithms to reduce the size of your videos while retaining perceived quality. While some techniques are similar between encoders, each encoder is different, and some encoders are more efficient than others.
x264 is the default video encoder used by many of HandBrakes official `Presets`. x264 creates standard H.264/AVC video with high quality and reasonable file sizes, and encodes relatively fast on modern computers. Most modern mobile devices have hardware decoders for energy-efficient playback of H.264/AVC video. It is arguably the most compatible modern video format.
x265 is a newer video encoder that creates standard H.265/HEVC video that is becoming more popular as newer mobile devices have hardware decoders for energy-efficient playback. In some situations, such as encoding in 4K Ultra High Definition or making smaller, lower bit rate videos, x265 can produce the same or better quality as x264 with smaller file sizes, at the expense of much slower encoding speed.
Other software video encoders such as VP8 and VP9 promise similar results to x264 and x265, but generally take longer to encode. VP8 and VP9 hardware decoders for mobile devices are not widespread, which can lead to faster battery drain while playing these types of videos. Most modern computers can play VP8 and VP9 video with ease.
HandBrake also includes support for AMD VCE, Intel QSV, and NVIDIA NVENC hardware encoders. These encoders produce H.264 and/or H.265 video at extremely high speed, at the expense of some quality and larger file sizes.
Lets compare. Here, weve encoded the same high quality 2160p 4K video `Source` to 1080p using eight different video encoders.
The following results were produced using a PC equipped with an Intel Xeon E5-2699 v4 CPU with 22 cores and 44 threads running at a sustained turbo between 2.6-2.8 GHz, 32 GB memory, an AMD Radeon RX 580, an NVIDIA GeForce GTX 1060, and Windows 10 Professional.
| Official Preset | Encoder | Type | Quality / Bit Rate | Audio Tracks | Encoding Speed | Realtime Speed | Total Bit Rate | Total Size |
|-------------------|---------------|----------|----------------------|---------------|----------------|----------------|----------------|------------|
| H.265 MKV 1080p30 | H.265 (x265) | Software | RF 22 | AAC stereo | 16.1 FPS | 0.67x | 5.08 Mb/s | 466.3 MB |
| H.264 MKV 1080p30 | H.264 (x264) | Software | RF 22 | AAC stereo | 53.9 FPS | 2.25x | 5.19 Mb/s | 476.2 MB |
| VP9 MKV 1080p30 | VP9 | Software | ABR 4500 kb/s 2-pass | Opus stereo | 10.2 FPS | 0.43x | 4.64 Mb/s | 425.5 MB |
| VP8 MKV 1080p30 | VP8 | Software | ABR 6000 kb/s 2-pass | Vorbis stereo | 21.2 FPS | 0.88x | 8.40 Mb/s | 770.2 MB |
| *custom* | H.265 (VCE) | Hardware | CQ 22 | AAC stereo | 60.9 FPS | 2.54x | 10.70 Mb/s | 978.1 MB |
| *custom* | H.264 (VCE) | Hardware | CQ 22 | AAC stereo | 61.3 FPS | 2.55x | 11.20 Mb/s | 1,026.0 MB |
| *custom* | H.265 (NVENC) | Hardware | CQ 22 | AAC stereo | 63.4 FPS | 2.64x | 9.88 Mb/s | 906.5 MB |
| *custom* | H.264 (NVENC) | Hardware | CQ 22 | AAC stereo | 63.6 FPS | 2.65x | 11.20 Mb/s | 1,024.0 MB |
Some encoders are noticeably faster than others. Hardware encoders are typically much faster than software encoders, at the expense of some loss in quality and/or larger file sizes. In this case, x264 is a clear winner in the balance between speed, quality, and file size.
The official `Presets` in this test are designed to produce similar quality encodes regardless of the specific encoders used, so this test isnt an entirely fair comparison of speed. Some encodes use quality-based encoding, while others use average bit rate, which prioritizes file size while allowing more variation in quality. Additional variables such as filters and audio can also have an impact.
Lets compare again with fewer variables. Here, weve removed the Decomb deinterlacing filter, audio tracks, and Foreign Audio Search, and encoded only video in average bit rate, 2-pass mode. Weve reduced the bit rate to 3000 kb/s to better highlight the efficiency of each encoder in terms of quality related to file size. Note that the VCE and NVENC hardware encoders only support 1-pass mode.
| Encoder | Type | Encoder Preset | Video Bit Rate | Encoding Speed | Realtime Speed | Total Bit Rate | Total Size |
|---------------|----------|----------------|----------------------|----------------|----------------|----------------|------------|
| H.265 (x265) | Software | Medium | ABR 3000 kb/s 2-pass | 27.8 FPS | 1.16x | 2.94 Mb/s | 275.4 MB |
| H.264 (x264) | Software | Medium | ABR 3000 kb/s 2-pass | 72.1 FPS | 3.00x | 3.00 Mb/s | 275.5 MB |
| VP9 | Software | Medium | ABR 3000 kb/s 2-pass | 11.3 FPS | 0.47x | 2.96 Mb/s | 277.1 MB |
| VP8 | Software | Medium | ABR 3000 kb/s 2-pass | 29.1 FPS | 1.21x | 2.94 Mb/s | 275.2 MB |
| H.265 (VCE) | Hardware | Medium | ABR 3000 kb/s 1-pass | 76.0 FPS | 3.17x | 3.52 Mb/s | 323.2 MB |
| H.264 (VCE) | Hardware | Medium | ABR 3000 kb/s 1-pass | 73.6 FPS | 3.07x | 2.99 Mb/s | 274.4 MB |
| H.265 (NVENC) | Hardware | Medium | ABR 3000 kb/s 1-pass | 75.9 FPS | 3.16x | 2.87 Mb/s | 268.3 MB |
| H.264 (NVENC) | Hardware | Medium | ABR 3000 kb/s 1-pass | 76.0 FPS | 3.17x | 3.00 Mb/s | 272.5 MB |
![Quality comparison of HandBrakes video encoders](../../images/performance-quality-video-encoders-1.3.0.png "Quality comparison of HandBrakes video encoders.")
In this more balanced example, we see x264 and the hardware encoders can be more than 2.5 times faster than x265 and VP8, and over six times faster than VP9. For fast H.265 encoding, the VCE and NVENC hardware encoders are considerably faster than the x265 software encoder, at the expense of some quality loss.
Although compatible hardware was not available on the computer used in these tests, the Intel QSV hardware encoder performs similarly to VCE and NVENC, with Intel QSV producing slightly higher quality encodes.
Encoders ranked fastest to slowest:
1. Hardware encoders (AMD VCE, Intel QSV, NVIDIA NVENC)
2. x264
3. VP8
4. x265
5. VP9
Encoder quality versus file size efficiency, ranked best to worst:
1. x265 and VP9
2. x264
3. Hardware encoders (AMD VCE, Intel QSV, NVIDIA NVENC)
4. VP8
The x264 software encoder presents an excellent balance between speed and quality, and the H.264/AVC video it creates is widely compatible with all modern devices. It is the default video encoder in most of HandBrakes official `Presets`.
Hardware encoders such as AMD VCE, Intel QSV, and NVIDIA NVENC are very fast and may be a good choice on less powerful computers where performance is the greatest concern, and the highest quality and smallest file sizes are not top priority.
x265 and VP9 produce excellent quality encodes, but are much slower performers. Expect long encoding times on all except the best computers.
VP8 is now showing its age as an older encoder. Compared to other, more modern encoders, it is unable to produce good quality encodes at reasonable file sizes. This is also true of the older MPEG-4, MPEG-2, and Theora encoders not compared in this article.
## Performance comparison between video encoder presets
Some of HandBrakes video encoders have their own presets. These are different than HandBrakes `Presets`, which contain all the video, filters, audio, subtitles, chapters, and container settings. The video encoder presets are specific to each individual video encoder, and control which features of the video encoder are enabled.
Some encoder presets are designed to affect the speed of the encoding process. By enabling certain optimizations or disabling certain computationally expensive features of the encoder, greater encoding speeds can be achieved, although this is usually at the expense of larger file sizes and/or slight quality losses. The x264 and x265 encoder presets are all speed related.
Other encoders, notably hardware encoders such as AMD VCE, Intel QSV, and NVIDIA NVENC, also have quality-based encoder presets to enable advanced features that can improve quality, usually at the expense of encoding speed.
Here, weve encoded the same high quality 2160p 4K video `Source` to 1080p using the various speed-based encoder presets provided by the x264 software encoder.
The following results were produced using a PC equipped with an Intel Xeon E5-2699 v4 CPU with 22 cores and 44 threads running at a sustained turbo between 2.6-2.8 GHz, 32 GB memory, and Windows 10 Professional.
| Encoder | Encoder Preset | Quality | Encoding Speed | Realtime Speed | Total Bit Rate | Total Size |
|--------------|----------------|---------|----------------|----------------|----------------|------------|
| H.264 (x264) | Ultrafast | RF 24 | 73.1 FPS | 3.05x | 9.91 Mb/s | 909.1 MB |
| H.264 (x264) | Superfast | RF 24 | 74.2 FPS | 3.09x | 4.99 Mb/s | 457.8 MB |
| H.264 (x264) | Veryfast | RF 24 | 72.6 FPS | 3.03x | 3.26 Mb/s | 299.5 MB |
| H.264 (x264) | Faster | RF 24 | 71.0 FPS | 2.96x | 3.78 Mb/s | 346.8 MB |
| H.264 (x264) | Fast | RF 24 | 72.6 FPS | 3.03x | 3.98 Mb/s | 365.8 MB |
| H.264 (x264) | Medium | RF 24 | 69.1 FPS | 2.88x | 3.86 Mb/s | 354.1 MB |
| H.264 (x264) | Slow | RF 24 | 63.2 FPS | 2.63x | 3.75 Mb/s | 343.9 MB |
| H.264 (x264) | Slower | RF 24 | 39.8 FPS | 1.66x | 3.76 Mb/s | 345.5 MB |
| H.264 (x264) | Veryslow | RF 24 | 33.9 FPS | 1.41x | 3.50 Mb/s | 321.0 MB |
Even on this powerful computer and with a fast software encoder like x264, the slowest encoder preset takes twice the time to encode as the faster encoder presets.
Generally speaking, the additional computation performed by x264s slower encoder presets creates smaller files, and sometimes increases quality very slightly (usually negligibly). However, since so many settings differ between the various encoder presets, this isnt strictly true in practice. Notice how the veryfast encoder preset actually produces a smaller file than the slower presets, at the expense of some quality loss.
Note that while the x264 encoder presets with “fast” in their names do not prove much faster on this high performance computer, they may be significantly faster than slower encoder presets on less powerful computers.
Lets look at the same test, this time using the x265 encoder.
| Encoder | Encoder Preset | Quality | Encoding Speed | Realtime Speed | Total Bit Rate | Total Size |
|--------------|----------------|---------|----------------|----------------|----------------|------------|
| H.265 (x265) | Ultrafast | RF 24 | 70.1 FPS | 2.92x | 2.63 Mb/s | 241.8 MB |
| H.265 (x265) | Superfast | RF 24 | 68.2 FPS | 2.84x | 2.64 Mb/s | 242.4 MB |
| H.265 (x265) | Veryfast | RF 24 | 56.9 FPS | 2.37x | 2.78 Mb/s | 255.2 MB |
| H.265 (x265) | Faster | RF 24 | 56.6 FPS | 2.36x | 2.78 Mb/s | 254.8 MB |
| H.265 (x265) | Fast | RF 24 | 51.2 FPS | 2.13x | 2.82 Mb/s | 259.1 MB |
| H.265 (x265) | Medium | RF 24 | 33.8 FPS | 1.41x | 3.27 Mb/s | 300.2 MB |
| H.265 (x265) | Slow | RF 24 | 14.1 FPS | 0.59x | 3.44 Mb/s | 316.0 MB |
| H.265 (x265) | Slower | RF 24 | 3.2 FPS | 0.13x | 3.47 Mb/s | 318.4 MB |
| H.265 (x265) | Veryslow | RF 24 | 1.8 FPS | 0.08x | 3.46 Mb/s | 317.2 MB |
Compared to x264, the x265 encoder is better optimized for high core count CPUs like the E5-2699 v4, and this shows in the faster encoder presets, which are nearly as fast as x264 on this computer despite the additional computation required for H.265 video. However, the significant computation time required by x265s slower encoder presets make encoding extremely slow even on powerful computers, and actually increases file sizes while attempting to better preserve quality.
The recommended best practice when adjusting these settings manually is to choose the slowest encoder preset that encodes comfortably fast on your computer, and accept subtle quality and file size variations. Even better, use one of HandBrakes all-encompassing `Presets`, which will select a suitable encoder preset and other settings for you based on what is appropriate for the intended purpose.
## Performance comparison between video quality settings
Video quality can have a substantial impact on encoding speed and file size.
In this test, weve encoded the same high quality 2160p 4K video `Source` to 1080p while adjusting only the video quality, leaving all other settings alone.
Higher RF values lead to lower picture quality and smaller file sizes, while lower RF values lead to higher picture quality and larger file sizes. You can read more about this on the [Adjusting quality](../workflow/adjust-quality.html) article.
The following results were produced using a Mid-2010 Mac Pro equipped with an Intel Xeon w3680 CPU with 6 cores and 12 threads running at 3.33 GHz, 24 GB memory, and macOS Mojave.
| Encoder | Encoder Preset | Quality | Encoding Speed | Realtime Speed | Total Bit Rate | Total Size |
|--------------|----------------|---------|----------------|----------------|----------------|------------|
| H.264 (x264) | Medium | RF 36 | 30.9 FPS | 1.29x | 0.92 Mb/s | 84.2 MB |
| H.264 (x264) | Medium | RF 33 | 29.3 FPS | 1.22x | 1.26 Mb/s | 115.9 MB |
| H.264 (x264) | Medium | RF 30 | 27.8 FPS | 1.16x | 1.78 Mb/s | 163.8 MB |
| H.264 (x264) | Medium | RF 27 | 26.0 FPS | 1.08x | 2.59 Mb/s | 238.0 MB |
| H.264 (x264) | Medium | RF 24 | 25.5 FPS | 1.06x | 3.89 Mb/s | 357.5 MB |
| H.264 (x264) | Medium | RF 21 | 22.4 FPS | 0.93x | 6.13 Mb/s | 562.7 MB |
| H.264 (x264) | Medium | RF 18 | 19.7 FPS | 0.82x | 10.20 Mb/s | 938.8 MB |
| H.264 (x264) | Medium | RF 15 | 17.1 FPS | 0.71x | 17.20 Mb/s | 1578.6 MB |
![Comparison x264 quality between RF 36 and RF 15 in increments of 3 RF](../../images/performance-quality-x264-1.3.0.png "Higher RF values lead to lower picture quality and smaller file sizes, while lower RF values lead to higher picture quality and larger file sizes.")
Here, we see that lower quality encodes complete faster. In essence, discarding fine details is faster than working hard to preserve them. So, in addition to being a major factor in file size, the video quality setting is a major factor in encoding speed and total encoding time.
## Performance comparison between picture resolutions
Video resolution can have a major impact on encoding speed and file size.
A videos resolution is its width and height in pixels, or individual points on a display. HandBrake includes official `Presets` targeting multiple standard picture resolutions, such as 2160p UHD 4K, 1080p Full HD, 720p HD, and 576p/480p SD, as well as certain intermediate resolutions.
Resolution is calculated in two dimensions (width and height). For example, 1080p High Definition video is 1920 pixels wide and 1080 pixels tall, sometimes expressed as 1920x1080. By multiplying these figures, we can calculate how many pixels each video frame comprises. 1920 multiplied by 1080 is 2,073,600 pixels, or about 2 megapixels.
Compared to 480p Standard Definition video (720x480), which is 345,600 pixels or about 0.35 megapixels, 1080p is approximately six times more detailed. From this, we can infer the additional computation encoding a High Definition Blu-ray video in its original resolution will require longer encoding times and create larger file sizes to store all the extra information compared to encoding a Standard Definition DVD video.
Here, weve encoded the same high quality 2160p 4K video `Source` in six different output resolutions using the x265 video encoders medium encoder preset.
The following results were produced using a PC equipped with an Intel Xeon E5-2699 v4 CPU with 22 cores and 44 threads running at a sustained turbo between 2.6-2.8 GHz, 32 GB memory, and Windows 10 Professional.
| Encoder | Video Resolution | Megapixels | Quality | Encoding Speed | Realtime Speed | Total Bit Rate | Total Size |
|--------------|-------------------------------|------------|---------|----------------|----------------|----------------|------------|
| H.265 (x265) | 3840x1714 (2160p 4K, cropped) | 6.58 MP | RF 24 | 14.0 FPS | 0.58x | 10.00 Mb/s | 920.7 MB |
| H.265 (x265) | 2560x1440 (1440p 2.5K) | 3.69 MP | RF 24 | 22.7 FPS | 0.95x | 5.42 Mb/s | 497.2 MB |
| H.265 (x265) | 1920x1080 (1080p Full HD) | 2.07 MP | RF 24 | 33.7 FPS | 1.40x | 3.27 Mb/s | 300.2 MB |
| H.265 (x265) | 1280x720 (720p HD) | 0.92 MP | RF 24 | 49.3 FPS | 2.05x | 1.84 Mb/s | 168.9 MB |
| H.265 (x265) | 960x540 (540p ED) | 0.52 MP | RF 24 | 63.7 FPS | 2.65x | 1.19 Mb/s | 109.3 MB |
| H.265 (x265) | 720x480 (480p SD) | 0.35 MP | RF 24 | 74.9 FPS | 3.12x | 0.88 Mb/s | 81.1 MB |
![Comparison of common video resolutions](../../images/performance-resolution-1.3.0.png "Higher resolutions retain more detail, but take longer to encode and require larger file sizes.")
The higher resolution encodes take more time and create larger file sizes. The lower resolution encodes take less time and create smaller file sizes, at the expense of significantly reducing detail.
It is a good idea to increase the quality by lowering RF 1-2 points for lower resolution encodes, as small defects in quality can become more apparent when the video is scaled up to fill a large display. Likewise, higher resolution encodes usually do not need as high quality to look good, as minimal or no scaling is necessary on modern displays. You can read more about this on the [Adjusting quality](../workflow/adjust-quality.html) article.
In practical terms, the resolution of your `Source` video and the `Preset` you select will be a major factor in file size, encoding speed, and total encoding time.
## How filters affect encoding performance
Some filters, such as HandBrakes sharpening filters, require minimal computation and have a negligible impact on performance. Others, such as the EEDI2 deinterlacing filter or NLMeans denoising filter, are more computationally expensive and can be even slower than video encoders.
Here, weve encoded the same high quality 2160p 4K video `Source` in its original resolution, with and without the NLMeans denoising filter.
The following results were produced using a PC equipped with an Intel Xeon E5-2699 v4 CPU with 22 cores and 44 threads running at a sustained turbo between 2.6-2.8 GHz, 32 GB memory, and Windows 10 Professional.
| Official Preset | Filter Additions | Quality | Audio Tracks | Encoding Speed | Realtime Speed | Total Bit Rate | Total Size |
|-------------------|------------------|---------|--------------|----------------|----------------|----------------|------------|
| H.265 MKV 2160p60 | *none* | RF 24 | AAC stereo | 7.9 FPS | 0.33x | 10.80 Mb/s | 993.4 MB |
| H.265 MKV 2160p60 | NLMeans Medium | RF 24 | AAC stereo | 5.3 FPS | 0.22x | 8.72 Mb/s | 800.0 MB |
As you can see, NLMeans can significantly increase encoding time, even on a powerful computer.
Despite this, it is excellent for restoring `Sources` with prominent visual noise and grain. Even with a relatively clean `Source` like the one used here, the noise reduction performed by NLMeans allowed the video encoder to achieve a 19.5% reduction in file size, at the expense of a 50% increase in encoding time.
## Summary of factors affecting encoding performance
### Video encoder, encoder presets, and quality
Video encoder settings have a major impact on performance.
Compared to x264 and hardware encoders such as AMD VCE, Intel QSV, and NVIDIA NVENC, encodes will take longer to complete when using slower video encoders such as x265 and VP9.
Most video encoders we compared have speed presets, and faster encoder presets will perform better, potentially at the expense of larger file sizes and slight quality losses.
The overall quality setting or average bit rate will also impact encoding speed, with higher quality and bit rate settings significantly increasing the time required to complete encodes.
You can improve encoding performance by using a faster video encoder, a faster encoder preset, and lowering the video quality or average bit rate. Where the highest quality and smallest file sizes are not top priority, hardware encoders may be a good choice on less powerful computers.
### Resolution
Resolution has a major impact on performance.
Higher resolution encodes take longer and produce larger file sizes, while retaining additional detail compared to faster, lower resolution encodes.
### Filters
Some filters are computationally expensive and can bottleneck the encoding process regardless of video encoder settings, notably the EEDI2 deinterlacer and the NLMeans denoiser. Other filters such as the Decomb deinterlacer and the hqdn3d denoiser are much faster, but can still be a bottleneck when using hardware video encoders such as AMD VCE, Intel QSV, and NVIDIA NVENC.
Due to the widespread availability of interlaced content in the world today, the Decomb deinterlacer is enabled in all HandBrake official `Presets` except the Production `Presets`. Also enabled is the Interlacing Detection filter, which ensures only interlaced frames are deinterlaced, leaving progressive frames untouched. This analysis can sometimes be a limiting factor for performance. If you are certain your `Source` contains no interlaced frames, you can disable these filters for a small increase in performance.
### Audio
Audio encoders generally have less work to do than video encoders, so their impact on performance is minimal compared to video settings, resolution, and filters. That said, audio can be a performance factor on slower computers and where many audio tracks need to be encoded.
### Other factors
Most other features such as subtitles, chapter markers, and container options have a negligible impact on performance.
One notable exception is the Web Optimized option for the MP4 container, which moves some of the video metadata from the end to the beginning of the final video file, mostly useful for streaming on the internet. This requires rewriting the entire file at the end of the encode, which can take some time on slower computers. CPU and memory speed, along with faster storage (such as an SSD) can help minimize the time the Web Optimized option needs to rewrite large output files.

View File

@ -0,0 +1,67 @@
---
Type: article
Title: Process Isolation
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Process Isolation
============
## What is Process isolation?
When HandBrake runs an encode, it now does so in a separate process.
This means that should an encode crash, the UI will remain responsive and continue processing the rest of the queue.
This also allows us to run multiple encodes at the same time where your hardware can support it.
## Support
This feature applies to the HandBrake GUI only.
| UI | Process Isolation | Multiple Simultaneous Encodes | Comments |
|-----------|:-----------------:|:-----------------------------:|----------|
| Windows | ✓ | ✓ | |
| macOS | ✓ | ✓ | |
| Linux | | | Not currently supported. Possible for future release |
Please note, to have multiple simultaneous jobs running you must have high end hardware. Typically you are going to want to have an 8-core CPU or better.
Some hardware encoders do also support this but varies between 1 to 3 maximum jobs.
## Settings for Process Isolation
<!-- .system-macos -->
Process Isolation can not be turned off.
In macOS, you can define the number of simultaneous jobs only.
To control this behaviour see: HandBrake Menu -> Preferences -> Advanced
<!-- /.system-macos -->
<!-- .system-windows -->
On Windows, HandBrake uses a separate process that will show up in task manager as "HandBrake.worker.exe"
Please note, that this uses a small web server bound to 127.0.0.1. As such, you may be alerted to the fact that HandBrake is making a connection to this process by your firewall.
This webserver can not be accessed remotely by any other machine on the local network.
This could potentially be an issue for some users, as such, we've provided additional controls for this functionality.
To control this behaviour see: Tools Menu -> Preferences -> Advanced -> Process Isolation.
Here you can enable / disable the feature, set the default port and set the number of simultaneous jobs.
If you are using Portable HandBrake and want to completely disable this feature, you can do so by setting the portable.ini file to include the following line:
process.isolation.enabled = false
<!-- /.system-windows -->

View File

@ -0,0 +1,63 @@
---
Type: article
Title: Supported source formats
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Supported source formats
========================
One of HandBrake's strengths is its ability to open a wide variety of video formats. HandBrake uses [FFmpeg](https://ffmpeg.org/) under the hood and generally can open whatever FFmpeg will, in addition to disc-based formats like DVD and Blu-ray.
**Note:** HandBrake does not defeat or circumvent [copy protection](https://en.wikipedia.org/wiki/Copy_protection) of any kind. It does not work with video files employing [Digital Rights Management](https://en.wikipedia.org/wiki/Digital_rights_management) (DRM). See [About HandBrake](../about.html) for more information about what HandBrake *does* and *does not*.
## Videos made by mobile phones, tablets, and many video cameras and DSLRs
Typically, each video will be a single file that you can copy to your computer, and later open using HandBrake. Common video file types are MP4 or M4V, MOV, MPG or MPEG, and AVI.
Some cameras store multiple videos in a folder structure with a playlist similar to Blu-ray discs, specifically cameras that record in AVCHD or AVCHD Lite. HandBrake may be able to open individual video files from the Stream folder inside the BDMV folder. In some cases this is not reliable, e.g. where a single video stream spans multiple files.
## Screen and game recordings, web videos, video editing projects, and other computer-related sources
Some screen recording softwares can export or record directly to video files HandBrake can open. Common video file types are MP4 or M4V, MKV, MOV, MPG or MPEG, AVI, and WMV.
HandBrake can open web videos in FLV, WEBM, MP4, and many other formats.
Videos made using consumer video editing software such as [iMovie](https://www.apple.com/mac/imovie/) and [Shotcut](https://www.shotcut.org/) must first be exported to a common video format for compatibility with HandBrake.
## Professional video production formats
HandBrake can open a number of production formats produced by professional video cameras and [NLE](abbr:Non-linear editing system)s, including [MXF](https://en.wikipedia.org/wiki/Material_Exchange_Format), [MPEG-TS](https://en.wikipedia.org/wiki/MPEG_transport_stream), and [QuickTime](https://en.wikipedia.org/wiki/QuickTime), along with common video codecs such as [CineForm](https://en.wikipedia.org/wiki/CineForm), [DNxHD](https://en.wikipedia.org/wiki/DNxHD_codec), [DNxHR](https://en.wikipedia.org/wiki/DNxHR_codec), [ProRes](https://en.wikipedia.org/wiki/Apple_ProRes), [XAVC](https://en.wikipedia.org/wiki/XAVC), and [XDCAM](https://en.wikipedia.org/wiki/XDCAM).
## DVD, Blu-ray, AVCHD/AVCHD Lite[^avchd-partial-support], and HD-DVD[^hddvd-partial-support] discs or disc backups
HandBrake can directly open DVD and Blu-ray discs. In most situations it is better to first copy the contents to your computer's hard drive[^uncopyable]. Common folders are VIDEO_TS and BDMV. Common video file types are VOB, EVO, and MTS or M2TS.
Certain third-party disc copy tools such as MakeMKV commonly make... wait for it... MKV video files. Other tools create ISO (sometimes labeled CDR) images of DVD and Blu-ray discs. HandBrake usually can open these directly.
BIN+CUE, MDF+MDS, and Toast images must first be mounted. Open the image using your operating system or appropriate software, and then open the virtual disc with HandBrake.
## Broadcast TV recordings
HandBrake can open common video file types produced by TV recording hardware and software such as TS/MTS/M2TS, MP4 or M4V, and MPG or MPEG.
Recordings made by TV-to-DVD recorders are generally supported, but do note that some recorders are known for poorly making discs. Some discs may not work due to mastering errors.
## Digital recordings of VHS, Beta, Video8/Hi8, LaserDisc, and other analog sources
First convert your analog video to digital using a computer-based hardware recording device such as the [Blackmagic Design Intensity](https://www.blackmagicdesign.com/products/intensity). It is important to choose a recording device and software that allows recording to or exporting to common video formats. HandBrake can open many common video files produced by recording software, including but not limited to TS/MTS/M2TS, MP4 or M4V, MOV, MKV, MPG or MPEG, and AVI.
[^avchd-partial-support]: AVCHD and AVCHD Lite playlists are not fully supported. Individual files/streams may work.
[^hddvd-partial-support]: HD-DVD playlists are not fully supported. Individual files/streams may work.
[^uncopyable]: Without special software, it is not possible to directly copy VIDEO_TS and BDMV folders from copy-protected discs.

View File

@ -0,0 +1,158 @@
---
Type: article
Title: System requirements
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55), Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
System requirements
===================
## Hardware
The following is the minimum level of hardware HandBrake formally supports.
- Processor:
- AMD Ryzen, Threadripper, or Epyc
- Intel Core (6th generation and newer) i3, i5, i7, i9, or equivalent Xeon
- Apple Silicon M1 and newer, recent Intel Macs supported per the above
- Free memory:
- 1 GB for transcoding standard definition video (480p/576p)
- 2 GB for transcoding high definition video (720p/1080p)
- 6 GB or more for transcoding ultra high definition video (2160p 4K)
- System storage:
- 150 MB for the HandBrake app
- 10 GB or more recommended for processing and storing your new videos
- Display resolution:
- 1280x960 minimum, proportionately higher with display scaling. (See section below)
While it may be technically possible to run HandBrake on hardware not meeting these requirements, it is not recommended.
### Hardware encoders
Please see the specific documentation pages for these encoders for further details.
- [AMD VCE](video-vce.html)
- [Apple VideoToolbox](video-videotoolbox.html)
- [Intel Quick Sync Video](video-qsv.html)
- [NVIDIA NVENC](video-nvenc.html)
## Software
The following describes the level of support available for the current HandBrake version as indicated by the status for each system version.
| Status | Description | Support Level | Maintenance |
|-------------|--------------------------------------------------------------------------|----------------------|------------------------------------------------------------------------------------------------------------------------|
| Supported | HandBrake is maintained and tested working on these system versions. | The HandBrake Team and community members provide [volunteer support](../help/community-support.html). | [Issue reports](https://github.com/HandBrake/HandBrake/issues) are welcome and addressed based on team availability. |
| Deprecated | HandBrake might work on these system versions with limitations. | No support will be provided. | Most issues will likely not be addressed. Please update to enjoy the latest features and bug fixes. |
| Unsupported | HandBrake does not work or is severely limited on these system versions. | No support will be provided. | No issues will be addressed, regardless of severity. Updating as soon as possible is highly recommended. |
<!-- .system-linux -->
### BSD and Linux
#### FreeBSD
HandBrake is supported on FreeBSD stable and maintenance versions.
| FreeBSD Version | Status | Last Compatible Version | Notes |
|-----------------|-------------|-------------------------|-------|
| FreeBSD 13 | Supported | | |
| FreeBSD 12 | Supported | | |
| FreeBSD 11 | Unsupported | 1.3.3 | |
#### Fedora
HandBrake is supported on Fedora stable and maintenance versions until their end of life.
| Fedora Version | Status | Last Compatible Version | Notes |
|----------------|---------------------|-------------------------|-------------------------------|
| Fedora 35 | Supported | | |
| Fedora 34 | Supported | | |
| Fedora 33 | Deprecated in 1.4.0 | | End of life. |
| Fedora 32 | Deprecated in 1.3.0 | HandBrake 1.4.2 | End of life. |
| Fedora 31 | Deprecated in 1.3.0 | HandBrake 1.4.2 | End of life. |
| Fedora 30 | Deprecated in 1.3.0 | HandBrake 1.4.2 | End of life. |
| Fedora 29 | Unsupported | HandBrake 1.3.1 | End of life. |
| Fedora 28 | Unsupported | HandBrake 1.3.1 | End of life. |
#### Ubuntu
HandBrake is supported on the most recent Ubuntu LTS version until a new LTS version is released. Support for older LTS versions may be provided via Flatpak.
Interim (non-LTS) versions are typically supported until their end of life.
| Ubuntu Version | Status | Last Compatible Version | Notes |
|-------------------------|---------------------|-------------------------|------------------------------------|
| 20.04 LTS Focal Fossa | Supported | | Flatpak, and source. |
| 18.04 LTS Bionic Beaver | Unsupported | HandBrake 1.3.3 | Flatpak only. |
| 16.04 LTS Xenial Xerus | Unsupported | HandBrake 1.1.2 | End of life (standard support). |
| 14.04 LTS Trusty Tahr | Unsupported | HandBrake 1.1.2 | End of life (standard support). |
#### Other
While no official support for other systems is provided, HandBrakes Flatpak binaries are widely compatible, and documentation is provided for compiling from source on a variety of BSDs and Linux distributions. Hardware encoding support may be limited or unavailable on these systems.
See [Where to get HandBrake](../get-handbrake/where-to-get-handbrake.html), [Building HandBrake for BSD](../developer/build-bsd.html), and [Building HandBrake for Linux](../developer/build-linux.html), for additional details.
<!-- /.system-linux -->
<!-- .system-macos -->
### Mac
HandBrake is supported on recent versions of macOS, and since version 1.4.0 is a Universal Binary supporting both Intel and Apple Silicon Macs.
| macOS Version | Status | Last Compatible Version | Notes |
|--------------------|---------------------|-------------------------|------------------------------------|
| 12 Monterey | Supported | | Requires HandBrake 1.4.0 or later. |
| 11 Big Sur | Supported | | Requires HandBrake 1.4.0 or later. |
| 10.15 Catalina | Supported | | Requires HandBrake 1.2.2 or later. |
| 10.14 Mojave | Deprecated | | End of life. |
| 10.13 High Sierra | Deprecated | | End of life. |
| 10.12 Sierra | Unsupported | 1.4.2 | End of life. |
| 10.11 El Capitan | Unsupported | 1.3.3 | End of life. |
| 10.10 Yosemite | Unsupported | 1.1.2 | End of life. |
| 10.9 Mavericks | Unsupported | 1.1.2 | End of life. |
| 10.8 Mountain Lion | Unsupported | 1.1.2 | End of life. |
| 10.7 Lion | Unsupported | 1.1.2 | End of life. |
| 10.6 Snow Leopard | Unsupported | 0.10.5 | End of life. |
[VLC](https://www.videolan.org/vlc/) is recommended for viewing media files, notably Matroska (MKV), which is not natively supported on macOS.
<!-- /.system-macos -->
<!-- .system-windows -->
### Windows
HandBrake requires [.NET Desktop Runtime](https://dotnet.microsoft.com/download/dotnet/5.0) 5.0.x.
| Windows Version | Status | Last Compatible Version | Notes |
|-----------------|---------------------|-------------------------|------------------------------|
| Windows 11 | Supported | | |
| Windows 10 | Supported | | 1909 or later. |
| Windows 8.1 | Unsupported | 1.3.3 | 1.4.2 runs with limitations. |
| Windows 7 SP1 | Unsupported | 1.3.3 | 1.4.2 runs with limitations. |
| Windows Vista | Unsupported | 1.0.7 | End of life. |
| Windows XP | Unsupported | 0.9.9 | End of life. |
<!-- /.system-windows -->
<!-- .system-linux.system-windows -->
### Display scaling
Display scaling beyond 100% requires a proportionately higher resolution to fit the higher density interface graphics in the same physical space. For example, HandBrake will fit within the bounds of a 1920x1080 HD resolution display at 100% and 125% scaling, but not at 150% and higher.
Customization to system themes, such as font sizes and padding, may also impact the ability of the window to render in the space provided.
If HandBrake does not fit within the bounds of your display, you can try changing the *Scale and Layout* setting on Windows, or the *Scaling Factor* setting on Linux, to a smaller value.
<!-- /.system-linux.system-windows -->

View File

@ -0,0 +1,32 @@
---
Type: article
State: [ draft ]
Title: Source Angles
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Source Angles
=============================
Some videos or movies have "multiple angles". This is where the same scene is shot from different camera angles.
HandBrake can read multiple video tracks from DVD and BluRay sources.
Under the source section, you will see a dropdown with the label "Angle" if your source type supports it.
You can choose which angle to encode to your output file.
HandBrake does not currently support multi-angle output.
<!-- .system-windows -->
![Frame rate controls on Windows](../../images/windows/point-to-point-1.0.0.png "HandBrake's Angle Control.")
<!-- /.system-windows -->

View File

@ -0,0 +1,48 @@
---
Type: article
Title: 10 and 12bit encoding.
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
10 and 12-bit encoding
===================
## Supported Encoders
The follow encoders support higher than 8-bit.
| Encoder |
|---------------------|
| x264 |
| x265 |
| Intel QuickSync |
| Apple Video Toolbox |
Please note, you must select a "10-bit" or "12-bit" encoder from the "Video Encoder" dropdown on the "Video" tab to enable this feature.
For hardware encoders, the option will only be shown if the system supports it.
### Limitations
Some filters that ship with HandBrake, do not currently support higher than 8-bit.
When these filters are enabled, HandBrake's pipeline will run at 8-bit rather than 10-bit or 12-bit.
This applies to the following filters:
- Detelecine
- Decomb
- Comb Detect
- Denoise
- Nlmeans
- Chroma Smooth
- Lapsharp
- Unsharp
- Grayscale

View File

@ -0,0 +1,67 @@
---
Type: article
Title: Video codecs
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Video codecs
============
The following video codecs are available for encoding in HandBrake.
- H.264:
- MPEG-4 Part 10, also known as H.264/AVC
- Provides excellent quality, performance, and file size
- Widely supported by media players, including mobile devices
- Several different encoders are supported:
- In software: x264
- In hardware: Intel QuickSync, AMD VCE, Nvidia NVENC and ARM devices though MediaFoundation.
- H.265 (HEVC)
- MPEG-H Part 2, also known as H.265/HEVC
- Successor to H.264/AVC offering higher quality encodes and smaller file sizes
- Current strengths are improved quality and compression for low bit rate encodes, and for ultra high definition content
- Significantly slower than software H.264/AVC encoders
- Limited device compatibility compared to H.264/AVC, but this is improving rapidly
- Several different encoders are supported:
- In software: x265
- In hardware: Intel QuickSync, AMD VCE, Nvidia NVENC and ARM devices though MediaFoundation.
- MPEG-4 (ffmpeg):
- MPEG-4 Part 2, also known as MPEG-4 Visual
- Predecessor to H.264/AVC offering fast encoding with lower overall quality than H.264/AVC
- Compatible with older devices, inexpensive DVD/flash/network players
- MPEG-2 (ffmpeg):
- MPEG-2 Part 2, also known as MPEG-2 Visual and H.262
- Predecessor to MPEG-4 Visual offering very fast encoding with lower quality than modern codecs
- Creates larger files than modern encoders
- VP9 (libvpx):
- Developed by Google and the successor to VP8, VP9 is a free and open video codec
- Comparable to HEVC/H.265 in quality and file size
- Slower encoding compared to x265
- VP8 (libvpx):
- Developed by On2 Technologies and acquired by Google, VP8 is a free and open video codec
- Successor to Theora offering significant improvements, comparable to H.264/AVC
- Theora:
- Developed by Xiph.Org Foundation and based on On2 Technologies' VP3, Theora is a free and open video codec
- Comparable to MPEG-4 Visual in quality and file size

View File

@ -0,0 +1,125 @@
---
Type: article
State: [ draft ]
Title: Constant Quality vs Average Bit Rate
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Constant Quality vs Average Bit Rate
====================================
HandBrake supports two modes of encoding video.
- With the average bitrate, you control the size of the output file but give
up control over the video's quality.
- Constant quality mode does the opposite; you specify a quality level and
HandBrake adjusts the bitrate (that is, the size) to meet it.
## Constant Quality
### Benefits over Average Bitrate
- Faster Encoding - No need to do 2-Pass encoding (thus almost halving the
encode time.) Constant Quality can produce the same quality as a 2 pass
encode.
- Reduced file sizes Videos usually have a mix of complex and less complex
frames. (The latter requiring less bitrate to achieve a set quality level)
If less complex frames do not have bits wasted on them, your overall output
filesize is reduced without any loss of quality.
### Output File Sizes
Because it takes a different bitrate to reach a given quality level for any
given part of any movie, the output size is unpredictable and varies from source
to source.
Example: Given 2 sources of the same length, one could turn out to be 1.2GB, the
other 1.9GB. The difference can be more or less depending on the source. If your
source material is consistent, you will get roughly the same file sizes out for
each.
In particular, grainy sources tend to come out larger as they require a higher
bit-rate to maintain all that extra detail in the video. In this case, you may
try turning on the "Denoise" filter or reduce the RF value a few points.
You should also note that even if a file size is significantly smaller than a
counterpart encoded with target filesize, it does not mean it is any lower
quality. It's simply encoded more efficiently.
### x264 Recommended Quality RF Values
The Quality slider ranges from (Low Quality) 51 to 0 (High Quality) For good
quality output at reasonable file sizes, the following values are recommended:
Recommended settings for x264 are:
- Standard Definition (e.g DVD's) Use an RF value of around 20 +/- 1 As an
example using the AppleTV2 preset at RF20, with 20 different sources, the
average size was 925MB per hour of video. (Min: 625MB/h Max:1,503MB/hr)
- High Definition (e.g Blurays 720/1080) Use an RF value of 22 +/- 1 Since HD
sources are typically quality, you can get away with a slightly higher RF
value than SD content without any perceived difference in quality.
You should note that the quality slider is not linear for x264. It is
logarithmic (like the Richter or pH scales.) This means small movements in the
numbers can have large results. You can control the granularity of the slider in
the preferences / options.
You can encode a few chapters of a source to experiment with different quality
values if the above recommendations are not suitable. Encoding a 10minute sample
in the middle of your source should give you a good idea of what to expect.
### x264 and RF 0
RF 0 applies no compression. It is lossless: it compresses the source without
throwing away practically any detail.
So should you use RF 0 to perfectly preserve the source? Nope. Not at all. In
fact, you'll end up with video that's way larger than the DVD, but doesn't look
any better.
See, DVDs use lossy compression to squeeze down the raw video the studios use to
make them -- sort of like a quality level of RF 20. It throws away detail. When
HandBrake uncompresses the video prior to conversion, the quality lost when the
DVD was made is still gone. When you use RF 0 quality with x264, you're telling
it to losslessly preserve the decoded, uncompressed video feed, not to
losslessly preserve the DVD. Both have the same picture quality, but the
uncompressed feed takes up a lot more space.
To sum up: when converting from a DVD source, there is no reason to go above an
RF of \~19, which is roughly equivalent to how heavily the DVD is compressed. If
you do go higher, your output will be larger than your input!
### Recommended values for other encoders
[TODO]
## Average Bitrate
Unless you really need to aim for a target filesize (which we recommend
against), it is highly recommended that you use Constant Quality.
Bitrate is the number of bits dedicated to the video in a second. And remember,
that gets split between \~24-30 frames. When you set an average bitrate, the
encoder will vary the number of bits given to any one portion of the video, but
try to keep everything at the average you set.
- The video bitrate can be set on the "Video Tab"
- It is recommended that you use 2-Pass encoding.
- This will provide better quality and better bit-rate distribution. A single
pass will lead to sub-optimal results.
- The "Turbo" checkbox will make the first pass quicker at the expense of
quality. Most of the time this loss is minimal and not appreciable by
the viewer.
- The downside is it can take up to twice as long to encode a file.

View File

@ -0,0 +1,20 @@
---
Type: article
Title: Video encoding performance
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
Redirect_URL: performance.html
---
Video encoding performance
==========================
This article has been moved to [Performance](performance.html).

View File

@ -0,0 +1,47 @@
---
Type: article
Title: Media Foundation Encoder
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Media Foundation
==================
## Supported hardware
- Windows 10 for ARM with Qualcomm ARM processors. This encoder will not display on x86 based systems.
## Enabling support
If your computer is supported you will see one or more of the following video encoders added to the encoder control on the `Video` tab.
- H.264 (MediaFoundation)
- H.265 (MediaFoundation)
## Presets
The following presets are available under the 'Hardware' category in the presets menu:
- H.265 MF 2160P 4K
- H.265 MF 1080p
These are a good starting point for configuring HandBrake to use these encoders.
## Performance
Only video encoding is performed by the hardware encoder. Every stage prior to and after video encoding including decoding, filters, audio/video sync, audio encoding, muxing, etc., is performed by the CPU. As a result, it is normal to have high (even 100%) CPU utilisation during encodes.
It is common, particularly on lower-end hardware, for the CPU to be a bottleneck for the hardware video encoder. To minimize this effect, disable any filters that you do not require.
## Advanced options
There are no advanced options available for VideoToolbox encoders.

View File

@ -0,0 +1,100 @@
---
Type: article
Title: NVIDIA NVENC
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
NVIDIA NVENC
============
## Supported Hardware and Configurations
- NVIDIA GeForce GTX Pascal (1050+), GTX/RTX Turing (1650+, 2060+) or Ampere (3060+) series GPU or better
- NVIDIA Graphics Driver 456.71 or later
- Windows 10
- Experimental Linux support is available in HandBrakes command line interface
Please note, these are not hard limits. Hardware encoding via NVENC *might* work on older series GPUs and older operating systems, but this is not officially supported.
## Enabling support
Support for the NVIDIA NVENC encoder is enabled in preferences on the video tab. If your system is not supported, the option will be disabled.
## Presets
The following presets are available under the 'Hardware' category in the presets menu:
- H.265 NVENC 2160P 4K
- H.265 NVENC 1080p
These are a good starting point for configuring HandBrake to use these encoders.
## Performance
HandBrake supports the NVIDIA NVENC encoder but does not support the NVDEC decoder.
The CPU will still be used for:
- Video decoding
- All video filters
- Audio encoding
- HandBrake's engine, A/V sync etc
- Subtitles
- Muxing
These operations all happen in parallel as the job progresses. As such, it is normal to see high (or even 100%) CPU utilisation even when using NVENC.
It is also common, particularly on lower-end or older hardware, for the CPU to be a bottleneck which will cause lower than expected performance. To minimize this effect, disable any filters that you do not require.
## Advanced options
The NVIDIA NVENC hardware encoder has a limited set of advanced encoder options. Generally speaking, it is not recommended to change these parameters, as the built-in presets offer a good range of options for common uses.
If using HandBrakes graphical interface, you can set the options in the `Advanced Options` field on the `Video` tab in the following format:
option1=value1:option2=value2
If using HandBrakes command line interface, use the `--encopts` parameter as follows:
--encopts="option1=value1:option2=value2"
### Option value types
The following value types are supported (each option only accepts one value type):
- integer
A number that can be written without a fractional or decimal component.
- boolean
0 means off (or disabled).
1 means on (or enabled).
- string
An alphanumeric string of characters. See the options comments for acceptable values.
### Options list
| Option | Type | H.264 | H.265 | Detail |
|------------------|-------------|:-----:|:-----:|-----------------------------------------------------------------------------------------------------------|
| gpu | string | ✓ | ✓ | GPU selection. Values: `any` (default), `0` (first GPU), `1` (second GPU), etc. |
| coder | string | ✓ | | Coder selection. Values: `auto` (default), `cabac`, `cavlc`. |
| temporal-aq | boolean | ✓ | | Set to `1` to enable Temporal Adaptive Quality, `0` to disable (default). Note the hyphen for H.264. |
| temporal_aq | boolean | | ✓ | Set to `1` to enable Temporal Adaptive Quality, `0` to disable (default). Note the underscore for H.265. *Requires RTX Turing 1660 or better.* |
| spatial-aq | boolean | ✓ | | Set to `1` to enable Spatial Adaptive Quality, `0` to disable (default). Note the hyphen for H.264. |
| spatial_aq | boolean | | ✓ | Set to `1` to enable Spatial Adaptive Quality, `0` to disable (default). Note the underscore for H.265. |
| aq-strength | int | ✓ | ✓ | When Spatial AQ is enabled, the values scale is `1` (low) `15` (aggressive). Default: `8`. |
| nonref_p | boolean | ✓ | ✓ | Set to `1` to enable automatic insertion of non-reference P-frames, `0` to disable (default). |
| strict_gop | boolean | ✓ | ✓ | Set to `1` to minimize GOP-to-GOP rate fluctuations, `0` to disable (default). |
| weighted_pred | boolean | ✓ | ✓ | Set to `1` to enable weighted prediction, `0` to disable (default). |
| rc-lookahead | int | ✓ | ✓ | Number of frames to look ahead for rate control. Default: `0`. |
| b_adapt | boolean | ✓ | | When lookahead is enabled, set this to `1` to enable adaptive B-frame decision (default), `0` to disable. |
| no-scenecut | boolean | ✓ | ✓ | When lookahead is enabled, set this to `1` to disable adaptive I-frame insertion at scene cuts, `0` to enable (default). |

View File

@ -0,0 +1,39 @@
---
Type: article
State: [ draft ]
Title: Presets and Tunes
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Encoder Presets and Tunes
==========================
Presets
--------------
Some encoders expose a preset and tune system. These can be adjusted from the Video Tab.
These provide a means of adjusting the encoder parameters to trade encoding speed for better quality and / or filesize.
Changes to the preset may also require changes to the quality slider or bitrate for optimium results.
Specific encoder settings can be overridden via the "Extra Options" box but this is typically not required.
Best practice is to use a preset around the middle. in
Tunes
--------------
The x264 and x265 tune options assign some additional options which will optimize the
encoder for certain types of content.
If you are unsure or your content doesn't really fit into one of the following
tunes, you can simply leave this option at "None".

View File

@ -0,0 +1,48 @@
---
Type: article
State: [ draft ]
Title: Profiles and Levels
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Profiles and Levels
==========================
Video Profiles
--------------
Define the features / capabilities that the encoder can use.
You can think of the profile as the level of complexity required in encode / decode. The higher the complexity, the more CPU power is needed to encode/decode. Setting a profile, constrains the encode to using settings that are allowed for that profile level.
Typically, devices will advertise that they are compatible for a particular profile and level, so you can simply set the option that matches your device for the best chance of compatibility.
Note that setting a profile does not mean your encoded file will end up being that profile. It simply prevents options being used that would breach that profile constraint.
Levels
------------
The levels are another form of constraints that define things like maximum bitrates, framerates and resolution etc. The following wikipedia articles lists the relevant information for each level.
| Status | Description |
|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------|
| H.264 | https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels |
| HEVC / H.265| https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding_tiers_and_levels |
Most devices (and sometimes, software decoders) support a "maximum" level. When
the video's specifications exceed that level's constraints, the decoder won't be
able to decode the video properly (it may simply refuse to play the file).
HandBrake's encoders, set the appropriate level automatically based on all the other settings. To make sure your video doesn't exceed a specific level, you simply have to make sure the other parameters fit within the constraints imposed by the level.
It is recommended that you leave this setting on "Auto" unless you require to set it for device compatibility.

View File

@ -0,0 +1,20 @@
---
Type: article
Title: Intel Quick Sync Video
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
Redirect_URL: video-qsv.html
---
CLI guide
=========
This article has been moved to [Intel Quick Sync Video (QSV)](video-qsv.html).

View File

@ -0,0 +1,189 @@
---
Type: article
Title: Intel Quick Sync Video
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Intel Quick Sync Video
======================
## Supported Hardware and Configurations
- Intel Skylake (6th Generation Core) CPU or later with Intel HD Graphics or better
- Windows 10
- Linux
- FreeBSD
Please note, these are not hard limits. Hardware encoding via Intel QSV *might* work on older series GPUs and older operating systems, but this is not officially supported.
A plugin with all required components for Intel QSV encoding using the Flatpak distribution of HandBrake is available on the official [HandBrake website](https://handbrake.fr).
## Enabling support
Support for the Intel Quick Sync Video encoder is enabled in preferences on the video tab. If your system is not supported, the option will be disabled.
## Presets
The following presets are available under the 'Hardware' category in the presets menu:
- H.265 QSV 2160P 4K
- H.265 QSV 1080p
These are a good starting point for configuring HandBrake to use these encoders.
## Performance
HandBrake supports both QSV encode and decode.
The CPU will still be used for:
- Video decoding (if QSV decode is disabled or your source is in a format which is not supported by the QSV hardware)
- Most video filters
- Audio encoding
- HandBrake's engine, A/V sync etc
- Subtitles
- Muxing
These operations all happen in parallel as the job progresses. As such, it is normal to see high (or even 100%) CPU utilisation even when using QSV.
It is also common, particularly on lower-end or older hardware, for the CPU to be a bottleneck which will cause lower than expected performance. To minimize this effect, disable any filters that you do not require.
## Advanced options
The QSV hardware encoder has a limited set of advanced encoder options. Generally speaking, it is not recommended to change these parameters, as the built-in presets offer a good range of options for common uses.
If using HandBrakes graphical interface, you can set the options in the `Advanced Options` field on the `Video` tab in the following format:
option1=value1:option2=value2
If using HandBrakes command line interface, use the `--encopts` parameter as follows:
--encopts="option1=value1:option2=value2"
### Option value types
The following value types are supported (each option only accepts one value type):
- integer
A number that can be written without a fractional or decimal component.
- boolean
0 means off (or disabled).
1 means on (or enabled).
- string
An alphanumeric string of characters. See the options comments for acceptable values.
### Options list
- target-usage (or tu) <integer>
- Sets the trade-off between quality and speed, from 1 (best quality) to 7 (fastest speed).
- Default: 2
- num-ref-frame (or ref) <integer>
- Number of reference frames, from 1 to 16.
- 0 means unspecified (set at runtime by the implementation).
- Default: 0 (unspecified)
- gop-ref-dist <integer>
- Distance between I or P reference frames, from 1 to 16.
- -1 means automatic (4 in constant QP mode, 3 otherwise).
- 0 means unspecified (set at runtime by the implementation).
- 1 means B-frames will not be used.
- Default: -1 (automatic)
- Note: may be sanitized to a lower value in some cases to avoid hangs.
- gop-pic-size (or keyint) <integer>
- Number of pictures within the current GOP (aka "keyframe interval").
- -1 means automatic (32 in constant QP mode, 1 second long otherwise).
- 0 means unspecified (set at runtime by the implementation).
- 1 means only I-frames will be used.
- 2 means B-frames will not be used.
- Default: -1 (automatic)
- cavlc <boolean>
- Use CAVLC instead of CABAC entropy coding. Reduces compression efficiency.
- It may improve encoding performance slightly, especially on older hardware.
- Note: you can also use `cabac` (same as `cavlc` with reversed meaning).
- Default: 0 (CAVLC off, CABAC on)
- b-pyramid <integer>
- Enables or disables "Pyramidal B-frames" which can improve compression efficiency.
- It may be incompatible with some playback devices (such as the first generation AppleTV).
- Note that this options modifies other parameters (gop-ref-dist, num-ref-frame, gop-pic-size).
- -1 means automatic (on in constant QP mode, off otherwise).
- 0 means off (disabled).
- 1 means on (enabled).
- Default: -1 (automatic)
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.6 of the Media SDK API.
- mbbrc <boolean>
- Enables macroblock-level bitrate control that generally improves subjective visual quality.
- It may have a negative impact on performance and objective visual quality metrics.
- Default: 1 (on)
- Note: not compatible with Constant QP or LookAhead rate control methods (ignored).
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.6 of the Media SDK API.
- extbrc <boolean>
- Use extended bitrate control algorithms.
- It generally improves objective visual quality metrics and subjective visual quality,
- but can also lead to violation of HRD conformance and may significantly reduce performance.
- Default: 0 (off)
- Note: not compatible with Constant QP or LookAhead rate control methods (ignored).
- Caveats: requires driver support for version 1.6 of the Media SDK API.
- trellis <integer>
- Enables trellis quantization.
- 0 means trellis is disabled.
- 1 means trellis is enabled for I-frames only.
- 2 means trellis is enabled for I and P-frames.
- 3 means trellis is enabled for all frames (I, P and B).
- Default: 0 (disabled)
- Note: ignored if the target-usage is too low (usually, only works in combination with tu=1).
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.7 of the Media SDK API.
- lookahead (or la) <boolean>
- Use the LookAhead (LA or LA_ICQ) bitrate control algorithm.
- Default: 1 (on)
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.7 (1.8 for LA_ICQ) of the Media SDK API.
- lookahead-depth (or la-depth) <integer>
- If LookAhead bitrate control is enabled, number of frames that are analyzed before encoding, from 11 to 60.
- Default: 40
- Note: may be sanitized to a lower value in some cases to avoid hangs.
- Caveats: requires hardware support (4th gen. Intel Core processor or equivalent), and driver support for version 1.7 of the Media SDK API.
- force-cqp <boolean>
- In Constant Quality mode, use Constant QP rate control, even if Intelligent Constant Quality is available.
- Default: 0 (ICQ enabled if available)
- cqp-offset-i <integer> | cqp-offset-p <integer> | cqp-offset-b <integer>
- In constant QP (CQP) bitrate control mode, specify offset from the global quality/QP value for I, P and B-frames.
- Defaults are 0, 2 and 4, respectively.
- vbv-maxrate <integer>
- Sets the maximum rate the VBV buffer should be assumed to refill at, in kilobits per second (Kbps).
- Default: 0 (set at runtime by the implementation)
- Note: not compatible with Constant QP, Intelligent Constant Quality or LookAhead rate control methods (ignored).
- vbv-bufsize <integer>
- Sets the size of the VBV buffer in kilobits (Kb).
- Default: 0 (set at runtime by the implementation)
- Note: not compatible with Constant QP, Intelligent Constant Quality or LookAhead rate control methods (ignored).
- vbv-init <float>
- Sets how full the VBV Buffer must be before playback starts.
- If it is less than 1, then the initial fill is: vbv-init * vbv-bufsize.
- Otherwise it is interpreted as the initial fill in kilobits (Kb).
- Default: 0 (set at runtime by the implementation)
- Note: not compatible with Constant QP, Intelligent Constant Quality or LookAhead rate control methods (ignored).

View File

@ -0,0 +1,102 @@
---
Type: article
Title: AMD VCE
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
AMD VCE
=======
## Supported Hardware and Configurations
- AMD Radeon RX5000 (RDNA) and RX6000 (RDNA2) series GPU or better
- Ubuntu Linux 20.04 or later
- Windows 10
Please note, these are not hard limits. Hardware encoding via VCE *might* work on older series GPUs and older operating systems, but this is not officially supported.
On Ubuntu Linux, [AMD Radeon Software for Linux version 19.20 or later](https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux) is required to use the VCE encoder. Install using the `amdgpu-pro-install` script according to AMDs [installation guide](https://amdgpu-install.readthedocs.io/en/latest/). Additionally, you must manually install the `amf-amdgpu-pro` package included in the download.
## Enabling support
Support for the AMD VCE encoder is enabled in preferences on the video tab. If your system is not supported, the option will be disabled.
## Presets
The following presets are available under the 'Hardware' category in the presets menu:
- H.265 VCN 2160P 4K
- H.265 VCN 1080p
These are a good starting point for configuring HandBrake to use these encoders.
## Performance
HandBrake supports the AMD VCE encoder but does not support the VCN decoder.
The CPU will still be used for:
- Video decoding
- All video filters
- Audio encoding
- HandBrake's engine, A/V sync etc
- Subtitles
- Muxing
These operations all happen in parallel as the job progresses. As such, it is normal to see high (or even 100%) CPU utilisation even when using VCE.
It is also common, particularly on lower-end or older hardware, for the CPU to be a bottleneck which will cause lower than expected performance. To minimize this effect, disable any filters that you do not require.
## Advanced options
The AMD VCE hardware encoder has a limited set of advanced encoder options. Generally speaking, it is not recommended to change these parameters, as the built-in presets offer a good range of options for common uses.
If using HandBrakes graphical interface, you can set the options in the `Advanced Options` field on the `Video` tab in the following format:
option1=value1:option2=value2
If using HandBrakes command line interface, use the `--encopts` parameter as follows:
--encopts="option1=value1:option2=value2"
### Option value types
The following value types are supported (each option only accepts one value type):
- integer
A number that can be written without a fractional or decimal component.
- boolean
0 means off (or disabled).
1 means on (or enabled).
- string
An alphanumeric string of characters. See the options comments for acceptable values.
### Options list
| Option | Type | H.264 | H.265 | Detail |
|------------------|-------------|:-----:|:-----:|--------------------------------------------------------------------------------------|
| coder | string | ✓ | | Coder selection. Values: `auto` (default), `cabac`, `cavlc`. |
| preanalysis | boolean | ✓ | ✓ | Set to `1` to enable preliminary analysis, `0` to disable (default). |
| vbaq | boolean | ✓ | ✓ | Set to `1` to enable Variance Based Adaptive Quantization, `0` to disable (default). |
| enforce_hrd | boolean | ✓ | ✓ | Set to `1` to enforce Hypothetical Reference Decoder, `0` to disable (default). |
| max_au_size | int | ✓ | ✓ | Maximum Access Unit size for rate control, in bits. Default: `0` (automatic). |
| me_half_pel | boolean | ✓ | ✓ | Set to `1` to enable half-pixel motion estimation (default), `0` to disable. |
| me_quarter_pel | boolean | ✓ | ✓ | Set to `1` to enable quarter-pixel motion estimation (default), `0` to disable. |
| bf_delta_qp | int | ✓ | | B-Picture Delta QP. The values scale is `-10``10`. Default: `4`. |
| bf_ref | boolean | ✓ | | Set to `1` to enable Reference B-Frames (default), `0` to disable. |
| bf_ref_delta_qp | int | ✓ | | Reference B-Picture Delta QP. The values scale is `-10``10`. Default: `4`. |
| intra_refresh_mb | int | ✓ | | Number of Intra-Refresh Macroblocks per slot. Default: `0` (automatic). |

View File

@ -0,0 +1,77 @@
---
Type: article
Title: Apple VideoToolbox
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS), Scott (s55) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Apple VideoToolbox
==================
## Supported hardware
- Most 2011 and later Macs
Please note, these are not hard limits. Hardware encoding via VideoToolbox *might* work on older series GPUs and older operating systems, but this is not officially supported.
## Enabling support
If your computer is supported you will see one or more of the following video encoders added to the encoder control on the `Video` tab.
- H.264 (VideoToolbox)
- H.265 (VideoToolbox)
- H.265 10bit (VideoToolbox)
Choice of the underlying hardware encoder (AMD VCE or Intel Quick Sync Video) is not available. The highest quality option will typically be chosen.
## Performance
Only video encoding is performed by the hardware encoder. Every stage prior to and after video encoding including decoding, filters, audio/video sync, audio encoding, muxing, etc., is performed by the CPU. As a result, it is normal to have high (even 100%) CPU utilisation during encodes.
It is common, particularly on lower-end hardware, for the CPU to be a bottleneck for the hardware video encoder. To minimize this effect, disable any filters that you do not require.
## Advanced options
The VideoToolbox encoder has a limited set of advanced encoder options. Generally speaking, it is not recommended to change these parameters, as the built-in presets offer a good range of options for common uses.
If using HandBrakes graphical interface, you can set the options in the `Advanced Options` field on the `Video` tab in the following format:
option1=value1:option2=value2
If using HandBrakes command line interface, use the `--encopts` parameter as follows:
--encopts="option1=value1:option2=value2"
### Option value types
The following value types are supported (each option only accepts one value type):
- integer
A number that can be written without a fractional or decimal component.
- boolean
0 means off (or disabled).
1 means on (or enabled).
- string
An alphanumeric string of characters. See the options comments for acceptable values.
### Options list
| Option | Type | H.264 | H.265 | Detail |
|------------------|-------------|:-----:|:-----:|-----------------------------------------------------------------------------------------------------------|
| gpu-registryid | int | ✓ | ✓ | GPU selection. If set, the VideoToolbox will only use a hardware encoder running on the GPU specified by the provided GPU registryID. |
| bframes | boolean | ✓ | ✓ | Set to `1` to enable Reference B-Frames (default), `0` to disable. |
| cabac | boolean | ✓ | | Set to `1` to enable cabac, `0` to disable. Note the hyphen for H.264. |
| slice-max-size | boolean | ✓ | | Set the maximum slice size for H.264 encoding in bytes. |
| vbv-bufsize | boolean | ✓ | ✓ | Sets the size of the VBV buffer in bytes per second. |
| vbv-maxrate | boolean | ✓ | ✓ | Sets the maximum rate the VBV buffer should be assumed to refill at, in bytes per second. |
| max-frame-delay | int | ✓ | ✓ | The maximum frame delay count is the maximum number of frames that a compressor is allowed to hold before it must output a compressed frame. |

View File

@ -0,0 +1,76 @@
---
Type: article
Title: Adjusting quality
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Adjusting quality
=================
HandBrake's default settings and most of the official `Presets` use a constant quality encoding method. This makes your new video look consistent from start to finish. Always use constant quality unless you have a specific reason not to.
You can use the default setting for the `Preset` you selected, or adjust the quality control higher or lower depending on your tastes. Increasing quality will make your new video take up more space on your computer or playback device, whereas reducing quality will typically make your new video take up less space.
## Using the quality control
Most of HandBrake's official `Presets` use the x264 or x265 video encoders with a Constant Rate Factor, sometimes abbreviated CRF or simply RF. A lower RF number produces *higher* quality video, and a higher RF number produces *lower* quality video.
You can think of the RF control in HandBrake as a quality control. To increase video quality, adjust the control toward the right. To reduce video quality, adjust the control toward the left.
<!-- .system-macos -->
![Using the constant quality control](../../images/mac/quality-control-1.1.0.png "Adjust the quality control toward the right to increase quality, or toward the left to lower it.")
<!-- /.system-macos -->
Begin by making small adjustments. Plus or minus 1-2 RF is usually noticeable.
## Recommended quality settings
Recommended settings for **x264** and **x265** encoders:
- RF 18-22 for 480p/576p Standard Definition[^SD]
- RF 19-23 for 720p High Definition[^720p]
- RF 20-24 for 1080p Full High Definition[^1080p]
- RF 22-28 for 2160p 4K Ultra High Definition[^2160p]
Raising quality minus 1-2 RF may produce better results when encoding animated `Sources` (anime, cartoons). Lower quality settings may be used to produce smaller files. Drastically lower settings may show significant loss of detail.
Using higher than recommended quality settings can lead to *extremely large files* that may not be compatible with your devices. When in doubt, stick to the recommended range or use the default setting for the `Preset` you selected.
## Display size and viewing distance
Imperfections tend to be more noticeable at larger display sizes and closer viewing distances. This is especially true for lower resolution videos (less than 720p), which are typically scaled or "blown up" to fill your display, magnifying even minor imperfections in quality.
You may wish to slightly increase quality for viewing on larger displays (50 inches / 125 cm diagonal or greater), or where viewing from closer than average distances[^viewing-distance]. Reduced quality may be acceptable for viewing on smaller screens or where storage space is limited, e.g. mobile devices.
<!-- .continue -->
## Next steps
<!-- .success -->
Continue to [Previewing your settings](preview-settings.html).
<!-- /.success -->
<!-- /.continue -->
[^SD]: [SD](abbr:Standard Definition) video has a resolution of 720x480 or fewer pixels (720x576 for PAL). DVDs, small web videos, and most analog sources are SD.
[^720p]: 720p [HD](abbr:High Definition) video has a resolution of 1280x720 pixels. With three times the resolution of SD, and about half that of 1080p HD, 720p HD is commonly used by consumer video cameras, web videos, and broadcast TV sports.
[^1080p]: 1080p [HD](abbr:High Definition) video has a resolution of 1920x1080 pixels—twice the resolution of 720p and six times the resolution of 480p. 1080p HD video is commonly used by mobile phones and tablets, consumer and professional video cameras, and Blu-ray.
[^2160p]: 2160p [UHD](abbr:Ultra High Definition) video has a resolution of 3840x2160 pixels and is four times the resolution of 1080p. 4K video is used by high-end mobile phones and tablets, consumer and professional video cameras, and 4K Blu-ray.
[^viewing-distance]: Learn more about [optimum viewing distances for high definition TV displays](https://en.wikipedia.org/wiki/Optimum_HDTV_viewing_distance).

View File

@ -0,0 +1,137 @@
---
Type: article
Title: Opening a video source
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Opening a video source
======================
Once you've [downloaded and installed HandBrake](../get-handbrake/download-and-install.html), it's time to open a video for encoding.
## About sources
In HandBrake terms, the video you already have is called the `Source`. One of HandBrake's strengths is its ability to open `Sources` in a wide variety of video formats, including but not limited to:
- Videos made by mobile phones, tablets, and many video cameras and DSLRs
- Screen and game recordings, web videos, video editing projects[^consumer-editor-export], and other computer-related sources
- Professional video production formats including ProRes and DNxHD
- DVD, Blu-ray, AVCHD/AVCHD Lite[^avchd-partial-support], and HD-DVD[^hddvd-partial-support] discs or disc backups
- Broadcast TV recordings
- Digital recordings of VHS, Beta, Video8/Hi8, LaserDisc, and other analog sources
You can learn more about [Source formats](../technical/source-formats.html) in the technical documentation.
**Note:** HandBrake does not defeat or circumvent [copy protection](https://en.wikipedia.org/wiki/Copy_protection) of any kind. It does not work with video files employing [[DRM](https://en.wikipedia.org/wiki/Digital_rights_management)](abbr:Digital Rights Management). See [About HandBrake](../introduction/about.html) for more information about what HandBrake *does* and *does not*.
## Ways to open a video source
By default, HandBrake presents the `Open Source` dialog on launch. It is also accessible from the `Toolbar` at the top of HandBrake's main window.
<!-- .system-linux -->
<!-- TODO: Linux figures. -->
<!-- /.system-linux -->
<!-- .system-macos -->
![Main window toolbar](../../images/mac/toolbar-1.1.0.png "The Toolbar provides easy access to HandBrake's most common functions.")
<!-- /.system-macos -->
<!-- .system-windows -->
<!-- TODO: Windows figures. -->
<!-- /.system-windows -->
Select the `Open Source` button to select the video you want to open.
You can also drag and drop a video `Source` onto HandBrake's main window.
<!-- .system-linux -->
<!-- TODO: Linux figures. -->
<!-- /.system-linux -->
<!-- .system-macos -->
![Open Source dialog](../../images/mac/open-source-dialog-1.1.0.png "The Open Source dialog allows you to browse your files for a video to open.")
![Opening a video source via drag and drop](../../images/mac/open-source-drag-drop-1.1.0.png "In addition to the Open Source dialog, you may also open a video by dragging it to HandBrake's main window.")
<!-- /.system-macos -->
<!-- .system-windows -->
<!-- TODO: Windows figures. -->
<!-- /.system-windows -->
HandBrake will scan your selection and after a few moments, the main window will show the file name of the `Source` you opened along with some additional information.
<!-- .system-linux -->
<!-- TODO: Linux figures. -->
<!-- /.system-linux -->
<!-- .system-macos -->
![Successfully opened source](../../images/mac/open-source-success-1.1.0.png "HandBrake's main window after sucessfully opening a source.")
<!-- /.system-macos -->
<!-- .system-windows -->
<!-- TODO: Windows figures. -->
<!-- /.system-windows -->
Some `Sources` may contain more than one video clip, or a collection of `Titles`. Blu-ray and DVD `Sources` often have multiple `Titles`. Use HandBrake's `Title` control to select which video clip you want to use.
<!-- .system-linux -->
<!-- TODO: Linux figures. -->
<!-- /.system-linux -->
<!-- .system-macos -->
![Selecting a title](../../images/mac/title-selection-1.1.0.png "Some sources may contain more than one video clip. The title control lets you select which video clip you want to use.")
<!-- /.system-macos -->
<!-- .system-windows -->
<!-- TODO: Windows figures. -->
<!-- /.system-windows -->
Great! At this point, HandBrake knows which video you want to use.
<!-- .continue -->
## Next steps
<!-- .success -->
Continue to [Selecting a preset](select-preset.html).
<!-- /.success -->
<!-- .fail -->
If HandBrake didn't open your video as as expected or you had some other trouble, you can continue reading to learn more about how HandBrake works or jump right to [Troubleshooting common issues](../help/troubleshooting-common-issues.html).
<!-- /.fail -->
<!-- /.continue -->
[^consumer-editor-export]: Videos made using consumer video editing software such as [iMovie](https://www.apple.com/mac/imovie/) must first be exported to a common video format for compatibility with HandBrake.
[^avchd-partial-support]: AVCHD and AVCHD Lite playlists are not fully supported. Individual files/streams may work.
[^hddvd-partial-support]: HD-DVD playlists are not fully supported. Individual files/streams may work.

View File

@ -0,0 +1,86 @@
---
Type: article
Title: Previewing your settings
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Previewing your settings
========================
Video encoding requires a lot of computer resources and can take awhile to complete.
HandBrake's `Preview` feature allows you to perform a test run on a small portion of your `Source`, so you can see what your new video will look like without encoding all of it.
## Opening the Preview window
At the top of HandBrake's main window, you'll see a toolbar with various buttons.
<!-- .system-macos -->
![Main window toolbar](../../images/mac/toolbar-1.1.0.png "The Toolbar provides easy access to HandBrake's most common functions.")
<!-- /.system-macos -->
Select the `Preview` button to open the `Preview` window.
## Adjusting Preview settings
Move your mouse cursor over the `Preview` window, and some controls will appear.
<!-- .system-macos -->
![Preview window](../../images/mac/preview-window-1.1.0.jpg "HandBrake's Preview feature lets you test your settings on a small portion of your Source.")
![Preview controls](../../images/mac/preview-controls-1.1.0.png "You can set the starting position and duration of your Preview.")
<!-- /.system-macos -->
Set the starting position by dragging the `Position` control left or right, and choose how many seconds of video you want to encode using the `Duration` control.
## Starting a Preview encode
When you're satisfied with your starting position and duration, select `Live Preview` and be patient. HandBrake will report its progress while it works.
<!-- .system-macos -->
![Preview progress indicator](../../images/mac/preview-progress-1.1.0.png "HandBrake will report its progress while encoding your Preview.")
![Preview playback controls](../../images/mac/preview-controls-playback-1.1.0.png "Playback controls allow you to interact with your Preview when it's ready.")
<!-- /.system-macos -->
When your `Preview` is ready, the controls are updated to let you play, pause, and rewind your video. You can also adjust the audio volume, and in some cases, choose which audio track plays.
<!-- .system-macos -->
To create a new `Preview`, select the `` button to start over.
<!-- /.system-macos -->
When you're finished previewing your work, you may close the `Preview` window.
<!-- .continue -->
## Next steps
<!-- .success -->
Continue to [Starting encoding](start-encoding.html).
<!-- /.success -->
<!-- .fail -->
If the `Preview` you created was lacking in quality or otherwise not as expected, you may need to [adjust quality](adjust-quality.html) or select a different [Preset](select-preset.html), after which you can create another `Preview` to see any changes.
<!-- /.fail -->
<!-- /.continue -->

View File

@ -0,0 +1,61 @@
---
Type: article
Title: Selecting a preset
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Selecting a preset
==================
A `Preset` is a group of settings specifically tailored for the software or device you want your videos to play on. Selecting a `Preset` can go a long way toward ensuring your video works where you want it to.
## Official presets
HandBrake includes a number of official `Presets` for specific devices and for general use.
Once you've opened a `Source`, select the `Preset` that most closely describes the device you want your videos to work on. For instance, if you want to play your videos on a Roku that supports 1080p High Definition, choose the `Roku 1080p30 Surround` preset under `Devices`. See the technical documentation for more information about [official presets](../technical/official-presets.html).
<!-- .system-linux -->
<!-- TODO: Linux figures. -->
<!-- /.system-linux -->
<!-- .system-macos -->
![Selecting a preset](../../images/mac/preset-selection-1.1.0.png "Presets are one-click settings to save you time and help ensure compatibility with your devices.")
<!-- /.system-macos -->
<!-- .system-windows -->
<!-- TODO: Windows figures. -->
<!-- /.system-windows -->
If your device is not listed, or you wish to play your videos on a computer, the default `Fast 1080p30` preset is a good choice. It's fast and compatible across a wide range of software and devices.
## Custom presets
If you've previously saved one of your own `Presets`, you may select it in the same way as the official `Presets`.
You can learn more about [Custom presets](../advanced/custom-presets.html) in the advanced features section.
<!-- .continue -->
## Next steps
<!-- .success -->
Continue to [Adjusting quality](adjust-quality.html).
<!-- /.success -->
<!-- /.continue -->

View File

@ -0,0 +1,84 @@
---
Type: article
Title: Starting encoding
Project: HandBrake
Project_URL: https://handbrake.fr/
Project_Version: 1.5.0
Language: English
Language_Code: en
Authors: [ Bradley Sepos <bradley@bradleysepos.com> (BradleyS) ]
Copyright: 2022 HandBrake Team
License: Creative Commons Attribution-ShareAlike 4.0 International
License_Abbr: CC BY-SA 4.0
License_URL: https://handbrake.fr/docs/license.html
---
Starting encoding
=================
Now that you've got all your settings just right, it's time to make your new video!
## Selecting a destination
HandBrake calls the file name and location of your new video the `Destination`.
`Save As` is the file name of your new video. You can change it by typing directly in the box.
`To` is the location where HandBrake will place your new video. You can select the `Browse...` button to choose a different location.
<!-- .system-macos -->
![Selecting a destination](../../images/mac/destination-field-1.1.0.png "The Destination is where HandBrake will place your new video.")
<!-- /.system-macos -->
Please take special care to *note your destination*. Otherwise, you won't be able to find your new video. You can move it later if you desire.
## Starting the encode
Select the `Start` button on the toolbar to make your new video.
<!-- .system-macos -->
![Main window toolbar](../../images/mac/toolbar-1.1.0.png "The Toolbar provides easy access to HandBrake's most common functions.")
<!-- /.system-macos -->
Video encoding requires a lot of computer resources and can take awhile to complete. Some videos may take minutes to create; others may take hours.[^encoding-time]
<!-- .system-macos -->
![Encode progress](../../images/mac/encode-progress-1.1.0.png "HandBrake reports its progress during encoding.")
![Encoding complete alert](../../images/mac/encode-complete-1.1.0.png "HandBrake shows a notification when finished encoding.")
<!-- /.system-macos -->
HandBrake will report its progress while it's working and alert you when it's finished. Then you will have a new video file at the `Destination` you specified.
<!-- .system-macos -->
![Destination in Finder](../../images/mac/destination-finder-1.1.0.png "Your new video is located at the Destination you specified.")
<!-- /.system-macos -->
Congratulations! You just encoded your first video using HandBrake. It's now ready to watch on your devices.
<!-- .continue -->
## Next steps
<!-- .success -->
Continue to [Multiple encodes using the Queue](../advanced/queue.html).
<!-- /.success -->
<!-- .fail -->
If you didn't get a video file as expected, encountered an error, or had some other trouble, you can continue reading to learn more about how HandBrake works or jump right to [Troubleshooting common issues](../help/troubleshooting-common-issues.html).
<!-- /.fail -->
<!-- /.continue -->
[^encoding-time]: Encoding time depends on multiple factors, including the duration, resolution, and complexity of your `Source`; the settings used to make your new video; and the speed and computation power of your machine.

View File

@ -20,7 +20,7 @@ English documentation is currently available for the following HandBrake version
Current release:
- **[HandBrake 1.4.0-1.4.2](1.4.0/)**
- **[HandBrake 1.5.0-1.5.1](1.5.0/)**
Development release:
@ -28,6 +28,7 @@ Development release:
Previous releases:
- [HandBrake 1.4.0-1.4.2](1.4.0/)
- [HandBrake 1.3.0-1.3.3](1.3.0/)
- [HandBrake 1.2.0-1.2.2](1.2.0/)
- [HandBrake 1.1.0-1.1.2](1.1.0/)