VirtualDub procedures
Inhoud
Audio hersampling voor SVCD
Uitstellen van een audio track - oplossen
van video loopt voor op audio of omgekeerd problemen
Extraheren van AC3 audio uit een AVI
Extraheren van MP3 audio uit een AVI
Frameserven vanuit VirtualDub
IVTC
Samenvoegen van ongecomprimeerde audio en gecomprimeerde
video (inclusief MP3 audio compressie)
Samenvoegen van AVI bestanden
Samenvoegen van AVI bestanden (voor gevorderden)
Handmatige synchronisatie - oplossen van video en audio
synchronisatie problemen
Multiplexen van AVI en MP3
Herafleiden van keyframes - oplossen van
trage zoek problemen
Formaat veranderen voor SVCD - hoe de groote van een
willekeurige invoer aan te passen voor latere SVCD codering
Splitsen vanAVI's naar meerdere delen
Installeren van Frameserver ondersteuning
Ga naar je VirtualDub directory en start het bestand genaamd AUXSETUP.EXE, in het menu dat dan opent kilk je op "Install Handler".

Nadat de handler is geinstalleerd, dubbelklik je op "PROXYON.REG" welke kan worden gevonden in de AVIPROXY subdirectory in de VirtualDub directory. Let op de je de frameserver moet de-installeren door het runnen van PROXYOFF.REG nadat je klaar bent met het coderen.
Het sarten van de frameserver
Dan, aangenomen dat je nog geen AVI bestand hebt geladen, laad je video bestan (Control - o), en zet video op "full processing mode".
Klik daarna op "File -->Start Frame Server", en klik op OK in het pop-up scherm. Je zult gevraagd worden om een .vdr bestandsnaam op te geven. Negeer dat en tik een bestandsnaam met de .avi extensie, bijvoorbeeld: server.avi. Zodra dit gedaan is moet het volgende schem verschijnen en ben je klaar.
En hier komt het belangrijke deel: Je laat VirtualDub/Nandub lopen tot je klaar bent met coderen. Zodra je op de "Stop serving" knop drukt zal de frameserver stoppen en kan je codeer programma niet verder (of zelf niet starten).
Dit besluit het frameserving gedeelte en je kunt op de terug link klikken. Sluit VirtualDub niet af of druk niet op de "Stop serving"knop voordat je klaar bent met je codeer sessie.
>> TERUG
Als je al een gecomprimeerd audio bestand hebt ga dan door naar de speciale instructies voor dat geval.



Open je video. Selecteer daarna je audio bestand en natuurlijk gaan we dit
comprimeren - het zou een verschrikkelijke ruimte verspilling zijn als we dat
niet deden, dus zorg ervoor dat je audio compressie selecteerd en de audio op
"full processing" zet. Omdat de video al gecomprimeerd is, gaan we deze gewoon
kopieren, dus selecteeer "direct stream copy" voor de video.
Als je FlaskMpeg hebt gebruikt en audio bewerking heb aangezet dan moet je
kiezen voor "AVI audio" in plaats van "WAV audio".
Selecteer "Audio - Compression" om het compressie formaat te selecteren.

