docs: Stubbing out some of the audio / video technical pages. Based initially off the wiki but edits. Will need further edits and improvements.

This commit is contained in:
sr55 2016-04-06 20:57:40 +01:00
parent d1a61fda09
commit 335f371b95
9 changed files with 610 additions and 8 deletions

View File

@ -142,21 +142,21 @@ May affect compatiblity! Use a preset!
- Containers
- Known issue: MP4 edit lists
- Video
- Codecs
- x264 presets, tunes, and custom settings
- x264 profile and level
- Constant quality versus average bit rate
- [Codecs](technical/video-codecs.html)
- [x264 presets, tunes, and custom settings](technical/video-x264-presets-tunes.html)
- [x264 profile and level](technical/video-x264-profiles-levels.html)
- [Constant quality versus average bit rate](technical/video-cq-vs-abr.html)
- VFR/PFR, CFR, custom frame rates
- Advanced picture and filters
- Anamorphic modes
- Modulus
- Custom filter settings
- Audio
- Codecs: autodetection, read/passthru
- [Codecs](technical/audio-codecs.html)
- Known issue: Dolby Atmos
- Gain
- DRC
- Mixdown
- [Gain](technical/audio-gain.html)
- [DRC](technical/audio-drc.html)
- [Mixdown](technical/audio-mixdowns.html)
- Subtitles
- Formats
- Advanced preferences

View File

@ -0,0 +1,101 @@
---
License_Abbr: CC BY-SA 4.0
License_URL: "https://handbrake.fr/docs/license.html"
Language: English
Project_Version: Latest
Language_Code: en
Title: Audio Codecs
License: Creative Commons Attribution-ShareAlike 4.0 International
Text_Encoding: utf-8
Copyright: 2016 HandBrake Team
Project: HandBrake
Authors: Scott (s55)
Project_URL: "https://handbrake.fr/"
---
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 LibAV 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 OS X 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.
- AC3:
- HandBrake can encode to AC3 using LibAV.
- This is not the same as Passthru. You can encode any audio track to AC3.
- Flac 16 and 24bit (Libav)
- Loss-less 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, DTS, DTS-HD, TrueHD, MP3 or AAC (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,51 @@
---
License_Abbr: CC BY-SA 4.0
License_URL: "https://handbrake.fr/docs/license.html"
Language: English
Project_Version: Latest
Language_Code: en
Title: DRC - Dynamic Range Compression
License: Creative Commons Attribution-ShareAlike 4.0 International
Text_Encoding: utf-8
Copyright: 2016 HandBrake Team
Project: HandBrake
Authors: Scott (s55)
Project_URL: "https://handbrake.fr/"
---
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,19 @@
---
License_Abbr: CC BY-SA 4.0
License_URL: "https://handbrake.fr/docs/license.html"
Language: English
Project_Version: Latest
Language_Code: en
Title: Audio Gain
License: Creative Commons Attribution-ShareAlike 4.0 International
Text_Encoding: utf-8
Copyright: 2016 HandBrake Team
Project: HandBrake
Authors: Scott (s55)
Project_URL: "https://handbrake.fr/"
---
Audio Gain
==========
[TODO]

View File

@ -0,0 +1,58 @@
---
License_Abbr: CC BY-SA 4.0
License_URL: "https://handbrake.fr/docs/license.html"
Language: English
Project_Version: Latest
Language_Code: en
Title: Audio Mixdowns
License: Creative Commons Attribution-ShareAlike 4.0 International
Text_Encoding: utf-8
Copyright: 2016 HandBrake Team
Project: HandBrake
Authors: Scott (s55)
Project_URL: "https://handbrake.fr/"
---
Downloading and installing HandBrake
====================================
 
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)
 
Automatic
---------
"Automatic" will default to DPL2
 
Upmixing
--------
HandBrake does not currently support upmixing audio.

View File

@ -0,0 +1,77 @@
---
License_Abbr: CC BY-SA 4.0
License_URL: "https://handbrake.fr/docs/license.html"
Language: English
Project_Version: Latest
Language_Code: en
Title: Video Codecs
License: Creative Commons Attribution-ShareAlike 4.0 International
Text_Encoding: utf-8
Copyright: 2016 HandBrake Team
Project: HandBrake
Authors: Scott (s55)
Project_URL: "https://handbrake.fr/"
---
Video Codecs
============
 
