h264enc [-1p | -2p | -3p | -qp | -crf | -b | -e | -r | -sc
| -scan | -iso | -spr | -mfr | -bpp | -bpb | -v | -help] [-p <preset>]
[preset_file]
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
h264enc uses a configuration file stored in the user's home
directory inside a hidden directory named as .h264enc where the user can
enable or disable many of the supported audio/video filters and containers.
This can reduce the time it takes to pass through the script when the user
disables filters and/or containers he never intends to use. Further, the
configuration file stores the paths to the required programs and a few other
things like some script options, MPlayer flags and email support.
- 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)
- -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> [-t <tune>] [-pf
<profile>]
- 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). Note that the -t and -pf
options only work with the x264 presets below! See examples at the end of
this option.
-
- 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 preset
ultrafast (x264 preset)
superfast (x264 preset)
veryfast (x264 preset)
faster (x264 preset)
fast (x264 preset)
medium (x264 preset)
slow (x264 preset)
slower (x264 preset)
veryslow (x264 preset)
placebo (x264 preset)
-
- Example of presets usage: h264enc -2p -p hq
-
- The above example will encode the DVD or input video file in 2-pass mode
using the High Quality (HQ) preset
-
- Load a custom preset from a file:
h264enc -2p -p cp /path/to/file/preset.cfg
-
- Please 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.
-
- Examples of x264 presets/tune/profiles usage:
h264enc -2p -p slow
h264enc -2p -p slow -t film
h264enc -2p -p slow -pf main
h264enc -2p -p slow -t film -pf high
-
- The first example encodes the input with x264's slow preset. The second
one does the same but tunes the encode settings for film footage. The
third example is as the first one but selects the main H.264 profile and
the last example uses both a tuning for film and selects the high H.264
profile. You can also switch the -t and -pf options, eg:
h264enc -2p -p slow -pf main -t film
- -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 information 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 of the DVD disc. Note that this option does no do any
stripping of specific titles, audio languages and/or subtitles. It dumps
the DVD content 1:1 to an ISO image.
- -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 calculate 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
h264enc was written by Grozdan Nikolov
<neutrino8@gmail.com>
This manual page was written by the author of h264enc
Please send all bug reports and/or questions/suggestions to
<neutrino8@gmail.com>
http://h264enc.sourceforge.net