Analoog capturen zonder problemen
Na alle toevoegingen die ondertussen gedaan zijn en enkele discussies in de nieuwsgroep etc. leek het erratic beter de titel enigszins aan te passen.
En dus bij deze de nieuwe titel van dit artikel:

Analoog capturen: kunst- en vliegwerk voor gevorderen.
Oftewel: Koop liever een AV->DV converter! ;)

Normaal gesproken geen probleem. Helemaal niet met de juiste hardware zoals speciaal daarvoor ontworpen capture kaarten. Maar in enkele gevallen wil het toch wel eens problematisch zijn. Met name als er analoog gecaptured wordt door middel van een PC-TV kaart of via een composiet ingang van een VGA kaart en dergelijke. En ook als de bron bijv. een niet al te beste VHS band is.
De problemen die zich voordoen uitten zich dan meestal in een hoog aantal dropped frames of het niet synchroon lopen van het geluid met het beeld.

Naar aanleiding van diverse postings in de nieuwsgroep nl.hobby.video ben ik een beetje aan het exprerimenteren gegaan.
Ik heb een VGA kaart met een composiet en s-vhs ingang (MSI Geforce4 MX460). Als bron gebruik ik de tuner van een oude videorecorder. Dus ik capture televisiebeelden. Maar dat kan natuurlijk elke willekeurige andere analoge bron zijn.

