Een DVD maken van eigen digitaal videomateriaal
(onder Mandrake 9.2 met uitsluitend Open Source software)

English translation

Terug naar hoofdmenu

(Paper oorspronkelijk voor presentatie HCC-Amsterdam)
Laatst bewerkt: 2 januari 2005

Stappenplan:

1. Installeer Firewire
2. Capturen en (ruw) bewerken met KINO.
3. Bewerken met CINELERRA.
4. Renderen met CINELERRA, desgewenst in een RENDERFARM
5. Plakken met MPLEX of TCMPLEX.
6. DVD.ISO aanmaken
7. DVD+RW schijf formatteren
8. DVD branden met GROWISOFS
9. Interessante links.

Ad 1. Installeer Firewire

Uiteraard dient u een Firewire poort in de computer te hebben. Mocht die niet standaard aanwezig zijn, dan kunt u een dergelijk kaartje apart kopen en in een vrij PCI slot steken.

Dan moet u uiteraard de benodigde drivers laden (nadat u ze hebt geinstalleerd). Zie voor het verkrijgen van de drivers punt 2.
U kunt daarvoor gebruik maken van het volgende scriptje 'firewirestart.sh':

#!/bin/sh
#Scriptje om de IEEE 1394 modules te laden

modprobe ohci1394
modprobe raw1394
modprobe video1394
echo "Firewire modules geinstalleerd!!"

U zorgt dat het bestandje executable is (chmod +x firewirestart.sh)  is en als u het (als root) aanroept worden de drivers geladen.

Wilt u de zaak automatisch bij opstarten laten inladen, dan kunt u de volgende regels opnemen in het bestand /etc/modules:

ohci1394
raw1394
video1394

U maakt dit bestand aan als root en na opstarten van de computer zullen de drivers geladen zijn.

Top

Ad 2. Capturen en (ruw) bewerken met KINO.
 
KINO kunt u downloaden bij http://kino.schirmacher.de waar u ook de overige benodigde software vindt. Even rustig de zaak doorlezen en vervolgens installeren zoals op de site staat aangegeven.

U zorgt, dat vooraf de firewire modules zijn geladen en start daarna KINO als root.

Vervolgens regelt u de 'Preferences' en zorgt u dat bij elk tabblad de juiste gegevens staan ingevuld (of in elk geval zoals u de instellingen wilt hebben!). Hier volgen de eerste drie tabbladen. De overige heb ik op de standaard gegevens staan, maar u kunt ze natuurlijk aanpassen aan uw eigen wensen.

Defaults -
Normalisation
PAL
Audio
48khz Stereo
Aspect Ratio
4:3

Capture -
Filenaam
Invullen
File Type
Quicktime DV
Other File Options
Auto Split Files
Put Timestamp in File Name

IEEE 1394
Driver DV Capture
/dev/raw1394
Driver DV Export
/dev/video1394/0

U zorgt, dat de camera aan staat in de VCR modus, en dat er een firewire kabelverbinding is tussen camera en computer.
Dan activeert u in het hoofdscherm van KINO het tabblad Capture.
U controleert of  in het 'File' venster een bestandsnaam is ingevuld en u klikt op de knop AV/C.
Daarmee geeft u de besturing van de camera over aan KINO.
Vervolgens klikt u op de knop Capture en zal het capturen een aanvang nemen.
Bij Preferences/Display hebt u overigens kunnen aangeven of en zo ja, hoe u wilt dat de beelden tijdens het capturen op het scherm getoond worden.

Als u Preferences/Capture hebt ingevuld als boven staat aangegeven, dan zal de video worden weggeschreven in een aantal .mov files, die elk een nieuwe scene zullen bevatten en die in de naam een datum-tijd aanduiding zullen hebben.

