Video-MPEG-Kodierung und Erzeugen des (S)VCD-Image

Im nächsten Schritt muss mit dem Programm yuvscaler das Video auf VCD- bzw. SVCD-Auflösung skaliert werden, falls es nicht bereits entsprechend aufgenommen wurde. Danach komprimiert mpeg2enc die Videoinformation gemäß MPEG, anschließend werden die getrennten Audio- und Video-Streams vom Multiplexer mplex zusammengeführt. All diese Programme sind Teil der mjpegtools. Zum Schluss schreibt der GNU-VCD-Imager vcdimager [8] den kompletten MPEG-Datenstrom zusammen mit den notwendigen Header-Informationen in zwei Dateien (videocd.cue und videocd.bin). Die letzte als stabil gekennzeichnete Version 0.6.2 liefert jedoch beim Schreiben von SVCDs gelegentlich folgende Fehlermeldung:

(assert (_vcd_salloc_get_highest (obj->iso_bitmap) + 1 == 225))

Diese tritt bei Verwendung der Entwicklerversion 0.7.7 nicht mehr auf. Hier sind die zur Erstellung eines kompletten VCD-Image notwendigen Schritte:

cat cap.yuv | yuvscaler -O VCD | mpeg2enc  -f 1 -I 0 -S 800 -B 224 -N -s -o cap.m1v
mplex -v 1 -f 1 -S800 cap.mp2 cap.m1v -o cap%d.mpg
vcdimager cap1.mpg

Tabelle 3: Allgemeine und VCD-spezifische Parameter

Programm Parameter Erklärung
mpeg2enc,mplex -f 1 VCD 2.0 Standardeinstellungen, abweichende Parameter werden ignoriert
yuvscaler -O VCD skaliert den Video-Datenstrom auf VCD-Auflösung (-O SVCD für SVCDs)
mpeg2enc,mplex -o Name der Ausgabedatei, %d ist Platzhalter für den laufenden Datei-Index
mpeg2enc -I 0 Ohne Deinterlacing läuft der Encoder wesentlich schneller.
mpeg2enc -B 224 Audio-Bitrate in kbit/s
mpeg2enc,mplex -S 800 Nach 800 MB (einschließlich Audio entsprechend -B) wird eine neue MPEG-Sequenz gestartet. mplex beginnt eine neue Ausgabedatei, wobei der laufende Index anstelle des Platzhalters %d im Namen inkrementiert wird.
mpeg2enc -N Schneidet hohe Frequenzen ab und dient so als leichte Rauschunterdrückung. Die volle Auflösung erreicht man mit -h statt -N.
mpeg2enc -s Erzeugt einen Sequenz-Header vor jeder Bildergruppe (GOP). Manche DVD-Player brauchen das für den schnellen Vor- und Rücklauf
mplex -v 1 Liefert neben Warnungen und Fehlern zusätzliche Informationen

Da bei einer SVCD die Video-Information mit variabler Bitrate komprimiert wird, sind zusätzliche Angaben notwendig. Hier sind die zur Erstellung eines kompletten SVCD-Image notwendigen Schritte:

cat cap.yuv | mpeg2enc  -f 4  -q 12 -I 0 -g 6 -G 18 -V 230 -S 800 -B 224 -N -s -o cap.m2v
mplex -v 1 -f 4 -b 230 -S800 -V  -o cap%d.mpg cap.m2v cap.mp2
vcdimager -t svcd cap1.mpg

Tabelle 4: SVCD-spezifische Parameter

