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
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.
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> [-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
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
Jun 25, 2010 h264enc(1)