Als het capturen klaar is, kunt u bij het tabblad Edit in het hoofdscherm zien welke scenes u de computer hebt binnengehaald. Het zal waarschijnlijk even duren voor KINO de scenelijst links op het scherm compleet heeft neergezet. Elke nieuwe scene wordt daar aangegeven met een thumbnail van het eerste frame. U kunt de hele setup van de film bewaren door te klikken op Bestand/Save Smil. Er wordt dan een verzamelbestand aangemaakt, waarin de volgorde van de verschillende .mov files staat aangegeven. Voor nieuwe bewerkingen hoeft u dan alleen dat SMIL bestand in te laden.

Overigens kunt u in KINO al een heel aantal (ruwe) bewerkingen uitvoeren.
Bij het tabblad Edit kunt u hele scenes die of mislukt of overbodig zijn, verwijderen.
Ook kunt u hier de volgorde van scenes veranderen middels knippen en plakken. U activeert een scene (=thumbnail), knipt hem weg, zet de cursor elders in de scenelijst en plakt de scene daar weer in.
Bij het tabblad Trim kunt u elke scene apart bekijken en desgewenst (ruw) bijwerken. Het gedeelte dat u wilt zien kunt u tussen de knoppen 'in' en 'uit' vangen. Bij het afspelen van de film zal dan alleen het door u aangegeven gedeelte getoond worden.

Alle bewerkingen hebben tot hier toe alleen maar betrekking op het SMIL bestand. De feitelijke filmbestanden blijven dus gewoon in de oude omvang en vorm op de harddisk staan.Hebt u al uw ruwe bewerkingen uitgevoerd, dan kunt u de bestanden ook opnieuw uitvoeren, zodat de veranderingen feitelijk worden doorgevoerd. U doet dat via het tabblad Export. U schrijft daar de bestanden weg als Quicktime .movs en geeft een nieuwe basisnaam. Anders worden namelijk de oude bestanden overschreven.

U hebt nu een serie .mov bestanden, die door CINELERRA zonder meer kunnen worden ingelezen.

Top

Ad 3. Bewerken met CINELERRA.

U sluit KINO en start CINELERRA.
CINELERRA kunt u downloaden bij http://heroinewarrior.com/cinelerra.php3 alwaar u ook de extra benodigde software kunt verkrijgen. Ook hier zorgvuldig de beschrijvingen lezen en uitvoeren. Dan zou de installatie van CINELERRA (in elk geval onder Mandrake 9.1!) geen problemen mogen opleveren. Onder Mandrake 9.2 dient u naast de Cinelerra .rpm ook nog  XFree86-compat-libs .rpm te installeren.

Over het gebruik van CINELERRA onder KDE nog even deze opmerking:
U dient de eigenschappen van het CINELERRA icoon zo in te stellen, dat CINELERRA draait in een terminal-venster en alleen geopend kan worden door root. U zult merken, dat u bij een andere installatie merkwaardigerwijs niet kunt 'renderen' ... en dat zou het nut van CINELERRA tot nul reduceren.
Bovendien dient u de allereerste keer dat u CINELERRA start, te controleren of de instellingen bij Settings/Format kloppen met wat u wilt. Voor DVD kwaliteit geluid hoort de samplerate voor audio op 48000 te staan. En als u niet in Amerika woont wilt u de frame rate voor video waarschijnlijk op 25.0000 hebben.

CINELERRA bestaat eigenlijk uit vier programma's, die tegelijk draaien en ook tegelijk getoond kunnen worden: Program, Viewer, Resources en Compositor. U kunt de programma's zichtbaar en onzichtbaar maken via de menukeuze Window in het hoofdprogramma 'Program'.
De functie van het hoofdprogramma is: het tonen van de langzaam opgebouwd wordende film en het overzicht verschaffen over de verschillende effecten, die eraan worden toegevoegd. De Viewer toont (de naam zegt het al) de te importeren videobestanden. De Resources afdeling toont u de videobestanden en effecten die u kunt invoegen in uw videofilm. En de Compositor toont u de combinatie van de door u gekozen videobestanden en de door u gekozen effecten, het uiteindelijke resultaat dus ...

