Hello
Well, as you know there is no regular subtitle for silent movies, so we can't make srt/idx/sub for them.
there are dialogue frames, like this picture :
Well, how can I change it? I want to change some English silent movies to Dutch
but what's the solution? it seems that we've got to export every dialogue frames from the movie as a JPEG picture? or it has a different way? of course I don't want to ruin the DVD menu and I know I can make srt subtitle under the original intertitle, but I'm looking for a way to replace my translated words with original ones
I only use freeware, so there may be a program out there that does it - but it is doable.
This assumes you are familiar with VirtualDub, AviSynth, DGindex, HcEncoder, etc.
Demux the movie using DgIndex.
Open the .m2v in VirtualDub and note the frames (start/end frames) that have to be changed.
Save one frame as a template and edit using a paint program.
Each new (one per dialog) image will be saved as a .24 bit BMP.
Construct an Avisynth script to insert and join the new movie.
Open the .avs script in HcEnc to output a new .m2v file.
Check the .m2v file in VirtualDub to verify that the new dialog frames appear at the correct time.
Mux the new .m2v and the audio using MuxMan to create a new DVD.
(I assume that silent movies still have an audio track to comply with DVD Standard?)
# -= AviSynth v2.5.8.5 script =-
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")
#the following line should be modified to reflect the location of the .d2v file
A=Mpeg2Source("C:\Documents and Settings\Superuser\Desktop\_dgindex\bond.d2v").ConvertToYV12().AssumeFPS(29.9700)
B=ImageReader("bond.bmp",fps = 29.97, start=293, end=380).ConvertToYV12()
C=A.Trim(0,292) # 0 is the first frame of the movie, 292 is the frame before the first insert.
D=A.Trim(381,499) # 381 is the frame after the first insert 499 is the frame before the next insert
E=ImageReader("die.bmp",fps = 29.97, start=500, end=601).ConvertToYV12()
F=A.Trim(602,0) # 602 is the frame after the last insert - the zero takes the argument to include the last frame of the video.
C+B+D+E+F
#End script.
The script assumes that the source is NTSC: PAL should be fps=25
This script only has two inserts.
More inserts means more lines of script.
The tricky part is putting this back with the original menu.