Er zijn vele methoden (programma's) om analoog te capturen. Dat kan met een videobewerkings programma zoals bijv. Studio7/8 (http://www.pinnaclesys.com), met diverse webcam programma's, met iuVCR (http://www.iulab.com), AVI_IO (http://www.nct.ch/multimedia/avi_io/), etc. etc.
Het nadeel van veel van die (DirecttShow) capture programma's is dat er (soms) veel dropped frames zijn en dat deze programma's dat niet goed registreren/weergeven. Met alle gevolgen van dien ten aanzien van het beeld en het wel of niet synchroon lopen van het bijbehorende geluid.

VirtualVCR
Op advies van een deelnemer in de discussiegroep (nickname: erratic) ben ik een beetje gaan testen met het programma VirtualVCR (http://virtualvcr.sourceforge.net/).
VirtualVCR is gratis en heeft uitstekende AV Sync instellingen. Door een eigen ontworpen detectie methode is VirtualVCR, als ÚÚn van de weinige programma's, in staat het aantal dropped frames goed te registreren en laat dit in een overzichtje zien. Aan de hand daarvan kun je dan besluiten de capture overnieuw te doen. Eventueel in combinatie met een andere codec en/of andere instellingen.

Zonder gebruik van een codec zal het gecapturede bestand een enorme omvang krijgen (1200 Mb per minuut). Dus een goede codec is een must.
Zelf ben ik nogal gecharmeerd van de MainConcept DV Codec (http://www.mainconcept.com/). Hiermee krijg je bestanden van circa 215 Mb per minuut. Dus net zo groot als een digitale capture. Deze codec is heel stabiel en zal weinig dropped frames veroorzaken.

Wederom op advies van erratic heb ik ook even de PICVideo MJPEG geprobeerd.
(http://www.pegasusimaging.com/picvideomjpeg.htm)
Het is een uitstekend alternatief en heeft wat meer instelmogelijkheden dan de codec van Mainconcept. Ook kun je hiermee de mate van compressie instellen.
Maximum is 20 (zo goed als lossless) maar dan kun je net zo goed de gratis Huffyuv codec gebruiken. De AVI bestanden worden dan wel erg groot. PICVideo kwaliteit 19 is nog steeds uitstekend en de AVI bestanden zijn al heel wat kleiner (ongeveer net zo groot als DV AVI). PICVideo is helaas niet gratis.

De Huffyuv codec is te vinden op http://www.neuron2.net/www.math.berkeley.edu/benrg/huffyuv.html (niet de source maar de pre-built DLL downloaden). Er is ook een 'patched DLL' voor Huffyuv (http://cx.ath.cx/files/huffyuv/).

Al met al zal VirtualVCR, in combinatie met een goede codec, betere resultaten opleveren dan menig ander capture programma.

Als je er toch niet uitkomt, of je wilt meer weten over analoog capturen en alles wat daar bij komt kijken, dan is de nieuwsgroep nl.hobby.video de uitgelezen plek om de deskundigheid van mede videohobby´sten te raadplegen.


Toevoeging 08/09/03
Een post van erratic in de nieuwsgroep nl.hobby.video mag niet aan dit artikel ontbreken


Wie sync problemen heeft na het capturen met een DirectShow capture programma, zoals Virtual VCR, iuVCR en de meeste capture software die tegenwoordig bij capture kaarten wordt geleverd, heeft mogelijk te maken met de 'offset' die in zo'n AVI file wordt opgeslagen. Als je AVI correct lijkt, maar er na conversie met bijvoorbeeld TMPGEnc naar MPG een sync probleem is, is dat waarschijnlijk te wijten aan die offset.

Er is een calculator die de offset in de AVI op 0 zet en de eigenlijke offset aan de bestandsnaam toevoegt. Capture.avi wordt dan bijvoorbeeld Capture_112ms.avi. In dit geval zou de audio constant 112ms op de video voorlopen. (Als het sync probleem geleidelijk aan erger wordt, heb je een nog groter probleem, natuurlijk.)

Het vervelende aan die offset is dat ik heb ondervonden dat het soms inderdaad nodig is om de sync in de AVI te herstellen, maar soms ook niet. Dat heeft me ondertussen al zo erg ge´rriteerd dat ik nu weer VirtualDubMod gebruik om te capturen (http://virtualdubmod.sourceforge.net/). Dit potentieel probleem doet zich namelijk niet voor met capture software die niet voor DirectShow geschreven is, zoals VirtualDub(Mod) en AVI_IO. Met die programma's is de offset altijd 0 en dankzij een ingebouwde AV sync routine proberen ze er ook voor te zorgen dat de audio en de video synchroon blijven. AV_IO laat de audio ongemoeid en voegt desnoods af en toe een extra frame in of laat er juist een weg. VirtualDubMod laat de video ongemoeid en past de audio aan (realtime sample rate conversie).

http://darkfalz.kiczek.com/software/
"AVI Offset Calculator - This is intended for people who use WDM capture device/programs. These often create AVI captures with internal audio and video offsets, which make their playback sync correctly but tend to ruin things when you try to edit them. This tool calculates the total offset, sets the internal offsets to zero, and renames the file so that you can manually adjust the audio skew in VirtualDub or other application prior to editing. This should result in proper sync for playback and editing."
http://darkfalz.kiczek.com/software/AVIOffsetCalculator1.20.zip

Doom9 forum thread hierover:
http://forum.doom9.org/showthread.php?&threadid=50978
VVCR forum:
http://virtualvcr.sourceforge.net/forum/index.php?act=ST&f=4&t=541


Toevoeging 30/09/03
En alweer een toevoeging naar aanleiding van wat bevindingen door erratic.


Nog een opmerking daarover: Virtual VCR is een WDM (DirectShow) capture programma, met mogelijke AVI offset problemen tot gevolg. Dat heb je dus niet met VirtualDubMod, maar dat is dan weer geen WDM capture programma.
Het werkt dus niet altijd automatisch met WDM drivers. Er wordt een VFWWDM wrapper gebruikt. Die was bij mij (XP Pro) automatisch geinstalleerd, maar dat is niet altijd het geval. Meer daarover: http://www.virtualdub.org/docs_vfwwdm.

Overigens werken VirtualDub(Mod) en AVI_IO met mijn Radeon kaart alleen als eerst de WDM drivers geinitialiseerd zijn door een WDM capture programma, zoals ATI MMC of Virtual VCR. Als ik na het opstarten van mijn PC wil capturen moet ik dus eerst ATI MMC of VVCR opstarten en weer sluiten, anders lukt het met VirtualDub(Mod) of AVI_IO niet.


Toevoeging 01/11/03
En alweer een toevoeging door erratic.


Deze info is bestemd is voor 'aspect ratio perfectionisten'. :-)
http://users.telenet.be/erratic/capture/resolution.htm
Overigens, ik heb iets toegevoegd helemaal onderaan. Je kunt nu constant het verschil zien tussen de juiste en de verkeerde aspect ratio. Zo kun je gemakkelijk zelf uitmaken of je een perfectionist bent.


04 april 2003
Johan de Jong