In grote lijnen gaat het importeren van videobestanden als volgt:
U kiest in het hoofdprogramma bij de knop File/Load Files en u activeert in de betreffende directory alle .mov bestanden die u wilt importeren in CINELERRA.
Al deze bestanden verschijnen dan middels hun naam of een icoontje (afhankelijk van uw keus) in het Resources venster, onder de directory Media.
N.B. Bedenk dat Cinelerra onmiddelijk na het importeren van videobestanden in de directory /gebruikersdirectory/.bcast/ (in ons geval dus  /root/.bcast/) een hele serie indexbestanden aanmaakt. Vooral als het aantal ingeladen videofragmenten groot is (zoals vaak het geval is) kan de omvang van de indexbestanden forse vormen aannemen tot zelfs wel 1 Gb of meer! Mocht de .bcast directory te klein zijn, dan krijgt u daar geen melding over, maar gaan we wel allerlei dingen (zoals het opnieuw inladen van een backup!) mis!

Het opbouwen van uw videofilm gaat op deze manier:
U activeert het Viewer venster en sleept het eerste .mov bestand erheen. Met de linker teksthaak '[' geeft u in de viewer aan waar u wilt dat het te importeren gedeelte zal beginnen. Met de rechterteksthaak ']' geeft u aan, waar u wilt, dat het te importeren gedeelte stopt. Daarna drukt u op de knop
'Splice (v)' om de video in het hoofdvenster op te nemen. Zo gaat u verder in de door u gewenste volgorde, net zolang tot uw film compleet is.
Als u uw videobestanden zonder meer wilt importeren, sleept u ze gewoon rechtstreeks (dus met voorbijgaan van de Viewer) vanaf de 'Resources/Media' naar het werkvenster onder de tijdlijn.

Daarna kunt u eventueel effecten toevoegen:
Een titel voegt u toe door in het Resources venster te kiezen voor Videoeffecten en vervolgens het woord 'Title' te slepen naar de door u gemaakte film. U kunt dat eigenlijk het beste doen, zodra u het eerste .mov bestand heeft geimporteerd in het hoofdvenster. Een rode balk met het woord 'Title' verschijnt dan onder de film. U kunt met de muis de lengte van de balk inkorten, waardoor u de tijd kunt bepalen dat de titel zichtbaar is. Door boven het woord 'Title' op de rechtermuisknop te drukken verschijnt een submenu, waarin u middels de optie 'Show' de tekst kunt invoeren en manipuleren die u in de titel wilt tonen.

Op eenzelfde 'drag and drop' manier kunnen ook allerlei andere effecten worden toegevoegd. U zult die door 'trial and error' zelf moeten uitvinden.

Geluidsbestanden toevoegen:
Inmiddels heb ik voor het samenstellen van in te voegen geluidsbestanden een paar eenvoudige middelen ontdekt.
Met het volgende commando kunt een tekstje, ingesproken in uw microfoon, opnemen in een (door uzelf te benoemen) .wav bestand. Zoals u uit het regeltje kunt afleiden heeft de opname een frequentie van 48 Khz.

rec -s w -c 2 -r 48000 <spraak>.wav

Met dit commando kunt u een track van een cd opnemen in een (door uzelf weer te benoemen) .wav bestand. In de plaats van <tracknummer> zet u natuurlijk het feitelijke nummer dat u wilt opnemen.

cdparanoia -<tracknummer> <muziek>.wav

Omdat de frequentie van de cd waarschijnlijk geen 48 Khz is, kunt u dat bijstellen met het hieronder staande regeltje:
 
sox <muziek>.wav -r 48000 <nieuwemuziek>.wav resample

