Da Linux (unter anderem) auf dem Unix-Prinzip beruht, dass ein Programm auch nur eine Aufgabe erfüllen soll, wird man normalerweise mit einer ganzen Reihe verschiedener Programme konfrontiert wenn man eine CD brennen will.
Man hat Programme die z.B. aus einem Ordner eine Image-Datei erstellen, und wieder andere Programme mit denen man diese Datei dan brennen kann. Hier einige Programme die man im Laufe der Zeit brauchen wird, wenn man in Linux CDs brennen will:
cdrecord [options] track1...trackncdrdao [options] [toc-file]mkisofs [options] file...vcdimager [OPTION...] mpeg-tracks...VCDGear [options] [@file.lst] inputfile outputfilefoo2bar inputfile.foo outputfile.bar
Diese Programme sind bei den meisten Linux-Distributionen dabei. Man sollte sich ggf. die Manpages der
Programme anschauen. Diese erreicht man mit man PROGRAMMNAME, z.B. man cdrecord.
Dort findet man dann detailierte Informationen zur Benutzung des entsprechenden Programms.
Um eine Daten-CD zu brennen sollte man erst einmal alle Dateien die man brennen möchte in einen Ordner kopieren. Jetzt kann man mit
mkisofs -r -J -o /tmp/datencd.iso /tmp/datencd/
ein CD-Image mit dem gesamten Inhalt von /tmp/datencd erstellen, das dann mit
einem Aufruf von
cdrecord -v dev=0,4,0 speed=4 /tmp/datencd.iso
gebrannt werden kann.
Zum umwandeln von *.mdf-Dateien in *.iso-Dateien gibt es ein Tool namens mdf2iso. Damit konnte ich allerdings noch keine Erfolge erzielen. Aber vielleicht klappts ja bei jemandem.
Was mir allerdings gelungen ist, ist ein *.mdf-Image einer VideoCD zu brennen. Dazu habe ich zuerst mit vcdgear das Image in eine *.mpg-Datei umgewandelt, diese wiederum mit vcdimager in ein *.bin/*.cue-Image. Und das kann man mit cdrdao brennen.
Hier nochmal Schritt für Schritt (geht aber nur bei Images von VideoCDs):
vcdgear -raw2mpg videocd.mdf videocd.mpg
vcdimager -b videocd.bin -c videocd.cue videocd.mpg
cdrdao write videocd.cue
Ich war gerade sehr überrascht als ich feststellte, dass man *.mdf Dateien
direkt als ISO-Image mounten kann. Also mit mount -o loop
<image.mdf> <path/to/mountpoint/>.
Man kann sie laut
diesem Thread
auch direkt mit K3B als ISO-Image brennen. Das hab ich allerdings noch
nicht ausprobiert. Sollte es aber mit K3B gehen müsste es auch mit
cdrecord direkt gehen.
Will man ein Video als VCD brennen muss die Datei schon in dem entsprechenden Format vorliegen. D.h. es muss eine eine *.mpg-Datei sein, die noch eine bestimmte Auflösung und Framerate hat. Dann kann man sie mit
vcdimager -c <CUEFILE> -b <BINFILE> <VIDEOFILE>
in ein brennbares Format umwandeln und mit
cdrdao <CUEFILE>
brennen.
Sollte das Video kein passendes Format haben, oder gar als AVI-Datei vorliegen
erspart man sich meiner Erfahrung nach eine Menge Stress, wenn man es einfach
auf eine Daten-CD brennt. Die meisten DVD-Player unterstützen heutzutage auch das.
Will man unbedingt eine VCD oder SVCD muss man das Video zuerst umkodieren.
Das macht man am besten mit dem Programm mencoder (gehört zum
mplayer). Eine Anleitung dazu findet man
auf der MPlayer
Website (Ganz
unten in dem Artikel sind ein paar Beispiele).
AVI-Dateien lassen sich mit dem Programm avisplit aufteilen:
avisplit -i inputfile.avi -o output -s 700
teilt die Datei inputfile.avi in 700 MB große Teile mit den Namen output-0001.avi, output-0001.avi, ...
Zuvor sollte man testen ob die Anzahl der Video-Frames gleich der Anzahl von Audio-Chunks ist,
da avisplit sonst nicht richtig arbeitet. Das geht mit dem Programm tcprobe:
$ tcprobe -i inputfile.avi
[tcprobe] RIFF data, AVI video
[avilib] V: 25.000 fps, codec=XVID, frames=190643, width=640, height=480
[avilib] A: 48000 Hz, format=0x55, bits=0, channels=2, bitrate=102 kbps,
[avilib] 317738 chunks, 98149728 bytes, VBR
[tcprobe] summary for inputfile.avi, (*) = not default, 0 = not detected
import frame size: -g 640x480 [720x576] (*)
frame rate: -f 25.000 [25.000] frc=3
audio track: -a 0 [0] -e 48000,0,2 [48000,16,2] -n 0x55 [0x2000] (*)
bitrate=102 kbps
length: 190643 frames, frame_time=40 msec, duration=2:07:05.720
Sind die Anzahlen nicht gleich muss man mittels transcode das Problem beheben:
transcode -i inputfile.avi -P1 -y raw -o inputfile-remuxed.avi
Dieser Aufruf erstellt die Datei inputfile-remuxed.avi. Mit tcprobe
kann man das Ergebnis überprüfen. Nun kann man diese Datei mit Hilfe von avisplit
aufteilen.
Ein weiteres interessantes Tool ist FuseIso, mit dessen Hilfe man die gängigsten CD-Images mounten kann. Unterstützte Formate sind:
Hat man ein Image erst einmal gemountet kommt man wenigsten schonmal an die Daten, die man dann ganz normal wieder brennen kann (dann hat man aber natürlich keine echte Kopie des Images, was insbesondere bei Spielen oder anderen CDs mit Brennschutz problematisch sein kann).