19. Oktober 2011

Computerpornographie mit "The Revival Tour"

Mein gestriger post über die Heimholung von Ohrenschmaus für Ohrensaus ist nach einem freundlichen post in einem musikalischen Fachblog auf reges Interesse gestoßen.

Insofern habe auch ich noch etwas Interesse entwickelt, ob und wie das heimgeholte Teil mit Kapitelmarken versehen werden kann. Das Ergebnis nehme ich mal vorweg, da es bereits vorliegt. Ja. Es geht. Es artet allerdings in staatstrojanermäßige Bastelarbeit aus, so wie der download Bastelarbeit war, da die einfachste Variante, der download via http, versperrt ist.

Für all jene, die Pornographie am Computer mögen, im Folgenden etwas Hardcore.

So, wie ich gestern nur eine einzige Möglichkeit behandelt habe, die definitiv funktionierte, so auch heute. Ich stelle einen Weg dar, der hakelig ist, aber funktioniert hat. Sicher gibt es auch andere Möglichkeiten. Diese habe ich weder in Erwägung gezogen, noch getestet, somit kann ich mich nicht dazu äußern. Das Ergebnis zählt. Und da ich kein mp4-Kochbuch schreibe, gibt es die Rezeptsammlung nicht am Stück und zusammengefaßt, sondern im Verlaufe des Textes, zum livehaftigen Nachvollziehen. Ich unterschlage jetzt mal alle Recherchen, die ich angestellt habe, um mir darüber im Klaren zu werden, was und wie es geht:

How to add chapter marks into mp4 files windows?

Scheiß Frage mit noch viel blöderen Antworten, aber letztlich mit jenen zwei Volltreffern, die ich brauchte.

Wir gehen wieder auf die Seite des Rocktempels, um noch einmal den Quellcode zu inspizieren, diesmal aus einem anderen Grunde. Freundlicherweise ist jedes Liedgut einzeln verlinkt und anwählbar, ich kann von der Seite direkt zu einem beliebigen Titel springen. Der Link für den "Lady Killer" sieht dann so aus:

http://www.wdr.de/tv/rockpalast/extra/videos/2011/1012/the_revival_tour.jsp?offsetwert=7383

Offsetwert ist der uns interessierende Teil, den wir nun im Quelltetxt inspizieren.



Das schreit geradezu nach einer Textverarbeitung, denn wir haben hier im Grunde Offsets und Titel fast tabellarisch dargestellt. Ergo in den Editor geladen und alles in einem Rutsch gelöscht, was nicht benötigt wird. Übrig bleiben die Offsetwerte nebst den Titeln. Eine kurze Prüfung ergibt, daß die Offsets die Sekunden sind, zu denen gesprungen werden soll. Fein, dachte, bin ich ja fast fertig. Die Textdatei habe ich nun in LibreOfficeCalc geladen, denn ruckzuck sollte doch genau jenes Format erstellbar sein, das ich für die Kapitalisierung benötige. MP4Box, das kleine Schweizer Taschenmesser für die Manipulatioin von MP4-Containern. Das heißt, man muß sich erstmal das Programm MP4Box versorgen und in seinen Arbeitspfad hauen.

Ich habe mich für

Time codes : h:m:s name, h:m:s:ms name and h:m:s.ms name. One chapter entry per line.

entschieden,denn das liegt ja quasi (Hermann Kant) schon vor, zwar in der Form "7383 Lady Killer", doch die 7383 kriegen wir blitzschnell umformatiert, da es die Sekundenposition des Tracks ist.

Calc aufgemacht, auf Formatieren Zellen gegangen und für die Zahlen das Zeitformat HH:MM:SS eingestellt, doof wie ich nunmal bin, denn das war ein Griff ins Klo. Langer Rede, kurzer Sinn, um Sekunden in das benötigte Format umzurechen, bedarf es einiger Klimmzüge, die nur im Schnelldurchlauf genannt werden. Warum das so bekloppt gelöst ist, weiß ich nicht, ich habe LibreCalc nicht programmiert.



Ich greife mal fast schon etwas vor. Der Sekundenwert ist durch 3600 zu dividieren, das wiederum durch 24 (Stunden), das ganze wird dann als Formel in alle Zellen kopiert und fertig haben. Format HH:MM:SS für diese Zellen einstellen, die beiden Spalten D und E (Zeitformat und Titel) markieren, kopieren und ins Notepad laden, als Textdatei kapitel.txt abspeichern, dann einen der Tabulatoren markieren, der zwischen Zeitformat und Titel standardmäßg eingefügt wurde, kommt ja aus der Tabellenkalkulation, da ist Tab der Feldtrenner, Ersetzen von allen Tabs mit einem Leerzeichen, denn unsere Kapitelvorlage verlangt das so. Zeitformat - Leerzeichen - Titel pro Zeile.

So sähe das Ergebnis aus.

00:00:00 Intro
00:01:04 Nomad By Fate
00:04:22 Me And Denver


Nun kommt eine Zweiwegelösung, denn bis hierher war es einfach. Wenn ich das Video im Original mit Kapiteln versehen möchte, dann ist das nun ein Kinderspiel, denn die im Quelltext vorgefundene Offset- und Titelliste ist korrekt, muß also nur in das gewünschte Format transportiert werden. Weiter nach Variante zwei.