Het invoegen van geluidsbestanden gaat eenvoudig. U importeert de bestanden zoals bij het importeren van videobestanden staat aangegeven. Vervolgens zorgt u dat er twee extra Audio tracks in uw project worden aangemaakt, via de knop Audio/Add Track. Dan zet u de cursor (de lange, knipperende lijn) precies op de plek waar u het geluidsfragment wilt invoegen. Daarna activeert u (in het Resources venster) het in te voegen geluidsbestand en drukt u de rechtermuisknop in. In het dan verschijnende menu kiest u voor Paste en het bestand wordt op de juiste plaats ingevoegd. (Overigens gaat het invoegen van videobestanden precies zo!)
De pakketten 'cdparanoia' en 'sox' staan op de installatie cd's van Mandrake 9.1. Maar u kunt ze ook eenvoudig op http://www.rpmfind.net vinden.

N.B.
Van belang is het om te bedenken, dat CINELERRA nog altijd niet echt stabiel is. Op de meest ongewenste momenten kan het programma er zomaar de brui aan geven. Zorg dat u uw bewerkingen dus regelmatig bewaart middels de File/Save Backup knop.
Mocht het u overkomen, dat CINELERRA plotseling verdwijnt, dan bent u niet alle voorgaande werkzaamheden kwijt. Na elke verandering werkt CINELERRA ook automatisch de backup bestanden bij. Via de optie File/Load Backup kunt u na het opnieuw starten van CINELERRA uw oude bewerkingen weer terugkrijgen. Doet u echter na het opstarten iets anders dan het indrukken van die optie, dan bent u uw oude gegevens kwijt!

Top

Ad 4. Renderen met CINELERRA, desgewenst in een RENDERFARM.

Dan volgt het 'renderen' ... Dat is een proces in twee stappen, dat bovendien zeer geruime tijd in beslag zal nemen.
Zorgt u dus EERST op de knop File/Save Backup te hebben gedrukt.

Daarna gaat het als volgt:
U drukt op de knop Edit/Select All en daarna op de knop File/Render. In het dan verschijnende venster kunt u aangeven hoe het te schrijven bestand moet gaan heten en welk formaat het moet gaan krijgen. U kiest eerst voor het MPEG VIDEO formaat en u geeft het te schrijven bestand een .mpv extensie. U zorgt dat alleen een vinkje bij 'video' staat en u kiest (via het steeksleuteltje) in het dan verschijnende scherm bij het woord 'Derivative' in het uittrekmenuutje voor MPEG-2 . De overige instellingen laat u zoals ze zijn. Als u zeker bent, dat alles goed is ingevuld, drukt u op de knop OK.
Het programma zal nu in de onderste balk de melding 'Rendering ...' laten verschijnen dat even later gevolgd wordt door de aanduiding ETA (Estimated Time of Arrival, dus hoe lang het zal gaan duren) en een balkje, dat de tijdspanne van het renderen nog eens visueel in beeld brengt. Al naar de lengte van uw videofilm en de capaciteiten van uw computerhardware kan dit heeeeeeeel laaaaaaang gaaaaaan duuuuuuren.