Selecteer hier je audio codec, Zelfs al kunt je DivX adio zien raad ik je ten zeerste af deze te gebruiken. DivX audio heeft een paar sync problemen en nog belangrijker het vereist downsampling naar 44.1KHz wat een verlies van kwaliteit tot gevolg heeft en een hoop andere problemen.
48KHz MP3 is duidelijk de beste oplossing.
Start dan het proces door op F7 te drukken. Na 10 minuten tot 2 uur heb je een
(hopelijk in sync lopende) film.
>> Lees meer over
A-SYNCHROON
als je asynchrone films heb is hier wat je kunt doen. Je wilt misschien kijken naar de alternatieve methode, welke een stuk eenvoudiger is maar extra programma's nodig heeft.
Stap 1: Selecteren van het berijkTen eerste selecteer je "Video - Frame Range". Dan zal het volgende scherm verscijnen
Hier
kun je de lengte van je film selecteren. Dus bijvoorbeeld als je de juiste
"Bron misplaatsing" (lees hieronder) wilt vinden kun je een lengte instellen
van een paar 1000 frames inplaats van het coderen van de volledige film en dan
uit te vinden dat je instellingen verkeerd waren. Zorg er ook voor dat je een
snelle audio compressie codec selecteerd ("DivX audio" of "uncompressed PCM"
omdat mp3 teveel tijd kost voor het testen).
Laten
we wat over verweving (interleaving) praten: Druk op CTRL-I om dit scherm te
zien. Als de video uit sync was vanaf het begin (ga anders direct naar stap 3)
moet je de juiste Bron misplaatsing vinden. Als de video voorloopt op de audio
(bijvoorbeeld: James Bond beweegt zijn lippen maar je hoort "My name is Bond,
James Bond" wat later) betekend dit dat je de audio naar links moet verplaatsen
- of een negatieve bron misplaatsing moet toepassen. Als de audio voor de video
komt heb je een positieve waarde nodig. Dit is een echte trail-and-error
procedure - ik kan je geen specifieke hints geven. Alleen een ding: Soms helpt
het instellen van "Interleave audio every 500ms" in plaats van "every 1 frame".
Als je denkt dat je de juiste waarde gevonden hebt ga dan naar stap 3.
Voordat ik het vergeet: Het is mogelijk dat bron misplaatsing toevoegen al je syncrhonisatie problemen oplost. In dat geval is het niet nodig om de onderstaande instructies verder te volgen.
Druk op CTRL - R om de framerate opties te tonen.
In "Video frame rate control" kun je de snelheid van je video aanpassen (audio
snelheid wordt niet veranderd). Omdat je film geleidelijk asynchroon wordt (Je
hebt stap 1 en stap 2 gevolgd hoop ik) moeten we de video versnellen of
vertragen zodat deze overeenkomt met de audio snelheid. Als de video sneller is
dan de audio (een scene vindt plaats op het scherm voordat je het bijbehorende
geluid hoort) moet je de framerate verlagen door handmatig een lagere framerate
in te stellen (of je moet de framerate verhogen als je audio sneller is dan je
video). Nu is dit een gevaarlijke operatie en ik stel voor dat je de framerate
alleen veranderd in zeer kleine stapjes (zoals 0,002 fps of zoiets). Opnieuw
zal het gebruiken van een snelle audio codec helpen omdat mp3 compressie veel
tijd kost. Als je de film niet gesynchroniseerd krijgt door aanpassing van de
framerate ben je genaaid. Maar tot nu toe ben ik altijd in staat geweest om de
films te synchroniseren gebruikbmakend van bron misplaatsing en ik geloof niet
dat er niet te synchroniseren films zijn.
Natuurlijk moet je nadien je avi opnieuw opslaan. Zorg ervoor dat zowel je
video als je audio ingesteld zijn op "Direct Stream Copy".
Alternatieve manier - Dit programma kan verkregen worden in de download sectie.
Selecteer
je avi door te klikken op het folder icoon. Geef daarna de gewenste framerate
op in het bovenste tekst veld, of selecteer een framerate uit de dropdown list.
Druk dan op "apply".
Deze methode is voorgesteld door JD_80 in de FlaskMpeg froep in Delphi.
Allereerst moet je dit kleine programma hebben, en een 'Wave editor'. Vaak is zo'n editor al bij je geluidskaart meegeleverd, als dat niet zo is raad ik je aan om CoolEdit of een soortgelijk programma te gebruiken. Omdat er veel verschillende programma's zijn om deze operatie uit te voeren kan ik geen afbeeldingen geven omdat het maar een klein deel van jullie zou helpen.
Dan moet je de punten in de video zoeken waar je de audio kan 'zien'. Gebruikmakend van VirtualDub moet je zoeken naar punten zoals het sluiten van deuren, scene overgangen die niet faden, of iedere ander plotselinge audio overgangen. Een punt moet ook zo dicht als mogelijk tegen het begin aanliggen en een ander punt zo dicht als mogelijk tegen het einde. Noteer de tijden in de video van deze punten. We zullen deze V1 en V2 noemen.
Gebruik
de knoppen 1 om frame voor frame vooruit/achteruit te gaan in VirtualDub en de
knoppen 2 om te bewegen per keyframe. Je kunt de exacte positie in de film
links onder zien. de nummers tussen de haken vertegenwoordigen de huidige
positie in de film, bijvoorbeeld 0:02:21.236 betekend 0 uur, 2 minuten, 21
seconden en 236 milliseconden. Zorg ervoor dat je de posities goed hebt, hoe
exacter zij zij hoe beter de synchronisatie uiteindelijk zal zijn.
Start nu de 'Wave editor', laad het wav bestand en zoek de corresponderene punten. Deze zullen A1 en A2 worden genoemd. Noteer ook de totale lengte van de audio, genaamd Ae. Ga uiteindelijk terug naar VirtualDub en zoek het einde van de video. Noteer ook hier de tijd, laten we deze Ve noemen (voor einde).
AL DEZE GETALLEN MOETEN OMGEZET WORDEN NAAR SECONDEN!
b.v. 15042,874
Als je al deze getallen hebt start dan een command prompt, start Synch.exe en voer de waarden die je hierboven hebt berekend in gescheiden door een spatie. Voeg zoveel stilte toe aan je wav als dat de tool je verteld, of je kunt de audio knippen als de tool het aangeeft. Gebruik je 'wave editor' om dit te doen.
Als laatste, nadat de audio is opgeslagen, volg de instrukties voor VirtualDub met een uitzondering: Nadat alles is ingesteld, druk je op Control-R en selecteer je "Change so video and audio durations match".
Zelfs al kan dit gecompliceerd klinken, zodra je het één keer gedaan hebt is het makkelijk en altijd perfect in sync (behalve als je geen preciese metingen hebt gedaan op je audio en video).
>> TERUG
Laten we eerst eens kijken hoe het splitsen werkt in Nandub. Dan gaan we hetzelfde doen in VirtualDub waar het moeilijker is.
Start Nandub, druk op Control-O om je AVI te laden. Zet video op "Direct Stream Copy":

Druk dan op de "Home" knop op je toetsenbord, gevolgd door Control-Shift-J (of "Edit - Go to last keyframe" als je liever met je muis werkt):
Geef
hier de CD groote van de CD op min ongeveer 2MB. Omdat je alleen kunt knippen
op keyframes is het waarschijnlijk dat als je de exacte groote van de CD op zou
geven, dat het volgende keyframe een paar MB na de limeit licht en dan zal het
bestand te groot zijn.
Druk daarna op "OK" en je zult zien dat Nandub vooruit is bewogen naar het
knippunt. Druk nu op F7 om het eerste deel op te slaan.
Na het opslaan druk je op de Home knop, vershuif je de schuif onderaan het
scherm van Nandub naar rechts, druk op End en F7 om het tweede deel op te
slaan.
Dat is dat :) Nu is het tijd om je film te bekijken.
>> TERUG
Als je liever met de schuiven werk ga dan hierheen.
Laad je film in VirtualDub. Selecteer Video en dan "Select Range":
Er
is geen enkele manier om er zeker van te zijn hoe groot het resulterende
bestand zal worden dus eigenlijk moet je maar gokken. Als je hele film 1300MB
moet je ongeveer op de helft knippen (deel de lengte dor 2, voer dan die waarde
in het "Length" veld in.. Ik prefereer om te werken met frames maar je kunt
natuurlijk ook me ttijd werken als je dat liever doet). Je kunt een relatieve
en een absolute lengte opgeven (een "start offset" van 1000 zou betekenen dat
je video start op frame 1000, een "end offset" van 2000 betekend dat je
video stopt op frame 2000) de lengte geef je op in frames of milliseconden. Het
laatste is duidelijk het eenvoudigste in gebruik, maar zal alleen voor het
eerste deel werken. Dus selecteer een "start offset" van 0, de "Length" zoals
gewenst, druk dan op "ok" om de film op te slaan. Verifieerd dat de groote die
is die je wilde, zoniet ga dan terug en selecteer een andere lengte. Voor het
tweede deel van de film, kopieer de "end offset" waarde die nu wordt aangeven
in het corresponderende tekst veld naar het "start offset" tekst veld, stel
opnieuw een lengte in (als je naar 3 of meer delen splitst) of zet de "end
offset" op 0 (wat betekend dat het bestand alles zal bevatten van "start
offset" tot het einde. Zorg er ook voor dat je splitst op keyframe, niet zomaar
op een willekeurig frame - anders kun je wat frames veliezen en zal het
onmogelijk zijn de bestanden weer aan elkaar te plakken indien nodig.
Attentie: Zorg dat je er zeker van bent dat zowel Video als Adio op "Direct Straem Copy" staan. In het algemeen is audio al bij het opstarten van VirtualDub op "Direct Stream Copy" ingesteld maar video niet. Als je dit niet veranderd ksot he uren en zal de film volledig worden gedecomprimeerd en weer gecomprimeerd - neit erg slim om te doen.
De volgende schuif kan gebruikt worden om snel van de ene naar de andere positie te gaan. De knoppen gemarkeerd door (1) kunnen gebruikt worden om frame voor frame vooruit en achteruit te gaan, de knoppen gemerkt met (2) kunnen gebruikt worden om op keyframe vooruit en achteruit te gaan.
Als alternatief kun je de navigatie controls gebruiken om het bereik direct te selecteren. Gedurende deze operaties is het belangrijdk dat als je de schuif verplaatst en je de Shift toets indrukt op je toestenbord wat er voor zorgt dat de posities op keyframe vallen. Verplaats de schuif naar de gewenste start positie, druk dan op de Home knop op je toetsenbord. Verplaats dan de schuif naar de gewenste eind positie en druk op de End knop op je toetsenbord. Sla dan de film op (F7). Druk nu opnieuw op Home wat van de huidige positie de start positie maakt en verplaats de schuif opnieuw (Terwijl je de Shift vasthoud natuurlijk). Herhaal dit proces totdat je de AVI hebt gesplitst in zoveel delen als je wilt.
>> TERUG
Samenvoegen van 2 AVI bestanden
Het makkelijkste geval is als de 2 bestanden elkaar niet overlappen. In dat geval kunnen we gewoon het tweede bestand aan het eerste plakken en zijn we klaar. Afhankelijk van hoe de film is geknipt kunnen we 1 frame dubbel hebben maar dat valt bijna niet op. Als je overlappende bestanden hebt volg dan deze instructies. Je beste tool voor deze taak is Nandub omdat het zelfs VBR MP3 en AC3 audio aankan. Dus start Nandub en laad het eerst AVI bestand.

