Zitat
Originally posted by thargor
Ja, aber wie gesagt, in dem Guide wird ja davon ausgegangen, das man eine DVD als Source zugrunde hat. Und man braucht in dem Guide ja auch die ifo files, welche ich ja bei einer SVCD Source nicht vorhanden sind. Wie soll ich das dann mit diesem Guide machen? Wenn Du ein anderes Guide kennst, was mein Problem lösen könnte, hätte ich es gern!
wie schon rasta21 geschrieben hat, ist es egal welche Source Du nimmt, ob VOB, SVCD oder VCD. In dem Guide wird ja auch beschrieben, wie ein paar Ausschnitte für Dein Menü nimmst und es in MPEG2 wandelst.
Hast Du schon mal DVD2SVCD oder AVI2SVCD/DVD manuell gewandelt ?
Dein SVCDMPEG material kannst Du auch mit Deinem VideoEditor "füttern".
Ich mache es anders, wenn es schnell gehn soll. mein Altes Beispiel fürs geb :
Zitat
video_max_width=640
video_max_height=480
video_max_border = 48
# lehres Video erzeugen
BlankClip(length=200,width=video_max_width,height=video_max_height,fps=25,color=$000000).ConvertToRGB32
# Sourcen Video Laden + Schneiden
video = mpeg2source("Pin_Ups_Menu.d2v").Crop(15,87,695,407)
# maximal Breite von Sourcen Video berechnen
resw = (video_max_width - (video_max_border * 3)) / 2
# maximal Höhe von Sourcen Video berechnen
resh = (Height(video) * resw) / Width(video)
# maximal Höhe von Sourcen Video setzen + in RGB32 schalten
video = video.BilinearResize(resw,resh).ConvertToRGB32
# maximal Höhe der Maske setzen + in RGB32 schalten
maske = AVISource("vpack.avi",false).BicubicResize(resw,resh).ConvertToRGB32.Loop()
# Top von den Summe der CHAPTERS.Video berechnen
restop= (video_max_height - ((video_max_border *3) + (resh *2))) / 2
# CHAPTERS setzen und Sourcen Video mit Maske verbinden + Tasten Nummer
v1=Layer(video,maske,"mul",255).Subtitle("1",20,20,0,200,"Arial",32,$FFFFFF,$000000)
v2=Layer(video.Trim(13429,0),maske,"mul",255).Subtitle("2",20,20,0,200,"Arial",32,$FFFFFF,$000000)
v3=Layer(video.Trim(28678,0),maske,"mul",255).Subtitle("3",20,20,0,200,"Arial",32,$FFFFFF,$000000)
v4=Layer(video.Trim(42393,0),maske,"mul",255).Subtitle("4",20,20,0,200,"Arial",32,$FFFFFF,$000000)
# CHAPTERS.Video mit lehres Video verbinden
Layer(last,v1,"add",255,video_max_border, restop + video_max_border)
Layer(last,v2,"add",255,(video_max_border *2) + resw,restop + video_max_border)
Layer(last,v3,"add",255,video_max_border,restop + (video_max_border *2) + resh)
Layer(last,v4,"add",255,(video_max_border *2) + resw,restop + (video_max_border *2) + resh)
#VCD 352x288
#TV-Overscan 1x
BilinearResize(344,280,0,0.75)
AddBorders(4,4,4,4)
# für TMPGEnc
ConvertToRGB24()
Alles anzeigen
[Blockierte Grafik: http://members.tripod.co.uk/BtqMbxIzvuFz/pin_ups_menu.jpg]
Wenn Du Dich überhaupt nicht auskennst, kann ich Dir gerne Weiterhelfen.
Motion-Menü per Stack-Funktion
Schritt 1: (Video Laden und Schneiden)
# mein Quell-Video ist ein DVD2AVI-Project als MPEG2,
mit einer anderen Funktion sind auch MPEG1 oder DivX als Quelle möglich (siehe Docu)
quell_video = mpeg2source("Pin_Ups_Menu.d2v")
[Blockierte Grafik: http://members.lycos.co.uk/BtqMbxIzvuFz/menu_stack01.jpg]
# Crop(clip, int left, int top, int width, int height) < hier wird also das Video geschnitten
quell_video = Crop(quell_video,15,87,695,407)
[Blockierte Grafik: http://members.lycos.co.uk/BtqMbxIzvuFz/menu_stack02.jpg]
# ConvertToRGB32(clip) < in RGB32 gewandelt, braucht nacher die Funktion Layer
quell_video = ConvertToRGB32(quell_video)
[Blockierte Grafik: http://members.lycos.co.uk/BtqMbxIzvuFz/menu_stack02.jpg]
Schritt 2: (Maske Laden und Anpassen)
# AVISource(string filename[,...], bool "audio", string "pixel_type") < jetzt wird ein Masken Video geladen ohne Sound
maske = AVISource("Maske_RGB24.avi",false)
# LanczosResize(clip, int target_width, int target_height) < die Maske wird auf die Größe vom Quell Video gebracht,
dazu wird per Width() und Heigth() die Größe abgefragt
maske = LanczosResize(maske,Width(quell_video),Height(quell_video))
[Blockierte Grafik: http://members.lycos.co.uk/BtqMbxIzvuFz/menu_stack03.jpg]
# ConvertToRGB32(clip)
maske = ConvertToRGB32(maske)
# Loop(clip, int "times", int "start", int "end") < da das Masken Video nur ein Frame hat, setzte ich Sie auf Unendlich
maske = Loop(maske)
Schritt 3: (Zusammenfügen von Video und Maske)
# Layer(base_clip, overlay_clip, string "op", int "level", int "x", int "y", int "threshold", bool "use_chroma")
quell_video_mit_maske = Layer(quell_video,maske,"mul",255)
[Blockierte Grafik: http://members.lycos.co.uk/BtqMbxIzvuFz/menu_stack04.jpg]
Schritt 4: (Kapitel setzen und ne Zahl für die Fernbedienung)
# Trim(clip, int first_frame, int last_frame) < Das zweite Kapitel beginnt bei Frame 13429 und wird bis zu Ende (0) gespielt. usw...
chapter1 = Trim(quell_video_mit_maske,0,0)
chapter2 = Trim(quell_video_mit_maske,13429,0)
chapter3 = Trim(quell_video_mit_maske,28678,0)
chapter4 = Trim(quell_video_mit_maske,42393,0)
# Subtitle(clip, string text, int "x", int "y", int "first_frame", int "last_frame", string "font", int "size", int "text_color", int "halo_color")
Auf die Kapitel-Videos wird ein Text gelegt
chapter1 = Subtitle(chapter1,"1",4,60,0,200,"Arial",72,$FFFFFF,$000000)
chapter2 = Subtitle(chapter2,"2",4,60,0,200,"Arial",72,$FFFFFF,$000000)
chapter3 = Subtitle(chapter3,"3",4,60,0,200,"Arial",72,$FFFFFF,$000000)
chapter4 = Subtitle(chapter4,"4",4,60,0,200,"Arial",72,$FFFFFF,$000000)
[Blockierte Grafik: http://members.lycos.co.uk/BtqMbxIzvuFz/menu_stack05.jpg]
Schritt 5: ( div. Rahmen und die Kapitel - Videos zusammenfügen)
#AddBorders(clip, int left, int top, int right, int bottom)
chapter1 = AddBorders(chapter1,20,20,20,20)
chapter2 = AddBorders(chapter2,20,20,20,20)
chapter3 = AddBorders(chapter3,20,20,20,20)
chapter4 = AddBorders(chapter4,20,20,20,20)
# StackHorizontal(clip1, clip2[,...])
chapter1_chapter2 = StackHorizontal(chapter1,chapter2)
[Blockierte Grafik: http://members.lycos.co.uk/BtqMbxIzvuFz/menu_stack06.jpg]
chapter3_chapter4 = StackHorizontal(chapter3,chapter4)
# StackVertical(clip1, clip2[,...])
chapter1_chapter2_chapter3_chapter4 = StackVertical(chapter1_chapter2,chapter3_chapter4)
#AddBorders(clip, int left, int top, int right, int bottom)
final_video = AddBorders(chapter1_chapter2_chapter3_chapter4,80,80,80,80)
[Blockierte Grafik: http://members.lycos.co.uk/BtqMbxIzvuFz/menu_stack07.jpg]
Schritt 6: (Maximale Frames setzen und Final ?)
# Trim(clip, int first_frame, int last_frame) < das Fertige Video, wird auf 200 Frames begrenzt
final_video = Trim(final_video,0,199)
# ConvertToRGB24(clip) < braucht nur TMPGEnc
return ConvertToRGB24(final_video)
oder
return final_video
Viel Spaß beim testen / basteln