Tip 1: als CINELERRA eenmaal aan het renderen is, laat het programma zich niet meer op de normale manier onderbreken. U krijgt dan alleen een venster te zien met de melding, dat er halverwege het renderen niet gestopt kan worden. In voorkomend geval (bijvoorbeeld als u toch een foutje hebt gemaakt bij het invoeren van de rendergegevens) kunt u daar geen genoegen mee nemen. Gebruik dan gewoon 'Xkill' om CINELERRA af te stoppen.
Tip 2: bedenk, dat een .VOB bestand (= een videobestand op een DVD) dat groter is dan 1 GB weliswaar op een DVD player kan worden afgespeeld, maar niet meer op een PC! Dus als u wilt dat uw DVD ook afspeelbaar is op uw PC ...
Tip 3: als u een netwerkje hebt waarin nog een of meer Linux machines draaien, kunt u Cinelerra ook in een renderfarm laten draaien. De volgende punten dient u daarbij te bedenken:
#!/bin/sh
mount -t smbfs -o username=root,password=xyz123 //<computernaam>/<werkdirectory> /<mountdirectory>
cinelerra -d <port>
echo "Cinelerra slave gestart en <mountdirectory> gemount!"
Als het videogedeelte eindelijk gerenderd is, herhaalt u de handelingen van de tweede alinea uit dit stukje. Alleen kiest u nu voor MPEG AUDIO en geeft u het te schrijven bestand een .mpa extensie. U haalt het vinkje bij 'video' weg en zet het alleen bij 'audio'. In het 'steeksleutel' scherm kiest u voor Layer II en 384 kbits per seconde. Als alles goed staat, drukt u op de knop OK.
Het renderen van de audio zal aanzienlijk sneller verlopen dan de video, maar ook dit gebeuren zal toch enige tijd in beslag nemen.
Mijn eerste ervaringen tenderen in de richting van 10% van de tijd voor video-rendering.

Top

Ad 5. Plakken met MPLEX of TCMPLEX.

U heeft nu een video bestand met de extensie .mpv en een audio bestand met de extensie .mpa.
U plakt deze bestanden aan elkaar tot een .mpeg bestand middels het bekende programma 'mplex'. U doet dat middels het volgende commando:

mplex -v 0 -f 8 <video.mpv> <audio.mpa> -o <videoaudio.mpeg>

Uiteraard vult u op de plaats van <video.mpv>, <audio.mpa> en <videoaudio.mpeg> de door u gekozen bestandsnamen in ...

Het kan gebeuren, dat mplex de klus niet kan klaren. Ik heb tenminste wel meegemaakt, dat mplex klaagde over teveel 'dropped frames' en daarna het bijltje erbij neergooide. U kunt dan ook gebruik maken van het bij transcode horende programma 'tcmplex', dat tot betere prestaties in staat is.
De syntax is dan als volgt:

tcmplex -i <video.mpv> -p <audio.mpa> -o <videoaudio.mpeg> -m d

Ook dit proces kan weer  enige tijd in beslag nemen, maar toch niet langer dan enkele minuten ...
Het transcode programma kunt u verkrijgen op: http://zebra.fh-weingarten.de/~transcode/#downloads

Top

Ad 6. DVD.ISO aanmaken.

Als de gewenste .mpeg eindelijk gereed is, kunt u verder werken met het script make-dvd.sh.
Dat script ziet er als volgt uit:

#!/bin/sh

# Hier worden de overtollige bestanden opgeruimd
# en de nodige directories aangemaakt.
rm -r dvd dvd.iso
mkdir dvd
mkdir dvd/VIDEO_TS