Selecteer dan "File - Append video segment"

Zet nu zowel video als audio op "direct stream copy".


Druk ni op F7, selecteer een naam voor het nieuwe bestand (zorg ervoor dat he verschilt van de 2 orginele bestanden), druk dan op OK om op te slaan. Na een korte periode heb je de hele film in één bestand.
Samenvoegen van twee DivX bestandenIk moet bekennen dat ik het initiële idee hiervoor heb van Nick z'n Pagina gids op DivX Digest. Maar omdat hij de "low-mo" en "high-mo" combo van mij heeft "gestolen" denk ik dat het wel goed zit.
Laten we aannemen dat je 2 DivX bestanden hebt, genaamd film1.avi en film2.avi. Laad de eerste in Nandub. Zet daarna zowel video als audio op "Direct Stream Copy" ("Video - Direct Stream Copy, Audio - Direct Stream Copy"). Druk daarna op "Video - Select Range":
Geef
nu een kleine waarde in in het "End offset" veld - in de Frames sectie. Sla dan
het bestand op onder een andere naam, laten we zeggen film1-2.avi. Laad daarna
de AVI die je zojuist hebt aangemaakt in Nandub. Plak dan het tweede bestand
aan het eerste:
Sla
daarna de avi op en speel hem af. Hopelijk doet alles het dan goed.
Nu gaan we een veel gevaarlijkere stunt uitvoeren: Laten we aannemen dat je een
film in DivX hebt gedaan maar op een bepaald moment heb je moeten afbreken of
zoiets. Daarna ben je opnieuw begonnen op het punt waar je was gestopt.
Natuurlijk moet je een positie kiezen voor de positie waar je de eerst run hebt
afgebroken anders zul je een stuk van de film missen. Dus laten we aannemen dat
je alle noodzakelijke voorbereidingen hebt getroffen en dat je klaar bent om te
strarten. Je hebt 2 avi bestanden, een genaamd film1.avi en een genaamd
film2.avi
Laad film1.avi in Nandub. Start een tweede kopie van Nandub en laad film2.avi hierin. Nu moet je een geschikte positie vinden waar de overgan plaats gaat vinden. Als je uitgevonden hebt dat als je het tweede bestand plakt startend met een keyframe ben je klaar. Dus wat nu je moet doen is goed kijken naar het einde van film1.avi. Gebruik VirtualDub z'n controle knoppen om frame voor frame (1) of keyframe voor keyframe (2) door de film te gaan.

