Der VCDImager in der Anwendung


 

Im letzten EDV-TIPP hatte ich den VCDImager vorgestellt. 

Heute habe ich in diesem Zusammenhang noch zwei praktische Anwendungen zur "Verbesserung" einer SVCD und einer VCD (speziell ein Photoalbum mit WinOnCD erstellt).

Fangen wir mal mit der SVCD an.


Sie finden VCDImager zwar interessant aber auch recht umständlich um ein Eingangsmenü für Ihre (S)VCD zu fabrizieren. 

Sie finden Nero oder ein anderes Brennprogramm viel besser, zumal Ihr DVD-Player die von Nero gesetzten Pausen zwischen den einzelnen Segmenten ohne merkbaren Ruck verarbeiten kann. 

Sie möchten aber dennoch gerne die Vorzüge von VCDImager mit Nero oder WinOnCD kombinieren, um z.B. einen Film spulen oder bestimmte Punkte anspringen zu können.

Sie legen sich also z.B. in Nero ein SVCD-Profil an und "ziehen" Ihre SVCD-kompatiblen - MPEG-Files in das linke untere Fenster:

 

Dann doppelklicken Sie wie gewohnt jeden Stream und stellen die Pause nach jedem Track auf "Null":

Bitte glauben Sie nun nicht, dass die im letzten EDV-TIPP beschriebenen 172 leeren Sektoren auf der CD damit auf "Null" gehen. Aber das verkürzt zumindestens die "Wait-Zeit".

Wählen Sie nun mit Hilfe des Schiebreglers auf der Karte "Menü" das Bild innerhalb des Streams aus, das später auf der Übersicht angezeigt werden soll. Wenn Sie wollen, können Sie auch noch einen Namen für den Titel vergeben.

Wenn Sie die Karte übrigens nicht sehen, haben Sie nach dem Start von Nero im Bereich "Neue Zusammenstellung"; Karteikarte "Menü", vergessen, das Menü zu aktivieren.

Wenn Sie also mit all Ihren Arbeiten fertig sind, brennen Sie keine CD, sondern legen eine Imagedatei auf Ihrer Festplatte von der zukünftigen CD an. Also ein Abbild der CD in einem File mit der Endung "nrg".

Sie aktivieren dazu die Rekorderauswahl

und dann anstelle Ihres CD-ROM-Laufwerkes den "Image Recorder"

Wenn Sie nun den Brennvorgang starten, habe Sie die Möglichkeit, eine Image-Datei mit der Endung "nrg" anzulegen.

 

Im nächsten Schritt machen wir daraus eine richtig tolle SVCD - und zwar mit dem VCDImager. Ich habe dazu die noch "unstabile" Version "vcdimager-0.7.9.win32" genutzt.

Und zwar speziell das Programm VCDXRIP (ist in dem Paket "vcdimager-0.7.9.win32" mit drin) über den Befehl:

  • vcdxrip --nrg-file h:\image_dao.nrg

"Vcdxrip" ist der eigentliche Programmaufruf. Über den Parameter "--nr-file" sage ich dem Programm, dass die Quelle ein Nero-Image ist. Und die Quelle selbst liegt bei mir auf Laufwerk "h:\" mit dem Namen "image_dao.nrg".

Nun sehen Sie etwa folgenden Ablauf:

INFO: detected v55 (64bit offsets) NRG magic
--DEBUG: nrg footer start = 276152576, length = 364
INFO: DAO type image detected
--DEBUG: DAOX tag detected...
--DEBUG: nrg end tag detected
--DEBUG: SVCD detected
INFO: extracting item0001.mpg... (start lsn 225, 1 segments)
INFO: extracting avseq01.mpg... (start lsn 750 (+1318))
--DEBUG: cn +edge @780
--DEBUG: encountered subheader EOF @1913
--DEBUG: truncating file to 1093 packets
INFO: extracting avseq02.mpg... (start lsn 2068 (+27993))
--DEBUG: cn +edge @2098
--DEBUG: encountered subheader EOF @29906
--DEBUG: truncating file to 27768 packets
INFO: extracting avseq03.mpg... (start lsn 30061 (+57217))
--DEBUG: cn +edge @30091
--DEBUG: encountered subheader EOF @87123
--DEBUG: truncating file to 56992 packets
INFO: extracting avseq04.mpg... (start lsn 87278 (+30788))
--DEBUG: cn +edge @87308
--DEBUG: encountered subheader EOF @118061
--DEBUG: truncating file to 30713 packets
INFO: writing xml description to `videocd.xml'...
INFO: done

Das Ergebnis sind in meinem Fall folgende (aus dem Nero-Image extrahierte) Dateien:

Im Prinzip sind das wieder meine ursprünglichen MPEG-Dateien, das Nero-Eingangs-Menü-Bild und eine XML-Datei mit dem eigentlichen Wissen über die Struktur der CD.



Ausriss aus der XML-Datei


Im nächsten Schritt bauen Sie sich nun ein neues Image. Und zwar ein Image mit dem Aussehen einer Nero-SVCD, aber nach den Regeln des VCDImager.

Dazu verändern wir allerdings erst die XML-Datei ein wenig:

Suchen Sie in der Datei nach folgender Sequenz:

<selection id="selection-01">
   <bsn>1</bsn>
   <wait>-1</wait>
   <loop jump-timing="immediate">0</loop>

 

Wesentlich besser wäre (steht sogar in den IEC62107 "as recommendation")

<selection id="selection-01">
   <bsn>1</bsn>
   <wait>0</wait>
   <loop jump-timing="delayed">1</loop>

 

Wieso ist das besser? Nun, ein Standbild ist ja nicht dazu da, dass es schnell hintereinander neu geladen wird, oder? ;-)

Speichern Sie nach dieser Änderung die XML-Datei wieder ab.

Über die MS-DOS-Anweisung

  • vcdxbuild videocd.xml

übergeben wir die Befehle der Datei videocd.xml an das Programm VCDXBUILD (auch Bestandteil des VCDIMager-Paketes).


Das Ergebnis ist eine bin- und eine cue-Datei:

die wir problemlos zu einer echten CD brennen können. 

Wie das geht, habe ich im letzten EDV-TIPP zum Thema VCDImager ja schon geschrieben.

Nun wissen wir noch aus dem Tipp "Nero-SVCD spult nicht", dass es bei dem ein oder anderen DVD-Player Probleme mit dem Spulen einer SVCD gab.

Die über den Umweg VCDImage erstellte "Nero"-SVCD hat nun die fehlende Datei "Scandata.dat".


Nero-SVCD nachbehandelt mit VCDImager

Und zwar nicht nur eine Blind-Datei wie ursprünglich in dem alten EDV-Tipp erzeugt, sondern eine richtige Datei zum Spulen und Springen im Stream.

Wenn Sie die o.a. DOS-Befehle nun in eine BAT-Datei packen, können Sie ohne viel Aufwand aus einer nicht ganz fertigen Nero-CD (vermutlich brauchen die Entwickler bei Ahead noch etwas, bevor sie begriffen haben, wie es richtig funktionieren sollte) eine richtige SVCD machen.

Dank des Authoring-Programms GNU VCDImager von Herbert Valerio Riedel.

 

 

Im nächsten Schritt "verbessern" wir das Photoalbum von WinOnCD mit Hilfe des VCDImagers.

 

Im EDV-TIPP "Photoalbum erstellt mit WinOnCD - Ver 3.8" habe ich im Detail beschrieben, wie man mit Hilfe von WinOnCD ein schönes Photoalbum herstellen kann.

Nun hat dieses WinOnCD-Photoalbum auf Basis einer VCD den Nachteil, dass es nicht auf allen DVD-Playern läuft. Ob Ihnen mein Vorschlag hilft, diese Hürde zu überwinden, können Sie ja mal selbst erproben.

Andere User hingegen haben das Problem, dass Sie die HTML-Strukturen auf der CD überhaupt nicht benötigen - sie kosten nur Platz. Andere User hingegen benötigen die Originalbilder (die ja mit auf die CD kopiert werden) überhaupt nicht. Wieder andere User wollen an allen möglichen und unmöglichen Stellen Unterverzeichnisse und Files einfügen.

Also, versuchen wir einmal das Photoalbum auf ein Minimum zu reduzieren und dann zu einer neuen VCD zu machen.

Verstehen Sie diese Beschreibung nur als Anregung für eigene Versuche. Ich möchte Ihnen nur die Scheu vor den Werkzeugen nehmen. Die Gestaltung "sinnvoller" Anwendungen liegt ganz in Ihrer Hand.

Wie man ein solches Photoalbum macht, habe ich ja schon beschrieben. Nun können Sie für unser Experiment ein vorhandenes Photoalbum nehmen, oder sich anstelle einer CD eine Image-Datei "brennen".

Beim "Brennvorgang" wählen Sie also den Button "CD-Image" und erstellen eine Datei mit der Endung "c2d".

Über "Start", "Programme", "CeQuadrat" wählen Sie nun den

CD-ROM Emulator und laden diesen. 

Ist das Ladeprogramm gestartet, wählen Sie Ihr Image aus und "legen" damit die virtuelle CD ein.

Bei mir ist die "CD" mit dem Photoalbum nun in Laufwerk "Z".

Über CDRWin von http://www.goldenhawk.de/ können Sie nun aus dem Inhalt dieser "virtuellen CD" eine Bin-Datei erstellen (Demo-Version für 1 x Speed-Brennvorgänge unter der o.a. URL verfügbar).

 

Mit dem Programm "CDmage", einem CD image handling tool (Quelle: via Internet ).

können Sie sich nun den Inhalt der Bin-Datei ansehen, nachdem Sie das entsprechende Cuesheet geladen haben. 


Im nächsten Schritt kommen wir wieder zu unserem VCDImager mit dem Programm "vcdxrip" und dem Befehl

  • vcdxrip --bin-file photo.bin


Wir "rippen" also das Bin-File "Photo.bin", die wir ja eben erst mit
CDRWin angelegt haben. [to rip = auftrennen, reissen, entreissen]

Sie sollten Platz auf Ihrer Platte haben, denn der Befehl "vereinzelt" alle Daten der Image-Datei. Am Ende des Prozesses steht Ihnen wieder die bereits bekannte "videocd.xml" zur Verfügung.

Diese können Sie nun fast nach Belieben nachbearbeiten:

 

Ich habe hier z.B. den "Folder" HTML  kpl. entfernt. Und auch die AUTORUN.INF und die START.HTM sind meiner Streichwut zum Opfer gefallen:


Löschen Sie also alle Einträge zwischen (bzw. incl.) dem jeweiligen <folder> und ></folder> oder <file> und </file> heraus.

Auf die gleiche Art und Weise können Sie aber auch beliebige Unterverzeichnisse und Dateien in die Struktur einfügen.

Nachdem meine Änderungen an der XML-Datei abgeschlossen waren, habe ich diese als "videocd2.xml" wieder auf die Festplatte zurückgeschrieben.

Je nach Version des VCDImager und vermutlich je nach Ausgangsfile, kann es sein, dass die Datei "avseq01.mpg" mit "0"-Byte auf Ihrer Festplatte steht. Das Programm hatte bei mir zumindest ein solches Problem. Herr Riedel vermutete eine fehlerhafte Image-Datei.

Wie dem auch sei, ich habe das Problem über einen kleinen Umweg gelöst. Und auch Sie können sich, für einen vergleichbaren Fall, aus dem Internet das Programm VCDGEAR (unter http://www.vcdgear.com/) besorgen.

Der Autor von "vcdgear" schreibt übrigens im Handbuch zur Nutzung "This application is (also) free for public use".

Aktuell ist gerade die Version VCDGear v1.6d (siehe: http://www.vcdgear.com/download.html)  Wer will kann dazu auch noch ein GUI (Grafisches User Interface) bekommen, z.B. VCDGear v2.0 Final (GUI).

Was macht nun das Programm im Detail?

Wir rufen es mit folgendem MS-DOS-Befehl auf:

  • vcdgear16 -dat2mpg z:\mpegav\avseq01.dat H:\avseq01.mpg

VCDGEAR16 wandelt u.a. (wie auch der VCDImager) DAT-Dateien einer Video CD (nicht SVCD) wieder zurück in MPEG-Dateien. Und genau das machen wir nun mit der Datei "avseq01.mpg".

Ein DAT-File ist im Prinzip ein MPEG-File, nur ein wenig größer. Es beinhaltet neben dem eigentlichen MPEG-Stream noch eine "Fehler-Korrektur-Information" und eine "Sektor-Information".

Durch die Behandlung mit VCDGear reduzieren wir das File auf die eigentliche MPEG-Information.


Doch nun wieder zurück zu unserem VCDImager. Mit dem Befehl

  • vcdxbuild videocd2.xml

erstellen wir aus den 'vereinzelten' Dateien und der überarbeiteten XML-Datei nun wieder eine bin- bzw. cue-Datei mit dem Namen "videocd.*".

In diese fertige Datei können Sie wieder mit "CDmage" hineinsehen.

Im nächsten Bild habe ich die Original- (photo.cue) und die mit dem VCDImager veränderte Image-Datei (videocd.cue) einmal gegenübergestellt.

Sie sehen sofort, dass das Unterverzeichnis HTML verschwunden ist:

Das bedeutet, Sie schleppen nicht mehr so viel Ballast auf der VCD herum.

Es geht also mehr VCD-Information auf eine CD. Aber zu dem Nachteil, dass diese CD nicht mehr so universell einsetzbar ist wie das Original-Photoalbum - erstellt mit der WinOnCD-Software.

Ein weiterer Vorteil ist aber sicher, dass Sie absolut frei sind hinsichtlich der Gestaltung - wenn Sie einmal verstanden haben mit den Tools umzugehen.

Im letzten Schritt brennen wir aus der Bin/Cue-Datei nun wieder mit CDRWin eine fertige CD.


Wollen Sie testen, ob Ihre CD auch alle Informationen beinhaltet, wie sie in der Image-Datei bzw. auf Ihrer Festplatte vorhanden waren, so können Sie die mit einem speziellen "Vergleichswerkzeug" testen - und zwar mit CDCeck von
http://www.elpros.si/CDCheck/

 

Über die Funktion "Compare" können Sie Original und Kopie vergleichen.

Zurück

Zur Index-Seite


 

Home zu "http://www.edv-tip.de"