# Hier wordt een DVD image gemaakt van de gecodeerde video.
# Dit stuk van het script is overgenomen
# van het writedvd script dat bij de dvdauthor tools zit
# Eerst worden de IFO file aangemaakt en de inhoudsopgave.
# Tenslotte wordt de image aangemaakt met 'mkisofs'
cp $1 dvd/VIDEO_TS/VTS_01_1.VOB
chmod u+w dvd/VIDEO_TS/*.VOB
cd dvd/VIDEO_TS
ifogen ../../$1 -o ./VTS > VTS_01_0.IFO
tocgen . > VIDEO_TS.IFO
(cd dvd/VIDEO_TS; for i in *.IFO; do cp $i `basename $i .IFO`.BUP; done)
cd ../..
mkisofs -dvd-video -udf -o dvd.iso dvd/

# Hier wordt de DVD gebrand op een DVD+RW
# Laat de commentaartekens staan voor de dvd+rw-format line
# als de disk al geformatteerd is en geen data bevat.
# Haal ze echter weg als je de formattering wel wilt uitvoeren
# Merkwaardigerwijs werken deze regels ook met een Imation -RW DVD! (???)
# dvd+rw-format -f /dev/scd0
# growisofs -Z /dev/scd0=dvd.iso

# Brandt een DVD op een DVD-RW
# Haal de commentaartekens weg als je een dergelijke drive gebruikt
# Controleer het devicenummer met 'cdrecord -scanbus'
# Ik heb dit stukje helaas niet aan de gang kunnen krijgen ;-((
# dvdrecord -dao speed=2 dev=1,0,0 dvd.iso

Het script wordt aangeroepen met de naam van het zojuist aangemaakte .mpeg bestand, dus bijvoorbeeld ./make-dvd.sh videoaudio.mpeg.
Overigens wordt er in het script van uit gegaan, dat u in de directory waarin het .mpeg bestand staat, schrijfrechten hebt zodat de nodige directories kunnen worden aangemaakt. Mogelijk zult u daar dus even voor moeten zorgen.

U ziet dat het script tot en met het maken van het .iso bestand geactiveerd is.
Het formatteren van de DVD+RW en het feitelijk branden van het dvd.iso bestand is weggecommentarieerd.
Het komt mij namelijk voor dat die twee stappen beter handmatig kunnen worden uitgevoerd.

O ja ... dvdrecord (waarin ook ifogen en tocgen zijn ingepakt) kunt u ophalen op http://www.redhat.com/swr/i386/dvdrecord-0.1.2-4.i386_dl.html.
Het programma mkisofs kunt u krijgen op http://www.rpmfind.net//linux/RPM/cooker/cooker/i586/Mandrake/RPMS/mkisofs-2.01-0.a18.2mdk.i586.html
De programma's dvd+rw-format en growisofs vindt u op http://fy.chalmers.se/~appro/linux/DVD+RW/tools/

Top

Ad 7. DVD+RW schijf formatteren.

Het formatteren van de DVD+RW schijf geschiedt dus middels het commando:

dvd+rw-format -f /dev/scd0

Tenminste: als uw dvdbrander met die devicenaam wordt aangeduid, anders moet dat even aanpassen.

Top

Ad 8. DVD branden met MKISOFS.

Het uiteindelijk branden van het dvd.iso bestand gaat via het commando:

growisofs -Z /dev/scd0=dvd.iso

Met dezelfde opmerking over de devicenaam voor de dvdbrander.

En klaar is mijn zelfgemaakte DVD!!

Natuurlijk kunnen en moeten er nog veel meer dingen geregeld gaan worden, zoals het maken van hoofdstukken en menu's en weet ik wat allemaal ...
Maar dit zou in elk geval een dragelijke zelfgemaakte DVD moeten opleveren.

N.B.
Tot mijn spijt moet ik melden, dat de aldus gemaakte DVD voortreffelijk draait in de DVD speler(s) van mijn computer(s), maar dat hij niet goed (namelijk voortdurend stokkend) afspeelt in de aan mijn tv gekoppelde DVD speler. Ik heb een Finlux DVD-512 en ik ben nog aan het onderzoeken of dit effect alleen bij dat type speler optreedt, of dat het bij alle zelfstandige spelers voorkomt.

Graag verneem ik (opbouwend!) kritische opmerkingen en aanvullingen!!

Top

Ad 9. Interessante links.

De volgende links zijn nuttig om nader te bezien, als u meer wilt weten over Cinelerra en het gebruik daarvan.
1. De secrets of Cinelerra, documentatie over het programma: http://heroinewarrior.com/cinelerra/cinelerra.html
2. Een heldere gebruiksaanwijzing voor Cinelerra: http://www.robfisher.net/video/
3. Een korte beschrijving van het maken van SVCDs met o.a. Cinelerra: http://www.cornelinux.de/linux/videos/videoschnitt.html
4. Two interesting URLs I was recently told about: http://cvs.cinelerra.org and http://manual.cinelerra.org

Top

Adrie van der Heijden
HCC-Amsterdam
agheyden@dds.nl