Nu komt het moeilijke deel: Ga naar film2.avi, kijk naar het allereerste keyframe en probeer exact hetzelfde frame te vinden in film1.avi. Of als het te moeilijk is om het te vinden probeer dan de tweede, derde of welke keyframe uit film2.avi dan ook te vinden in film1.avi. Ik heb ontdekt dat mensten die ondertiteling gebruiken hier een groot voordeel hebben... Als je er zeker van bent dat je de juiste positei hebt gevonden, selecteer je "Video - Select Range" in film1.avi, geef 0 als "start offset" en de positie van het frame wat je de afgelopen 30 minuten <g> aan het aan het zoeken bent geweest in het "Length" veld (opnieuw ik gebruik hier frames en geen tijd). Sla dan de avi op onder een andere naam, laten we zeggen film1-2.avi. Dan indien je niet het eerste keyframe hebt geselecteerd in film2.avi, sla je de tweede avi op maar voordat je dit doet moet je de "Range" als volgt instellen: "Start offset": het geselecteerde keyframe en "end offset"op 0. Hierna laad je film1-2.avi in VirtualDub, en selecteerd dan "File - Append Video segment" zoals getoond in bovenstaande afbeelding, en plak je de aangepaste versie van film2.avi of film2.avi als je deze niet hebt veranderd. Dat zou je een perfecte avi moeten opleveren, niet één enkel frame gedropen en compleet synchroon enz. - Vooropgesteld dat de avi's al synchroon waren natuurlijk...
>> TERUG
Het opnieuw doen van Keyframe instellingenOpen het Avi bestand in VirtualDub, maar vink het "Popup extended open options" onderaan het window aan.

