iso2mkv is software for automated DVD to XviD/vorbis MKV video conversion with almost total control on the compression, while being simple and straightforward to use. iso2mkv project is a command line bash script based on Mplayer, Mencoder, oggenc, and mkvmerge.
Here are some key features of "iso2mkv":
· Can work from a device (/dev/hdc), image file (film.iso) or directory (VIDEO_TS).
· Automated calculation and compression for the video stream to XviD.
· Compression of the audio streams to mp3 or ogg-vorbis.
· Inclusion of zero or several audio streams in the final film (i.e. original, dubbing, director's comments).
· Extraction of the subtitles in VOBsub format (zero or more streams).
· Maximum size of the resulting files.
· Quality selection for the video and audio streams.
· Zones for higher/lower quality for the video compression, for start-end of the film (currently MEncoder-CVS is required).
· It is possible to stop and resume the process, i.e. another day or in another directory.
Things it currently can't do, but may be added if there is interest:
· Currently some ideas/wishes won't work because the script is unaware of the total duration of the film. Working on it. (not urgent, difficult)
· Use of codec other than XviD. (not urgent, medium difficult)
· Audio compression to mp3 VBR (now is mp3 CBR) and AC3. (not urgent, easy)
· Save to another video container (avi, ogg, ogm); even if MKV is the best, chances are that your living-room MPEG4 player won't accept it (medium urgent, medium difficult)
· Splitting of the final file in pieces, for burning to CD-ROMs (not urgent, don't know if difficult)
-o /output-path/basename - where to write files and how to name them; default: ./video; will create files /output-path/basename.mkv, /output-path/basename.sub etc.
-d /path/to/dvd-device/or/iso/or/dir - required, no trailing slash
-T Title - dvd title number, default 1
-a "lang lang ..." - audio languages to extract, space separated, default "128" (which is usually the original sound stream), may be a two-letter code or stream ID: en, fr, 128, 0x81
-s "sub sub ..." - subtitles to extract, space separated, default "0 1"; may be a two-letter code: en, fr, or stream ID: 0-32
-c "crop parameters" - video filters, ex. "704:416:8:80"; no default; if not set (and if -C is not present), the script will start mplayer -vf cropdetect so that you can copy these parameters
-b bitrate - video quality bitrate in kbit/s, default: 900
-t filesize - target filesize in MBs; if unset will use video bitrate above
-m mp3-bitrate - set audio to MP3 CBR and compression to bitrate, i.e. -m 128; default compression is ogg-vorbis
-v vorbis-quality - set audio OGG-Vorbis compression, default: 4
-C - don't start crop-test mode, crop is OK, or no crop needed
-u "min:sec" - start time for crop testing; default: "6:0"; if you encode a short clip you may set this to -u 30 (for 30 sec)
-k - Keep existing files, don't overwrite : in order to 'continue' an interrupted conversion: just append -k to the last command line.
-A - no audio extraction (not needed, or allready extracted)
-S - no subtitle extraction (not needed, or allready extracted)
-p - no first pass; allready done, and the file divx2pass.log is in the working directory. In case you are not satisfied with the quality or size of the reuslt, just redo a second pass with different bitrate/filesize (use options -CASp above)
-P - no second pass
-M - no merge video and audio into one film
-W s - wait "s" seconds between phases. If unset, after every extraction or compression, the script will stop and ask the user to press Enter (usefull for bug-tracing). If s>0, will beep and wait "s" seconds, you can go to sleep or away and it will automatically do everything
-x blah - additional settings appended to pass1 xvidencopts, ex. "cartoon[:other]", default is: "turbo:pass=1", this will append something else
-X blah - additional settings appended to pass2 xvidencopts, default is: turbo:pass=2:bitrate=%d
-n 19 - lower (re-nice) the CPU priority, default: 19 (lowest, so you can do something else on your computer)
-N - no re-nice prefix, use default CPU priority
-D - remove temporary WAV audio files (other temp files are not removed)
Multizone options - not extensively tested, will work only with latest MEncoder from CVS, and for the sake of simplicity here you can define only starting and ending moments of the main high-quality film (but if you need more flexibility you may add instructions to the -x and -X options):
-r fps - rate, frames per second, default 25.000, not required if -f/-F
-f frame - High Quality zone start frame
-F frame - High Quality zone end frame
-z second - High Quality zone start second (use instead of -f)
-Z second - High Quality zone end second (use instead of -F)
-w weight - the Lower Quality zone correction, 0.01-2.00; default 0.15 (for the main film the weight is 1.00)
iso2mkv -o "./popeye" -d "/mnt/hda8/temp-rip/POPEYE_1938" -T 2 -a "en" -s "bg en fr" -t 703
This means that files will be saved (-o) to the current directory and will be named "popeye.mkv", "popeye.sub" etc. The DVD is in the directory "/mnt/hda8/temp-rip/POPEYE_1938" (where there is a dir VIDEO_TS and inside, some .VOBs, .IFOs). The second title (-T 2) will be processed, the English audio stream (-a "en") and for the subtitles (-s "bg en fr"), Bulgarian, English and French in that order. The total target size (-t) of the files (.mkv, .sub and .idx) will try not to go beyond 703 MBs. As nothing set, the selected audio stream "en" will be extracted and converted to ogg-vorbis at quality 4.
When you start the program, if you don't indicate "crop settings" (i.e. -c "720:416:0:80"), MPlayer will be launched with the command line -verbose -vf cropdetect on the chosen title, on the sixth minute of the film. That way you can copy the crop settings (-vf crop) and remove the black lines above and below the film. You can also re-check the audio and subtitles' IDs.
You can change these settings. To start the real conversion, you have to add to the command line either -c "something" (crop set), or -C -c "something" (crop set, no need to test), or only -C (no crop, no need to test).
iso2mkv -o "./popeye" -d "/mnt/hda8/temp-rip/POPEYE_1938" -T 2 -a "en" -s "bg en fr" -t 703 -c "720:416:0:80"
Crop test. If you haven't set -C, MPlayer will be launched again, just to test and see the crop settings. Press "q" to close it. If it was OK, press Enter, else press Ctrl+C and change the command line.
Then the extraction beguins: first the subtitles (one after another), then the audio streams: extraction, normalization, compression to ogg-vorbis, then the two passes of the video encoding and finally the audio and video are merged in a big .MKV file.
Finally, the files that you need are "popeye.mkv", "popeye.sub" and "popeye.idx".
This program is distributed under the same license as MPlayer, that is GNU GPL. Without any warranty. You can use it only if you fully understand what you do and if you have the legal rights to backup your DVDs.
What's New in This Release:
· The main new additions in this version are local configuration settings and chapter extraction (with dvdxchap).
· Simple log files for every project are now created.
· The command line options -e, -Q, -K, and -L were added.
· Some bugs were fixed.