Programm Parameter Erklärung
mpeg2enc,mplex -f 4 SVCD-Standardeinstellungen, abweichende Parameter werden ignoriert
mpeg2enc -q 12 Die Quantisierung bestimmt die Encoder-Genauigkeit. Je kleiner der Wert, desto präziser arbeitet der Encoder. Gleichzeitig gehen jedoch Rechenzeit und Dateigröße drastisch in die Höhe. Möglich sind Werte zwischen 2 und 31. Werte zwischen 8 und 12 liefern gute Resultate.
mpeg2enc -g, -G Bestimmt die minimale und maximale Größe einer Bildergruppe (GOP) im Daten-Stream. Sind diese Werte verschieden, versucht mpeg2enc, Szenenwechsel und I-Frames (Vollbilder) zu synchronisieren.
mpeg2enc -V 230 Größe des Dekoder-Video-Buffer laut SVCD-Standard. Kann für Software-Dekoder weiter erhöht werden.
mplex -b 230 Größe des Dekoder-Video-Buffer
mplex -V Variable-Bitrate-Multiplexing ist für SVCD erforderlich.
vcdimager -t svcd erzeugt einen SVCD-konformen Header (default: VCD)

Um ein Gefühl für die Auswirkung der einzelnen Parameter zu bekommen, zeigt Abbildung 3 die Größe der MPEG-2-Videodatei des Films "Lola rennt" für verschiedene Quantisierungswerte und in Abhängigkeit von der Verwendung der Parameter -N oder -h. Kennt man die Laufzeit des Films und die Größe des Audio-Streams (im Beispiel 72 MB), kann man vor der rechenintensiven Video-Komprimierung die Parameter so wählen, dass die fertige MPEG-Datei mit 800 MB gerade noch auf einen 80-Minuten-Rohling passt (im Beispiel -N -q 12). Für andere Laufzeiten muss man entsprechend umskalieren.

Abbildung 3: Größe der MPEG-2-Ausgabedatei von "Lola rennt" (Laufzeit 72 Minuten) in Abhängigkeit von den Parametern -q (Quantisierung), -N (Abschneiden hoher Frequenzen) und -h (High Resolution)

Brennen der (S)VCD

Zu guter Letzt wird das Image mit dem Programm cdrdao [9] auf einen Rohling geschrieben. Die Parameter im folgenden Beispiel gelten für einen Yamaha CDR-400t (Treiber generic-mmc) am SCSI-Adapter 0 mit der SCSI-ID 4, LUN 0.

cdrdao write --device 0,4,0 --driver generic-mmc videocd.cue

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Super-Video-CD unter Linux
  • Foto-VCDs unter Linux erstellen
    Seit Einzug der Digitalkameras in viele Haushalte sammeln sich auf der Festplatte unzählige Aufnahmen, sei es aus der eigenen Kamera oder von Freunden per Mail zugeschickt. Ausdrucke auf Fotopapier sind teuer, und das Notebook will man nicht zu jedem Anlass mitnehmen, um die Bilder vorzuführen. Interessant ist daher die Möglichkeit ein Fotoalbum als Video-CD zu erstellen.
  • Digitaler Linux-Videorekorder im Eigenbau, Teil 5
    Die mitunter hohen Datenraten der VDR-Aufnahmen bescheren ein brillantes Bild auf dem Fernseher. Bei der Archivierung wird man aber zum sprichwörtlichen Diskjockey: fünf CDs pro Film sind keine Seltenheit. Wir zeigen Ihnen, wie Sie die Filme verkleinern.
  • Fernsehen, mitschneiden und Video-CDs brennen unter KDE
    TV total mit KWinTV, Video-CDs brennen leicht gemacht dank K3b und das Schweizer Heimkino-Taschenmesser Kavi2svcd – KDE bietet Film- und Fernsehfreaks alle Möglichkeiten zum Glotzen, Mitschneiden und Archivieren.
  • Video-CDs mit GNU VCDImager
    Sie möchten ein Video nicht nur am Rechner im Büro, sondern auch auf dem heimischen DVD-Player betrachten? Sie besitzen aber nur einen CD-Brenner? Dann erstellen Sie einfach eine Video-CD!
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Huawei
Pit Hampelmann, 13.12.2017 11:35, 2 Antworten
Welches Smartphone ist für euch momentan das beste? Sehe ja die Huawei gerade ganz weit vorne. Bi...
Fernstudium Informatik
Joe Cole, 12.12.2017 10:36, 2 Antworten
Hallo! habe früher als ich 13 Jahre angefangen mit HTML und später Java zu programmieren. Weit...
Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 3 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...