Vink
dan de "Re-derive Keyframe flags" aan zoals hier links getoond. Ik weet echt
niet of dit werkt, het is mij verteld dat het moet werken maar omdat ik nooit
problemen heb gehad heb ik deze optie nooit hoeven gebruiken.
>> TERUG
Verlaten van een audio track
Verlaten
van een audio track met XY ms is wat je naar zoekt...
>> TERUG
Lad je AVI of avs. Dukt op Control-R
Activeer
"Inverse telecine" en selecteer "Reconstruct from fields - adaptive". Je kunt
ook de andere opties proberen maar het 'adaptive' algoritme heeft het meeste
kans van slagen.
>> TERUG
Laad de VFAPI AVI in VirtualDub. Druk daarna op Control-F, configureer het ondertitel filter, en voeg het "resize" filter toe. Configureer hierna het "resize" filter.
Omdat
DVD2AVI geen aspect ratio correctie bevat moeten we dit op de moeilijke manier
doen. Hier zijn de instellingen die je moet gebruiken:
NTSC: 480x360, vink "expand frame and letterbox image" aan en zet de "size" op 480x380.
PAL: 480x432, vink "expand frame and letterbox image" aan en zet de "size" op 480x576.
Let op dat deze waarden alleen voor 16:9 films gelden (anamorphic widescreen), in gevan van 4:3 films kun he gewoon de groote aanpassen naar de juiste hoogte die je wilt en hoef je je niet druk te maken over letterboxing.
Selecteer "Precise Bicubic" als filter mode, de standaard "nearest neighbor"
geeft erg slechte resultaten.
Je wilt misschien ook je WAV track in VirtualDub laden ("Audio - WAV audio") maar zet audio op "direct stream copy" (standaard waarde) voor een betere snelheid. Video moet op "full processing" mode staan. Sluit nu het filter dialoog maar laat VirtualDub runnen en als laatste maar niet het minste druk op de terug link.
>> TERUG
Nandub maakt dit proces veel eenvoudiger en kan alle soorten MP3 bestanden aan, niet alleen CBR dus is dat het aangeraden programma hiervoor en niet VirtualDub.
Start Nandub op en laad je video (Control-O). Zet dan video op "direct stream copy" ("Video - Direct Stream Copy").

