Fri software og multimedier: Billedprocessing med GAP og CinePaint
- af Rene Jensen
Preprocessing 2 - CinePaint og GAP
Jeg er bekendt med to programmer, der kan bruges til at retouchere de enkelte frames i en videosekvens: CinePaint og GIMP Animation Package (GAP). Eftersom CinePaint er en gammel forgrening af GIMP, og GAP er et plugin til ditto, er det i begge tilfælde GIMPs arbejdsmodel, man stikker hænderne i. Dette indlæg diskuterer programpakkerne belyst ud fra et preprocessing-formål, og som hjælpeværktøjer til andre procedurer.
Sidespor om farvemodeller...
Se først denne oversigt over farvemodeller.
Når jeg finder YUV interessant, så skyldes det, at det er dette farverum, som optagelser - video såvel som still-kamera - gemmer data i. Al hardware bruger CCD'er med RGB, men fordi øjet er mindre følsomt overfor forandringer i farve end intensitet, kan man spare diskplads ved at have en fuld intensitetskanal (Y), mens de to farvekanaler (U og V) halveres i højde og bredde til en fjerdedel af det oprindelige areal. Mange ved det ikke, men selv noget så almindeligt som et JPEG-billede anvender også dette trick, selvom JPEG i sig selv sagtens kan undlade at mase U- og V-kanalerne sammen, hvis man beder sit grafikprogram om det. Følgende eksperiment afslører hvordan pixelmønsteret i U og V viskes helt ud. Billedet er forstørret 2X, så I ikke smadrer jeres øjne.
Det her med den mistede opløsning er så godt som helt uundgåeligt, når vi taler om miniDV-kameraer. Den mistede information gør ondt, hvis man vil eksperimentere med chroma key. Faktisk er det derfor, at greenscreening (med grøn baggrund) har vundet gehør rundt omkring, fremfor bluescreening (med blå baggrund), fordi den grønne kanal (G i RGB) er tættere på intensitetskanalen (Y i YUV), så der er flere informationer bevaret.
På et tidspunkt prøvede jeg at håndkode en grafikrutine til chroma-key med noget DV-materiale. Jeg fik betydeligt bedre resultat end både Cinelerra, GIMP-GAP og Blender kunne give mig, og det skyldes nok primært, at jeg forblev i YUV.
GAP
Gimp Animation Package udvider GIMP med et ekstra "Video"-menupunkt, hvorfra man kan udføre indtil videre relativt få (men potente) operationer på mange billeder på engang, og se en oversigt over de billeder, videosekvensen består af. GAP er først og fremmest bare en frame-navigator. Ved at aktivere en anden frame i oversigten, skifter man til at redigere denne frame i stedet.
Den store kritik af GIMP til filmretouchering er, at den internt kun kan arbejde med 8-bit per farvekanal, og kun i RGB. Til tryk ville mange sikkert ønske sig ægte CMYK. Selv kunne jeg godt tænke mig YUV og LAB til bl.a. leg med video.
Klagen over 8 bit kan jeg måske godt sætte mig ind i, efter at have tegnet med et par programmer, der bruger 16 bit eller mere. Color banding er mindre et problem end ellers. Men om det er en katastrofe, kan jeg som hobbymand ikke bedømme. Mine hangups med GAP er mere workflow-baserede.
Man skal nok være parat til at investere i harddiskplads, for GAP kan kun arbejde med en bunke separate billedfiler, (de skal nummereres fortløbende). Der er faciliteter til at splitte et videoklip ud i JPEG, PNG og XCF, hvor sidstnævnte er GIMPs eget format, som indeholder al information, dvs. lag, stier, kanaler, tekst osv., men som også fylder en del mere. Jeg anbefaler XCF for at man kan gardere sig bare en lille smule mod GAPs største hage: Manglen på undo-redo. I det øjeblik man klikker på en anden frame, gemmes og lukkes den nuværende, og den nye åbner, og dermed har man mistet muligheden for at gå et undo-trin tilbage i den frame, der netop effektivt set er blevet gemt og lukket for en. Personligt føler jeg mig bedre stillet uden GAP, hvor jeg altid kan åbne en frame manuelt, og have dem alle åbne på en gang.
Set fra et filmteknisk synspunkt er det svært at sige, hvor man kan passe GAP ind. Jeg vil tro, at den er bedre til gif-animationer og eventuelt til at peppe en hjemmevideo op. Man har selvfølgelig fordelen ved at have hele GIMPs værktøjssæt til rådighed, men netop fordi der er tale om destruktiv redigering (man kan gardere sig en anelse ved at tage kopier af et lag, før man ændrer det, men så skal man tænke fremad hele tiden), står den i mine øjne tilbage for selv primitive scripting-systemer som ImageMagick. Destruktiv redigering kvæler lysten til at eksperimentere.
Jeg overvejede, om det kunne svare sig at bruge GAP til at lave overlay-animationer a'la scifi-console-printouts på en skærm. Det er naturligvis helligbrøde, hvis et rumskib i 2050 har en computer, med en brugerflade, der ligner WindowXP. Deres grønne monokrome CRT-skærme vil de næste tohundrede år gløde med grov vektorgrafik og langsomme tekstudskrifter, akkompagneret af ekkoende cursorlyde (en cursor larmer jo).
Men igen ville det være hjernedødt at prøve at få GIMP til det, når man langt nemmere kan programmere sig ud af situationen.
CinePaint
CinePaint er en forgrening fra da GIMP var i en tidlig version, og det ses. Synet af et gammelt GTK1-program er forstemmende. I brug kommer man hurtigt til at savne alle de små usability-detaljer, som hovedprojektet har opnået siden - konfiguration af shortcuts, docking af paneler, allehånde transportveje mellem lag, masks, stier, alfakanaler - for det skal ikke betvivles, at CinePaint langt fra har den grokraft, som GIMP har i (relativ) sammenligning hermed. Til normal grafikbrug er GIMP blevet et dejligt program.
Hvad CinePaint mangler i fuldendthed har den til gengæld så i sin frame-navigator, eller dens flipbook, som den kaldes. Den arbejder med en background store som husker undo-redo for alle ændrede frames, og den er faktisk ret hurtig til at flippe mellem frames.
Desværre måtte jeg konstatere efter kort tids brug, at en simpel tegneprocedure med en pensel ind imellem lavede sorte lodrette striber, altså tydelig grafikfejl. Personligt er jeg meget følsom overfor den slags bugs - de rammer altid lige før en aflevering, og altid på den mest ubehagelige facon. Problemet forekommer muligvis kun, når man anvender meget store brushes.
Konklusion
Min vurdering er, at disse redskaber ikke kan bruges til at producere råmateriale, men kun til at for/efterbehandle råmateriale, og endda ikke særlig meget. Den smule, der kan vindes via GIMPs filtersamling, kan næsten lige så godt klares med en enkelt ordentlig videoeditor (som FOSS-verdenen desværre ikke har særligt mange af).
Engang ville jeg prøve at lave en sekvens, hvor det skulle se ud som om en person gik omkring et legeme, der svævede i luften. I al sin enkelhed ville jeg håndtegne en lille sort klat på hvert frame. Men ak, femogtyve billeder i sekundet er ikke småting, så det projekt endte i papirkurven sammen med så mange andre. Havde man haft tid og penge, så kunne det måske lade sig gøre. Men jeg er også programmør, og jeg kan godt spotte et uopfyldt behov, når jeg ser det.
Min konklusion er hård men egentlig ret fair: Til film- og effektmageri er Open Source flunked!.
Derfor ændrer karakteren af visse af mine indlæg sig fremover også en smule: Internettet bugner med små positive artikler og tutorials til videoredigering. Jeg kan ikke lide dem - de giver et falsk billede af mulighederne, eller de stopper efter at have vist det mest basale. Jeg kan bevidne, at man næppe kan udrette meget mere med FLOSS til videoredigering, end man kan med Windows' Movie Maker. Uhørt! Vi skriver trods alt 2008. Da det ikke er i min natur at være ukonstruktiv, vil jeg fremover prøve give mit ydmyge besyv med til at etablere arbejdsprocedurer til special effects, som holder sig inden for et moderat penge- og tidsbudget.