OS - Windows NT 4.0, Windows 2000, Windows 98, Windows XP
Software Installation
Software links mentioned here points to some minimal installation
packages, placed on the same server, NOT on the original software sites.
If you wget or teleport this page - you keep ALL needed stuff.
Codecs
All you need for output AVI file: One Video Codec and one Audio codec.
Sound: I use
MP3 Pro classic CBR codec
for most cases because: real size difference VBR-CBR isn`t too
large in comparison with at least 1CD size file. If I want to
get best quality - I keep original AC3 soundtrack as is, with
NO repacking. Of course, you may have another opinion. Check
results yourself and choose.
Note also, that VBR-coded audiotrack
is properly synchronized when PLAYBACK. But if somebody want
to cut sample file from resulting AVI with VBR audio, he finds out
desynchronization in sample. This effect may be seen in some
players when you return to previous scene during playback.
Command-line tools
They do not need installation procedure, only
unpack and place them into some directory, where system PATH points.
If you try to read files from DVD, but they can`t be read, run DVD Decrypter
and copy files to Hard Disk (for example, to D:\FILM\) through it.
Choose only files of film. As usual, it will be the largest pack of files
with names beginning with the same number VTS_NN. Typically you get:
D:\FILM\VIDEO_TS\vts_01_00.ifo
D:\FILM\VIDEO_TS\vts_01_00.vob
D:\FILM\VIDEO_TS\vts_01_01.vob
D:\FILM\VIDEO_TS\vts_01_02.vob
D:\FILM\VIDEO_TS\vts_01_03.vob
D:\FILM\VIDEO_TS\vts_01_04.vob
this pack of files is result of this step.
"Graphic Subtitles" step
If this DVD contains subtitles of languages you may enter in text mode,
I recommend you to create TEXT subtitles in .srt/.smi format, through
step "Text Subtitles". If this DVD has some languages, that CANNOT be
entered in text form, keep them in graphics, in DirectVobSub format.
It is important to do this before "video pack" step. Size of
subtitles files is needed to be count to measure video bitrate.
Run VobSub Configure.lnk from installed package VobSub:
Press button Open, choose file type "ifo and vobs"
Open D:\FILM\VIDEO_TS\vts_01_00.ifo
Choose directory to place output files
Choose needed subtitles streams with upper buttons "<--"
& "-->". If you see two streams for one language - choose one of them,
pictures are identical.
After process finished, rename vts_01_0.sub & vts_01_0.idx
to filmname.sub & filmname.idx
files filmname.sub, filmname.idx - result of this step.
"Text Subtitles" step
Run Subripper
Open D:\FILM\VIDEO_TS\vts_01_00.ifo, choose needed subtitles track
Choose needed language
Start process (Interactive! You`ll answer - what chars are on screen)
Note, that russian "bI" is divided to "b" and vertical line.
teach programm to recognize it as separate "b" and "I". Later
use plain text editor and search-and-replace this pair of symbols
to russian character.
Note, that if you want to use language not installed in your system,
you must choose some method to write down it`s characters to text file
in some useful format
Save result in format .srt
small text files russian.srt, english.srt - result of this step.
"DVD2AVI" step
Run DVD2AVI, open D:\FILM\VIDEO_TS\vts_01_01.vob file (note! _01.VOB, not
_00.IFO and NOT _00.VOB). You see:
Press OK.
Try to see pieces of film by moving slider below from left to right
Choose frame with the most sharp black borders and press Video->Clip&Resize:
Check On checkbox in Clip-Resize interface and use sliders to crop
black borders:
Write down numbers (left 8, top 60, Width 704, Height 360) as
8,60,704,360 and keep them for
"Build Script" step
Turn OFF checkbox in Clip-Resize interface
Set Audio->Dolby Digital->Demux All tracks
Set Audio->Mpeg Audio->Demux All tracks
Set Video->Field Operation->None
Set Video->Color Space->YUV 4:2:2
Set Option->Process Priority->Low
Choose File->Save Project and name result as FILM.D2V
Programm processes input files. It IS NOT encoding process. All files
are read, sound streams are extracted, some table about files is built.
When got FINISHED in status window, close DVD2AVI
large binary files *.AC3, small text file film.d2v - result of this step.
"Build Script" step
Common notes
Basic Nature of AviSynth is to build some universal method to access video
information placed in .vob or any other files. VirtualDub opens .avs file
as "common video file", but this cause system to give this .avs file to
AviSynth.dll, and VirtualDub receives output stream from this DLL.
If you are not expert, begin with simple script named FILM.AVS and
placed in the same directory, as FILM.D2V:
File->Open->choose "AVI Compatibility mode (*.avi, *.avs)"
-> Open FILM.AVS
If you see some error message during opening process -
reread documentation on AviSynth and correct FILM.AVS
File opened. Now press Right Arrow on keyboard and see first
frame of film. Browse to some frame in the middle of the film
"Interlaced Video processing" substep
IVTC common notes
Choose scene with some motion and edges sharp enough.
Browse 15-60 sequential frames with Right Arrow key.
If you see some of these frames of film as "Interlaced" - you need
so-called "Inverse Telecine" process to correct it. If you are
novice in this theme - please,
read this documentation first.
The simplest way to make IVTC process is to use Decomb filter for AviSynth.
Typical script FILM.AVS changes are (added lines,
NTSC DVD example):
PAL DVD structure made from FILM original by duplicating 1 frame
25
24
Telecide(guide=1)
Decimate(cycle=25)
Difficult cases. Manual actions
Some complicated and corrupted streams cannot be deinterlaced with Decomb.
This part is useful, if above table doesn`t help you
in choosing right Decomb settings. You see "interlaced" or
"double-contoured" picture. In this case you must check if original
picture is corrupted.
Comment all Telecide-Decimate lines in FILM.AVS. Insert line:
SeparateFields()
to the end of FILM.AVS.
Reload file in VirtualDub and look carefully at pictures.
Now you see _fields_ of any frame separated. If you see some
pictures "interlaced" or "double-countured" - it CAN NOT be
corrected, these pictures are fully corrupted during build DVD
process.
Of course, if NOT ALL pictures are corrupted, you may try to choose
nice pictures and rebuild videostream from them. If you decide to do it -
SelectEvery() function is the most useful instrument for it. Typical script
to throw out combed fields may be represented by three lines:
Example from some DVD, build from FILM original by inserting every 5th
field, built by blending of two it`s "neighbours". As a rule, Decomb catches
these frames properly, but field order is changing from two frames to another
two frames. This may cause picture "bobbing" up and down on steady scenes.
This simple script does no additional work and gives you more "clear result".
Finally, you must see uniform motion in choosen frames range,
and NO "interlace artifacts" must be seen in the whole film.
"Correct Aspect Ratio" substep
Basic information:
Pixels on computer monitor assumed to be square, 1:1 aspect ratio.
Pixels on TV screen are NOT square. AR 4:3 is typical.
Pixels in DVD/MPEG2 stream MAY BE of ANY aspect ratio.
AR 1:1, 4:3, 16:9, 2.23:1 are typical.
USUALLY, "Aspect Ratio" written on DVD cover, is the ratio between
width and height of screen used to show the film on.
IT IS NOT Aspect Ratio of _PIXELS_. This AR parameter
DOES NOT help you in ripping process!
As usual, DVD contains true information about aspect ratio of it`s pixels.
But sometimes this information is wrong. I am always checking Aspect Ratio.
I always convert picture to "square pixels" state.
Method is (using VirtualDub):
Look for the frame, showing object of known aspect ratio. Wheel
seen from it`s axis, sphere, quadrat. Edges must be sharp enough.
Size of object`s view must be large enough (at least 20% of one of
film`s height). Remember number of the frame.
Press Ctrl-1 to Copy frame to clipboard
Run any bitmap pictures editor and Paste clipboard in it.
Precisely measure width and height of object. Note, that
one pixel error means (pictureheight/objheight) pixels error in
determination of final picture resolution.
For example. If measured size of Sun view is 220 x 221 pixels - you
don`t need to correct AR. If we have W x H = 160 x 180
pixels size, we must decrease height of picture by multiplier 160/180,
or increase width multiplying it with 180/160. If original picture is of
the _very_ good quality, I recommend you to increase it. In all other cases
decrease size.
Note, that brown numbers 8,60,704,360
are the values you have kept from "DVD2AVI" step.
Picture is cropped properly.
Blue numbers 704,320 are the FINAL dimensions
of picture. If you set copy of brown 704,360 values here - no resize
is performed, only crop.
"Choose final picture size" substep
Really, it is not very important, what particular size
of picture you build. Of course, the sharpest details are seen better,
if you keep more pixels per the same picture part. So, I prefer to
keep picture size in pixels as large, as it possible. But you must
remember. Greater picture size needs more bitrate. And greater
picture size causes more processor load when playback.
How to choose right values? The most common situation is to place
ripped film onto small number of CD. So, size of result videostream
is about 570M-600M for one CD, bearing 1-1.5 hours. This means useful bitrate
is 600k-1000k bit/sec. For example, we count 800k bitrate.
NB: There is NO reason to increase bitrate up to 1300kbps and more,
if you deal with DVD originals.
Take one second of 800k bitrate. We have picture of
(704 x 320 ~ 212000 pixels). one second contains 24 pictures,
approximately 5 mega pixels. Divide 800k over 5M. We get 0.16 bits per pixel.
There is some empiric rule. 0.2 bits per pixel is enough for most films
codec with any MPEG4 codec. So - if we want to keep picture size, we
increase average bitrate up to 1100br. If we want to fit size to one
CD, we must drop picture size to fit 0.2 bpp. Note, that most grayscale
(black-and-white) films may fit 0.14-0.16 bpp without losing quality.
I recommend assume 0.14-0.16 bpp values for color
and 0.11-0.12 for black-and-white films
if you are using XviD codec. It`s true enough for it.
Note, that most Mpeg4 codec divide full picture in 32*32 blocks.
Some of them has "side effects", if you choose width or height of full picture
not 32*n. For example, look at picture to the right. There are pieces of three
sequential frames. They are taken from "Kikujiro no natsu" titles. Pink object
moves from left edge to right over uniform blue background.
Codec DivX 5.11 Pro. Any quality settings. 720*304 picture size. If we set
640*352 or 704*320 picture size - no such artifacts are seen.
So choose 32*n width and height. for our example decrease width
from 704 to 696 to match this. You may ignore small (less than 2%) Aspect
Ratio errors. I recommend change both crop and final size to minimize errors
and loses. Last resulting line for our example is:
BicubicResize(696,320,0,0.75,10,60,700,360)
"VideoPack" step
Note. Why I am not using VirtualDubMod for this step? It has Error
Handler. It interpretes timeouts of AviSynth picture processing as
Read errors:
This is the MOST long step. Run:
avs2avi film.avs video.avi -p 0 -P 2 -s codec.ini
When you see codec configuration dialog - choose 1st step and second step
codec settings and press Ok. You may continue "SubRip" step now.
video.avi - result of this step.
"SoundPack" step
For each needed soundtrack (T01...AC3, T02...AC3,...):
Pack soundtrack with AC3DEC running command line:
ac3dec.exe "T01...AC3" -wav -out russian.wav and choosing codec and quality from appeared menu
Normal sound w/o music priority - 64k Mono - 128k Stereo
(according to original number of channels and their difference)
rock/pop/trash/..., rythmic melodies - 32k Mono or 64k Joint Stereo
Only speech, or old films from bad quality VHS - 32k Mono
I don`t recommend bitrate less than 24k - "encoding error"
MP3 noise appears on silence, actors voices become unrecognizable.
russian.wav, japan.wav - results of this step.
"VirtualDubMod" step
To build final avi Run VirtualDubMod.
Open video file video.avi
Video -> Direct Stream Mode
Streams -> Add -> choose russian.wav
Add -> japan.wav (if you want two soundtracks and so on)
Choose, what sound will be default and close Streams menu.
Check result by pressing Play button in VirtualDubMod
File -> Save as AVI
After short time (minutes) file is written. filmname.avi - result of this step.
"AVI tags" step
AVI file contains some text fields, whisch are shown (or not) by players
and other programms. You make good job, if you write there true information.
The best way to gain this information is to search film in
IMDB.COM database.
Run ABCAVI, open filmname.avi in it and edit at least:
ISBJ - Field "Subject" in AVI Tags -> Primary Tags.
Shown as "Clip" in Media Player; National chars available.
Write original film name. For example:
Back to the Future III
If avi is part of sequence:
Back to the Future III (part 1 of 2)
ICOP - Field "Copyright" in AVI Tags -> Primary Tags.
Shown as "Copyright" in Media Player
Write studio name and, possible - SHORT info about you. For example:
2002 Tri Star Pictures. (DVD ripped by SQ)
ITCH - Field "Encoded by" in AVI Tags -> Additional tags.
Write here small text about you.
IMED - Field "Medium" in AVI Tags -> Additional tags.
Choose - what original media was (DVD).
ISFT - Field "Software" in AVI Tags -> Additional tags.
Write here versions of AviSynth, VirtualDubMod, ac3dec.
Of course, there are more tags, and you may fill other.
"SubKonv" step
If you have 2 different languages text subtitles, the best way to keep them
both playable on different systems is to keep one file in .srt format,
and convert another to .smi format. Both formats are useful in all modern
players, or by ffdshow, or by DirectVobSub. Both may be switched off.
Rename english.srt to filmname.srt
SubKonv open as SRT russian.srt
Convert to SAMI format
name result file as filmname.smi and place in the same directory with .avi
filmname.srt, filmname.smi - result of this step.
To create better playable CD
Disk with video data must contain DATA, not programms. More original
DVD data kept - better result.
I think, that user chooses programms to view video himself. You MUST NOT
choose this for him. Do not waste 2-10M of disk space with your favorite
DivX Player. So - I don`t talk here about "DivX Launchers" and other such
stuff.
Don`t be lazy!
Name files with understandable ASCII name, WITHOUT national characters
in it. Don`t use "faceoff" names "videoout.avi", "track01.avi"
Make descript.ion - old DOS-style, DOS-coded file
Draw film name in Volume Label of CD
Scan DVD cover, write down film description in filmname.htm.
Directories/files structure (two soundtracks, two subtitles)
descript.ion (File with small one-line descriptions)
filmname.htm (Short info about film)
filmname.jpg (DVD cover scanned)
filmname.avi (video + russian sound + english sound)
I`m not interested in methods of work such as "Press One Button - and
all is done!". I prefer to set manually parametres instead of any
"innatural intelligence".
I receive corrections and additions in forms:
Programm used by you can`t do (describe...)
Programm used by you do (describe...) in wrong way.
To get better results (describe) to be done is needed.
This is possible with programm ().
I even don`t listen to words as "Your soft is too old!" or
"I have cool programm!", or "I know the only right way to do it!".
There were many docs I`ve read already. Do not repeat.
Now I use XviD (Koepi build) to code videostream.
I`ve tested DivX 5.02, 5.11 Pro codec, but found
NO reasons to use it in DVDRIP process.
I couldn`t get better results in quality or size with it.
Some my Rips are coded with DivX 4.12 due to type of material.
I listen to you about new versions, if you represent:
Videofragment example (.VOB file, less than 200M ;).D2V and .AVS files
Result of it`s coding by XviD (.AVI file, no sound)
SETTINGS of codec used in this process (.vcf files for VirtualDub or -s files for AVS2AVI)
Result of it`s coding by your favorite codec (.AVI file, no sound)
SETTINGS of codec used for this process (.vcf files for VirtualDub or -s files for AVS2AVI)