Nu moet je het MP3 bestand laden. Om dit te makkelijk te doen selecteer je "(VBR) MP3 audio" uit het audio met wat een selectie window opbrengt waar je het MP3 bestand kunt selecteren.

Als je een audio vertraging hebt opgeschreven in het proces selecteer de "Interleaving" optie uit het bovenstaande menu:

Voeg de vertragings waarde in van je MP3 bestand in in de "Delay
audio track by XY ms" veld in. Negatieve waarden krijgen natuurlijk een min
vooraf. Druk dan op OK. Er is geen behoefte aan andere waarden.
Zorg ervoor dat ook audio is ingesteld op "Direct Stream Copy", durk dan op F7
en sla het AVI bestand op onder een andere naam als het bestand dat je in het
begin hebt geladen. Als je audio uit sync is na het plakken lees dan hier
hoe het te synchroniseren.
>> TERUG
Druk op "Audio - WAV audio" en selecteer je WAV bestand.
Als het 48KHz is moet je het downsampelen naar 44.1KHz wat de sample rate is voor de SVCD specificaties. Druk op Control-A om het audio conversie window op te brengen.
Selecteer
441000Hz sampling rate en vink "High quality" aan.
>> TERUG
Toevoegen van gecomprimeerde audio
Start VirtualDub op en druk op Control - O om je video bestand te
laden. Zorg er dan voor dat video ingesteld in is op "direct stream copy"
("Video - Direct Stream Copy"). Laad daarna je audio bestand ("Audio - Wav
Audio...") en verifieer dat die ook is ingesteld op "direct stream copy". Druk
dan op F7 om de AVI op te slaan.
Probeer onder geen enkele omstandigheid de oude AVI te overschrijven.
>> TERUG
Extraheren van AC3 audio uit een AVI
Start Nandub, druk op Control-O om het AVI bestand te laden, zet daarna audio op "direct stream copy".

Selecteer nu "File - Save WAV".
Selecteer
een naam, druk dan op OK om de extractie te starten.
Nu ben je nog niet echt klaar. Het AC3 bestand dat we zojuist hebben gemaakt
bevat een WAV header zodat iedere AC3 verwerkende applicatie gaat klagen dat
het een ongeldig bestand is. Om dat probleem op te lossen moet je "BeSliced"
runnen, via "drag&drop" het bestand droppen in het kleine "BeSliced" window
en "Fix File!" te selecteren van het menu wat verschijnt.
![]()
BeSliced zal een nieuw AC3 bestand creëren wat adio_Fixed01.ac3 zal heten (als het orginele bestand audio.ac3 heet) en dat is het bestand wat alle programma's zouden moeten kunnen verwerken.
Extraheren van MP3 audio uit een AVI
Start VirtualDub op, druk op Control-O om een AVI bestand te laden, zet dan audio op "full processing mode".

Selecteeer nu "File - Save WAV".
Selecteer
een naam en druk op OK om de extractie te starten.
Je krijgt nu een vrij groot WAV bestand. Omdat we audio op "full processing
mode" hebbben gezet hebben we effectief de MP3 gfedecompresd en er een
ongecomprimeerd WAV bestand van gemaakt. Dit is een veiligheids voorziening
omdat veel programma's welke MP3 invoer ondersteunen wat problemen geven met
dat soort invoer, terwij WAV invoer nooit een probleem is.
Dit document is het laatste geupdate op 26 Februarie 2003
Vertaald op 30 juli 2003 door Feanor