h264enc(1)
NAME
h264enc - the interactive shell script ripper
SYNOPSIS
h264enc [-1p|-2p|-3p|-qp|-crf|-b|-e|-r|-sc|-scan|-iso|-spr|-mfr|-bpp|-bpb|-v|-help] [-p <preset>] [preset_file]
DESCRIPTION
h264enc is an advanced and powerful interactive menu-driven shell
script which uses the encoding utility MEncoder from the MPlayer
project. The script can be used to encode DVDs, (S)VCDs or regular
video files to the high-quality H.264 video format (also known as AVC
(Advanced Video Coding) or MPEG-4 Part 10). At the moment, the script
supports virtually all options of the libx264 library and a variety of
audio codecs, including support for up to three DVD audio tracks muxed
into the MKV/MP4/OGM/TS containers. h264enc is targeted primarily at
power users or users who understand the process of video encoding and
want to tweak their settings in order to achieve the best possible
quality/file size of their encodes. For more information and a FAQ,
visit http://h264enc.sourceforge.net
REQUIREMENTS
- MPlayer/MEncoder >= 1.0rc2 compiled with libx264 support (SVN highly
recommended)
- libx264
- lsdvd
- dvdxchap from 'ogmtools' (for DVD chapter export)
- LAME (for MP3 audio encoding)
- FAAC (for AAC audio encoding)
- neroAacEnc (for AAC/AAC+ audio encoding)
- aacplusenc (for AAC+ audio encoding)
- oggenc (for Vorbis audio encoding)
- flac (for FLAC audio encoding)
- MP4Box from 'gpac' (for AVI -> MP4 container conversion)
- mkvtoolnix (for AVI -> MKV container conversion)
- ogmtools (for AVI -> OGM container conversion)
- tsMuxeR (for AVI -> TS container conversion)
PARAMETERS
-1p Encode in 1-pass mode
-2p Encode in 2-pass mode
-3p Encode in 3-pass mode
-qp Encode in fixed-quant mode
-crf Encode in constant rate factor mode
- <passmode> -p <preset>
- Use a predefined H.264 quality preset, where <passmode> is the
desired encoding mode (-1p or -2p or -3p or -qp or -crf) and
<preset> is the desired quality preset to use (see below).
You can choose from 61 different presets:
cp --------> Load a custom preset file (see example below)
ulq -------> Ultra Low Quality preset elq -------> Extreme Low Quality preset vlq -------> Very Low Quality preset lq --------> Low Quality preset mq --------> Medium Quality preset nq --------> Normal Quality preset (recommended) hq --------> High Quality preset (recommended) vhq -------> Very High Quality preset (recommended)
ehq -------> Extreme High Quality preset uhq -------> Ultra High Quality preset ihq -------> Insane High Quality preset nlq -------> Near Lossless Quality preset fghq ------> Film Grain optimized High Quality preset
ani -------> Anime preset anihq -----> Anime High Quality preset vdhq ------> VDPAU/DXVA High Quality (High@L4.1) preset
vdehq -----> VDPAU/DXVA Extreme High Quality (High@L4.1) preset
vdihq -----> VDPAU/DXVA Insane High Quality (High@L4.1) preset
fl --------> Flash Player preset flhq ------> Flash Player High Quality preset qt --------> QuickTime preset qthq ------> QucikTime High Quality preset bd40 ------> Blu-ray (Main@L4.0) preset bdhq40 ----> Blu-ray High Quality (High@L4.0) preset
bd41 ------> Blu-ray (Main@L4.1) preset bdhq41 ----> Blu-ray High Quality (High@L4.1) preset
avchd -----> AVCHD (Main@L4.0) preset avchdhq ---> AVCHD High Quality (High@L4.1) preset sdb -------> Stand-alone HW players SD (Baseline@L3.1) preset
sdm -------> Stand-alone HW players SD (Main@L3.1) preset
sdh -------> Stand-alone HW players SD (High@L3.1) preset
hdb -------> Stand-alone HW players HD (Baseline@L4.1) preset
hdm -------> Stand-alone HW players HD (Main@L4.1) preset
hdh -------> Stand-alone HW players HD (High@L4.1) preset
ag1 -------> Android G1 preset ag1hq -----> Android G1 High Quality preset ipc -------> Apple iPod Classic preset ipchq -----> Apple iPod Classic High Quality preset
ip --------> Apple iPod preset iphq ------> Apple iPod High Quality preset iph -------> Apple iPhone preset iphhq -----> Apple iPhone High Quality preset atv -------> AppleTV preset atvhq -----> AppleTV High Quality preset ar --------> Archos 605 preset arhq ------> Archos 605 High Quality preset ar5 -------> Archos 5 preset ar5hq -----> Archos 5 High Quality preset bb --------> Blackberry 9000 preset bbhq ------> Blackberry 9000 High Quality preset nks60 -----> Nokia S60 preset nks60hq ---> Nokia S60 High Quality preset psp -------> Sony PSP preset psphq -----> Sony PSP High Quality preset ps3 -------> Sony PS3 preset ps3hq -----> Sony PS3 High Quality preset mz --------> Microsoft Zune preset mzhq ------> Microsoft Zune High Quality preset mx --------> Microsoft XBOX 360 preset mxhq ------> Microsoft XBOX 360 High Quality presetExample of presets usage: h264enc -2p -p hqThe above example will encode the DVD or
input video file in 2-pass mode using the
High Quality (HQ) presetLoad a custom preset from a file:
h264enc -2p -p cp /path/to/file/preset.cfgPlease have a look at the preset.cfg file inside the h264enc package to give you an
example on how to write a custom preset.
The preset.cfg file is usually located inside the doc directory of the h264enc
package. - -b /path/to/file/batchfile
- Load a batch file generated by this script. This
option can be useful for testing or debugging the
MEncoder parameters and for batch encoding. - -e Edit the config file from within the terminal.
- This option defaults to using the 'nano' text editor but one can manually set his preferred editor
in the EDITOR variable of the config file. The
config file is located in /home/username/.h264enc - -r Reset configuration file. As of version 8.5.7,
- h264enc uses a configuration file which contains
the paths to the programs needed for its correct
operation. This option tells the script to remove
and recreate the config file using the default
values. It can be used to restore the original
values of the config file in case the user has
modified it and wants to get rid of those modifications. It is also used for resetting the config
file in case the user has installed a required
program after h264enc has generated its config
file. If this is the case, the config file will
not contain the path to the newly installed program so one has to reset the file in order to find
it. This is because the config file is generated/updated only once: if it's not available on
the user's system and during config version
updates. The configuration file is located in
/home/username/.h264enc/config - -sc Perform a sanity check. This will check for the
- programs which are required for the correct operation of this script and it will print the status
in a list. It will also display which audio codecs
are supported by MEncoder. - -scan Scan the DVD disc and display extensive informa
- tion about it. With this option, one can display
or export the information to a file on disk in
text, perl, python, ruby or xml format. - -iso Create an ISO image out of the DVD content and
- store it to disk.
- -spr Calculate the Storage and Pixel Aspect Ratios
- (SAR/PAR) for various resolutions.
- -mfr Calculate the maximum allowed frame references
- within DPB (Decoded Picture Buffer) limits for
different H.264 levels and resolutions. - -bpp This is an informative option which lets you cal
- culate the Bits Per Pixel (bpp) values for various
resolutions. The bpp value represents how much
bits each pixel gets. The higher the bpp value is,
the more distinct colors the pixels will have
which leads to a higher overall picture quality.
Note that these values are not absolute! For video
content with a lot of black in it, a bpp value of
0.14 may look very good. Video content with a lot
of high motion scenes may still look bad with a
bpp value of 0.20, so this really depends on the
content you are willing to encode and the resolution you choose when scaling down. - -bpb This option is similar to the -bpp one, except it
- calculates the Bits Per Block (bpb) values for
various resolutions. The bpb value expresses how
many bits each 16x16 macroblock gets. Good bpb
values are between 37-52. As is the case with Bits
Per Pixel, the bpb values are not absolute and
depend on the video content you are willing to
encode and the resolution you choose when scaling
down. - -help Display built-in help of the h264enc script and
- exit
- -v Display version of the h264enc script and exit
SEE ALSO
mencoder(1), lsdvd(1), dvdxchap(1), lame(1), oggenc(1), flac(1), mkvmerge(1), ogmmerge(1), mp4box(1)
AUTHORS
h264enc was written by Grozdan Nikolov <neutrino8@gmail.com>
This manual page was written by the author of h264enc
BUG REPORTS
Please send all bug reports and/or questions/suggestions
to <neutrino8@gmail.com>
WWW
- http://h264enc.sourceforge.net