Variante zwei heißt, ich möchte ein geschnitten Video mit Kapiteln versehen, dann stimmen ja die Offsetwerte nicht mehr. Richtig. Und vor allem deswegen nach dem Schnitt, weil avidemux beime Zuschneiden von MP4-Dateien alle Metadaten wieder in den Orkus befördert, also auch die Kapitelmarken. Deswegen erst der Beschnitt und danach die Kapitelanlage.

Wenn, wie ich gestern schrieb, der Anfang beschnitten wird, das Ende ebenfalls, dann rutscht doch da irgendwie was weg. Und wenn in der Mitte auch noch die Schwätzerei aus Anlaß einer Pinkelpause dem Schnittmeister als Opfergabe dient, dann stimmt das ja alles gar nicht mehr.

Dazu gehen wir noch einmal in die Tabellenkalkulation Spalte C. Ich habe am Anfang des Videos 90 Sekunden Sekunden entsorgt. Damit ergeben sich die Werte in C als Spalte A-90. Das sind nun die neuen Sekundenwerte.

In der Mitte, bei ca. 1:19:00 habe ich noch einmal etliche Sekunden Schwätzerei entsorgt. Ab dieser Zeile ist die Formel dann A-241 (will heißen, es waren 2 Minuten 31, der Opfergabe). Das betrifft die Stelle "4993 Every Thug Needs A Lady". Der Rest bleibt ja dann.

Das noch einmal sicherheitshalber zusammengefaßt. Will man das Video mit Kapiteln versehen, wie es ist, ohne die Schere anzusetzen, dann nimmt man die originale Offsetliste aus dem Quellcode und setzt den ersten Offset natürlich auf 0.

Will man Anfang, Mitte und Ende beschneiden, dann ist etwas Rechnerei in der Tabellenkalkulation erforderlich, um die neuen Offsetwerte zu ermitteln. Den Timecode der Schnittmarke sieht man ja in Avidemux. Das kann jeder nach Belieben machen.

Nun ran ans eingemachte. Je nach persönlichem Bedürfnis kann man das Video mit Kapiteln versehen, um über das gestern beschriebene Verfahren das Audio zu extrahieren, das dann ebenfalls über die Kapitel verfügt, oder, wer nur die Audiodaten hat, der wendet das auf die Audiodaten an. Die Befehlszeile lautet:

mp4box -chap kapitel.txt datei.mp4*

* Wenn datei.mp4 das Video ist, dann muß noch das gestern beschriebene Verfahren zum extrahieren der Audiodaten genutzt werden.

ffmpeg -i datei.mp4 -f mp4 -vn -acodec copy audio.mp4

Diese audio.mp4 hat dann die Kapitel schon inclusive.

In Windeseile werden die Kapitel in den mp4-Container reingefummelt. VLC anwerfen und großes Staunen. Ausgehend vom Quelltext der Internetseite haben wir nun ein Video, in dem man auch rumhüpfen kann. Flugs den iPod eingestöpselt, iTunes angeworfen und die audio.mp4 rübergeschoben. Oh Shit, oh Schreck, oh Mist, die schönen Kapitel exisitieren nicht, weder in iTunes, noch auf dem Pott. Nur in meiner Vorstellung.

Das ist die Stunde der zweiten Perle, auf die ich bei den Recherchen stieß. Ursache ist schnöde simpel einfach banal. Die eben erstellte Kapitelliste wird in der MP4-Datei in der Nero-Notation abgelegt, die nicht mit der von Apple kompatibel ist. Der VLC versteht die, der Apple veräppelt mich. Doch auch hier war Rettung nahe, die MPEG4v2 libraries auf googlecode.

In dem Paket befindet sich eine mp4chaps.exe. Die benötigen wir, denn die kann das, was wir wollen, eine MP4-Datei ipodisieren. Das geht in unserem Falle so.

mp4chaps -Q -c datei.mp4*

* Hier gilt wieder, wende ich das auf das Video an, um anschließend Audio per ffmpeg zu extrahieren, dann ist alles in Butter. Wer nur die Audiodatei haben will, nimmt gleich diese.

Das Programm wandelt eine MP4-Datei in das Quicktimeformat (-Q) , indem es diese konvertiert (-c; convert). Das dauert, das ist aber auch schon alles. Erscheinungsbild genauso wie im VLC oben dargestellt, aber ein ganz anders auf dem iPod. Laßt euch überraschen, was ihr auf einmal für Möglichkeiten habt, wenn ihr dieses Teil auf den Pott schiebt. Lecker.

Zusammenfassung. Ein aus dem Internet heimgeholtes Video ohne Kapitelmarken läßt sich nachträglich mit Kapiteln versehen.

1. Benötigt wurden im konkret behandelten Fall, nachdem die Datei bereits vorhanden ist, avidemux für den Schnitt, ein Texteditor mit Ersetzenfunktion, eine Tabellenkalkulation, mp4box, mp4v2 und ffmepg.

2. Wer nicht schneiden möchte, erstellt eine Kapitelliste im oben beschreiben Format und pflanzt diese anschließend mit der mp4box in die gewünschte Datei. Mit mp4chap muß diese anschließend noch ipodisiert (veräppelt) werden.

3. Wer schneiden möchte, schneidet zuerst, ermittelt die Offsetwerte für die Kapitel und geht dann nach 2. zum erstellen der Kapitelliste.