encxvid / dvd2vobs - Simple mencoder frontend and DVD rip utilities
DVD Rip Utilities consists of two major components:
- encxvid: Brain-dead simple to use front end to mencoder
- dvd2vobs: Extract VOB files from a ripped DVD
Download: DVD RIP Utilities v0.20
- encxvid, dvd2vobs and support utilities
Installation directory is /usr/local/...
- % tar zxf dvdriptuils-v0-20.tgz
- % make
- % sudo make install
- % sudo make config
- Note: make config modifies /etc/fstab, /etc/group and creates the directory
- /mnt/dvd2vobs. These changes are required so dvd2vobs can run without
- root privilege. /etc/fstab has a line appended to the end; /etc/group
- has the login user added to group "disk". A backup /etc/group.bak
- file is created.
This is the simplest use case for a DVD which can be read by vobcopy.
The DVD to copy is mounted under /mnt/dvd. A new directory under Videos is
created, and the disc is copied and dissected into segments by dvd2vobs.
Afterwards, the individual VOB files are transcoded to XvID format (AVI
containers) using encxvid.
- % sudo mount /dev/sr0 /mnt/dvd
- % mkdir $HOME/Videos/DvdToCopy
- % cd $HOME/Videos/DvdToCopy
- % dvd2vobs --dvd /mnt/dvd
- % encxvid *.vob
- % sudo umount /dev/sr0
This project is dependent on many other video processing utilities and
libraries. Make will fail when one of these dependency checks fails.
The name of the missing component is displayed in the build break.
This project has these dependencies:
- mkisofs with -dvd-video option (typically part of genisoimage package)
- libdvdcss (or similarly named DeCSS library)
- pv (Pipe Viewer)
For Ubuntu users, good directions for how to add Debian repositories that
contain libdvdcss2 are provided here:
The build will fail, and print the name of a missing dependent components
before building the utility package.
dvd2vobs takes the output of an already ripped DVD and "dissects" it into
individual tracks. Then segments within tracks are found (if present) and
cuts tracks at segment boundaries. This step is important for proper encoding
of an extracted MPEG2 VOB into AVI format. Sometimes frame rate, video or
audio bitrate changes occur in the middle of a track (at a segment boundary).
This change can result in the remainder of an extracted track to be unplayable,
either because audio is lost, or other encoding artifacts of such files.
The other major use for this utility is subdividing a DVD that is part of
a larger series, and the single disc contains multiple episodes from the series.
Some DVDs encode all episodes on that disc into a single large VOB file.
dvd2vobs can split such a file into individual episodes.
dvd2vobs sample usage
Note: In this example, dvd2vobs will dissect all tracks on a dvd into individual .vob files. encxvid will transcode these video files into AVI files, using the default video/audio values.
- mount /dev/sr0 /mnt/dvd
- mkdir -p Videos/movie
- cd Videos/movie
- dvd2vobs --dvd /mnt/dvd
- encxvid *.vob
encxvid is a extremely simple to use front end to mencoder for transcoding
video files into XvID AVI files. It uses intelligent
defaults for video and audio bitrates, aspect ratio. The simplest usage is:
This results in an AVI file with video encoded at 950kbps, MP3 audio encoded
at an ABR of about 170kbps.
The command line options for encxvid are simple, and easy to understand,
allowing the default encoding parameters to be easily modified. These
example enxcvid usages demonstrate the simplicity of encxvid command line parameters.
usage: encxvid [--size MB] [--bitrate br] [--abitrate br] [--start secs] [--vfps 24|30] [--duration secs] [--ffmpeg][--threads N] [--no-interleave] [--silent] [--debug] [--verbose] [--aid en/sp/fr/...] [--subtitle 0/1/2/... ] [--dry-run] [--help] [-h] [--outdir path] infile
- infile: Any video file viewable by mplayer
- --size: Target file size in MB
- --bitrate: Video bitrate setting in kbps
Negative value is target size in MB (-700 for 700MB video)
- --abitrate: Audio bitrate setting in kbps (8-320 valid)
Valid values: 8-320, medium, standard, extreme, insane
Default is standard (170kbps-210kbps)
- medium (150-180kbps)
- standard (170kbps-210kbps)
- extreme (200kbps-240kbps)
- insane (320kbps)
- copy (pass through
- --vfps: 24 (23.976) or 30 (29.970) (default 23.976)
In some cases, a mismatch in source VOB vfps and encoded
vfps results in a corrupt/blocky video encoding.
- --start: Begin encoding at specified start time
- --duration: Length of input file encoded
Note: Test start_time/duration with mplayer -ss and -endpos options
- --ffmpeg: Preprocess using ffmpeg
Useful for converting some MKV to AVI
- --aid: Audio ID (en/fr/sp...)
- --subtitle: subtitle ID (0/1/2/3)
- --verbose: Display details when encoding
- --debug: Show additional debug information during encoding.
- --dry-run: Show encoding commands, but do not execute.
- --outdir: Override default output directory (pwd).
- v0.10: Initial release of dvdriputilities
- v0.11: Minor bug fixes
- v0.12: Added --help, --dvd and --tmpudf options. Print message sudo password may be prompted.
- v0.13: Fixed cleanup of temporary UDF filesystem.
- v0.14: Added sudo timout test, loopback group permissions test, and missing isofsburn/rcmp utilities
- v0.15: Got rid of sudo requirement to run these utilities.
- v0.16: --ffmpeg does 2-pass encoding only using ffmpeg
- v0.17: Improved make/install/config experience.
- v0.18: Version 0.18: Fix handling directory paths with white spaces.
- Fix handling of error codes internally to scripts.
- Fixed name collision between DaViD patch and /usr/bin/patch
- v0.19: --dvd option now rips directly from mounted DVD
- v0.20: Fix /mnt/dvd2vobs mount point
Copyright (c) 2011-2013, Adam Bernstein, All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Adam Bernstein nor the names of its
contributors may be used to endorse or promote products derived from this
software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.