- H.264 (x264): For MPEG-4 part 10, also known as H.264/AVC.
- This is HandBrakes default encoder. It provides excellent performance,
filesizes and quality.
- It is widely supported by players and mobile devices.
- H.264 (Intel QuickSync): For MPEG-4 part 10, also known as H.264/AVC.
- Available on Intel processors with Intel HD Graphics.
- QuickSync is a hardware based H.264 encoder so is very fast, with
significantly lower CPU usage than x264.
- Intel Haswell or newer CPU's are recommended as these offer the best
results in terms of Quality and Filesize.
- You can typically expect larger (but usually not significantly larger)
file sizes and slightly lower quality to an equivilent x264 encode. This
is a trade off that is fine for most.
- H.265 (x265): Also known as HEVC
- This is the next generation of encoder that offers even higher quality
encodes and better filesizes over H.264
- Note, encoding to H.265 is a significantly more complicated process, so
it is expected to be slower than !HandBrake's H.264 encoders.
- Playback support is rather limited at the moment, particularly with
mobile devices but this should improve drastically throughout 2015/16
- MPEG-4 (ffmpeg): !HandBrake offers FFmpeg's MPEG-4 part 2 encoder for fast,
low quality encoding.
- Better support from older devices such as DVD players and cheap "MP4
Players"
- Lower quality than the H.264 encode option but typically faster encodes.
- MPEG-2 (ffmpeg): !HandBrake offers FFmpeg's MPEG-2 part 2 encoder for fast,
low quality encoding.
- Fast Encoding, but requires larger files than MPEG-4 for the same
quality level. Useful for testing but not much else.
- VP8 (Libvpx):
- A free and open video codec which offers significant improvements over
Theora.
- VP3 (Theora): !HandBrake can also encode Theora video. Theora video with
Vorbis audio in the Matroska container represents a truly free option for
multimedia encoding.
- However, Theora has yet to reach maturity when measured by quality at a
given bitrate.

View File

@ -0,0 +1,133 @@
---
License_Abbr: CC BY-SA 4.0
License_URL: "https://handbrake.fr/docs/license.html"
Language: English
Project_Version: Latest
Language_Code: en
Title: Constant Quality vs Average Bit Rate
License: Creative Commons Attribution-ShareAlike 4.0 International
Text_Encoding: utf-8
Copyright: 2016 HandBrake Team
Project: HandBrake
Authors: Bradley Sepos
Project_URL: "https://handbrake.fr/"
---
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:
- 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,77 @@
---
License_Abbr: CC BY-SA 4.0
License_URL: "https://handbrake.fr/docs/license.html"
Language: English
Project_Version: Latest
Language_Code: en
Title: x264 Presets and Tunes
License: Creative Commons Attribution-ShareAlike 4.0 International
Text_Encoding: utf-8
Copyright: 2016 HandBrake Team
Project: HandBrake
Authors: Scott (s55)
Project_URL: "https://handbrake.fr/"
---
x264 Presets and Tunes
======================
 
x264 Presets
------------
x264 exposes a preset and tune system. Presets range from:
- UltraFast - Very high speed encoding, but requires much higher bit-rates to
maintain quality. This means you can expect much larger file sizes.
- Placebo - Extremely slow encoding but provides the best Quality and/or
filesize for a given source. - This option is often considered a placebo
because it offers diminishing returns in terms of quality and filesize.
Typically, it's recommended to use the Very Fast to Slow settings range for best
results, or one of the slower options if you don't mind the speed loss. Medium
is a good balance and most of !HandBrakes presets use this option.
 
x264 Tunes
----------
The x264 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".
- Film
- Real life footage, films etc may benifit. (Not Cartoons or Anime).
Typically won't do any harm to if left on for most content.
- Animation
- Used for hand-drawn animated content.
- Grain
- Typically used for very grainy or old content.
- Still Image
- Can be used for Slideshows, Presentations etc where there is very little
moving content.
- PSNR
- Used for benchmarking quality. Should not be used for normal use.
- SSIM
- Used for benchmarking quality. Should not be used for normal use.
- Fast Decode
- Optimise for faster decoding. Useful for low power devices that struggle
to decode the video.

View File

@ -0,0 +1,86 @@
---
License_Abbr: CC BY-SA 4.0
License_URL: "https://handbrake.fr/docs/license.html"
Language: English
Project_Version: Latest
Language_Code: en
Title: x264 - Profiles and Levels
License: Creative Commons Attribution-ShareAlike 4.0 International
Text_Encoding: utf-8
Copyright: 2016 HandBrake Team
Project: HandBrake
Authors: Bradley Sepos
Project_URL: "https://handbrake.fr/"
---
x264 - Profiles and Levels
==========================
 
H.264 profiles
--------------
Define the features / capabilities that the encoder can use.
HandBrake exposes 3 profiles for H.264 Encodes. 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.
- Auto (Recommended)
- This will automatically set the profile based on all the options that
have been selected.
- It is recommended that you use this option unless you need to set a
profile to ensure compatibility for a particular device.
- Baseline
- Baseline encodes are the most basic form of encoding. While decoding is
much easier, it may also require much higher bit-rates to maintain the
same level of quality.
- Main
- The middle ground. Most modern / current devices will support this
profile.
- High Profile
- For best quality and filesize at the expense of CPU time in both decode
and encode.
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.
 
H.264 Levels
------------
The levels are another form of constraints that define things like maximum
bitrates, framerates and resolution etc. The wikipedia article lists the
relevant information for each level.
http://en.wikipedia.org/wiki/H.264/MPEG-4\_AVC\#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 H.264 encoder, x264, sets 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.
For a more detailed guide, see
https://forum.handbrake.fr/viewtopic.php?f=6&t=19368