Plug & Play kompatibel im TS-Container für alle gängigen 3D-Fernseher.
Version 1.0 - 27.07.20100. Vorwort
Dieser Workshop bringt Euch bei, wie man aus einer Blu-ray 3D ein MPEG4-AVC kodiertes Video (x264) im Side-by-Side Format macht (1 File). Dieses Format beinhaltet die Videos für das linke und rechte Auge zusammen in gestauchter Form in einem Vollbild. Jeder gängige 3D-TV kann dies darstellen, indem Ihr das 3D-Format manuell auf
nebeneinander stellt.
Für den Anfang empfehle ich Euch, ein kleines Video zum üben zu benutzen. Falls etwas nicht so klappt wie erwartet, müsst ihr nicht zwischen jedem Arbeitsschritt ewig warten. Ein Trailer eignet sich z.B. sehr gut zum anfänglichen testen und sollte sich auf der einen oder anderen Scheibe sicherlich finden lassen.
Dieser Workshop baut in Teilen auf anderen (englischsprachigen) Tutorials auf, welche aber für mich persönlich alle irgendwann nicht mehr weitergeführt haben. Deshalb habe ich aus verschiedenen Tutorials und einzelnen Informationsfetzen nun einen kompletten Guide erstellt, der von Anfang bis Ende funktioniert. Ein brauchbares deutsches Tutorial gibt es bis Dato meiner Meinung nach nicht und mit den englischen die ich gefunden habe tut man sich doch sehr hart am Anfang, da noch einiges an Eigeninitiative nötig war um ans Ziel zu kommen. Auch für Leute die sich ansonsten viel mit Videobearbeitung beschäftigen, ist dieses Thema nicht ganz einfach.
Wenn man den Ablauf allerdings erst einmal verinnerlicht hat, dann macht es keinen großen Unterschied mehr ob nun 2D oder 3D vorliegt. Hat man die ersten 3-4 Videos erstellt, kommt man auch nach und nach sehr schnell hinter die Funktionsweise der einzelnen Programmabläufe. Der Guide wurde von mir mit Windows 7 in 32-Bit und 64-Bit getestet und funktioniert auf beiden Systemen mit allen Tools gleichermaßen. Meine persönliche Erfahrung war, das es unter x64 um einiges schneller geht als unter x86.
Das Ganze sieht erstmal komplizierter und umfangreicher aus als es ist. Also nicht abschrecken lassen. Hat man es ein, zweimal gemacht, geht das Ganze sehr schnell von der Hand. Außerdem sind viele Schritte schnell erledigt und erfordern keine lange Rechenzeit.
Viel Spaß
Benötigte Programme
- MKVToolnix 4.1.1
- MVC beta1
- FFmpeg 0.6
- TSPE 0.810 Beta (Achtung: Andere Versionen können Probleme machen!)
- Avisynth 2.58
- ffdshow beta 7
- tsMuxeR 1.10.6
- MeGUI 0.3.5
- Matroska Splitter
Ich habe ein Paket geschnürt, in dem alle benötigten Programme enthalten sind. Ihr findet nach dem entpacken zwei Ordner vor (
Arbeitsordner und
Programme). Den
Arbeitsordner kopiert ihr auf eine Festplatte bzw. Partition Euer Wahl (am besten dort wo am meisten Platz vorhanden ist). Einige Dateien aus dem Ordner
Programme müsst ihr installieren, andere lassen sich direkt aus dem Ordner starten. AviSynth, FFdshow und Co. bitte nur installieren falls noch nicht auf Eurem System vorhanden (Codecpack etc.). Alternativ zu diesen Programmen kann man auch ein Codecpack installieren, ich halte davon aber nichts, weil dies immer eine mögliche Fehlerquelle im Falle von Problemen sein kann.
Download1. Datenträger auf Festplatte kopieren
Zu diesem Thema gebe ich aus naheliegenden Gründen keine weiteren Informationen. Für näheres nutzt bitte Google oder fragt den neuesten Beta-Fuchs. Bedenkt bitte, das ihr mit dem aushebeln eines Kopierschutzes gegen geltendes Urherberrecht verstoßt. Wendet also diesen Workshop bitte nur auf nicht geschütztes Material an.
1.1 Video für linkes und rechtes Auge ausfindig machen und in den Arbeitsordner kopieren

Wie Ihr oben sehen könnt, sieht man in der Vorschau (Ordneransicht: große Symbole) immer nur abwechselnd ein Video, dann wieder nur ein schwarzes Bild. Das jeweils Erste (welches man sehen kann) ist immer das Video für das linke Auge, das direkt daneben (welches nur schwarz bzw. hier als oranges Hütchen anzeigt) ist das Video für das rechte Auge, welches den 3D-Part beinhaltet. Ihr könnt es deswegen nicht sehen und abspielen, da Euch der nötige MVC-Decoder fehlt, der im System verankert sein müsste. Um zu überprüfen ob es sich auch ganz sicher um das jeweils rechte Pendant handelt, vergleicht Ihr am besten die Laufzeit beider Videos. Ich persönlich mache das immer mit Media-Info, da ich nur mit der Maus drüber zu fahren brauche um sämtliche Inforamtionen zu sehen (siehe Screenshot). Stimmen die Laufzeiten überein, habt ihr die richtigen beiden Videos ausgewählt. Im Screenshot gehören also z.B. unter anderem 00002.m2ts und 00003.m2ts zusammen. Die beiden zusammengehörigen Videos kopiert ihr nun in Euren Arbeistordner.
2. Beide Videospuren als RAW-Stream extrahieren2.1 Videostream für das linke Auge extrahieren
Wir starten das Programm TSPE 0.810 Beta (
Achtung: ältere sowie neuere Versionen haben bei mir nicht richtig funktioniert ! Erspart Euch den Ärger und nehmt lieber gleich die 0.810 Beta).

Über das
Ordnersymbol (1) wählt Ihr zuerst Euer Video, welches für das linke Auge bestimmt ist. Danach klickt ihr auf
Demux und wählt
Demux RAW Streams? aus (2), so das ihr ein Häcken vor dem Eintrag habt.
In der
Auswahlliste (3) entfernt ihr alle Häckchen außer den Eintrag mit der Videospur
H.264/AVC. Dieser Schritt ist wichtig !
Bei Punkt (4) muss der Reiter auf
EDL stehen. Achtet darauf, das unten rechts die Häckchen bei Fix: Tables? und Timecodes?
nicht (!) aktiviert sind.
Zum Schluß betätigt ihr noch den
Edit Button (5).
Das Video für das linke Auge wird nun als RAW-Stream mit der Endung
*.264 in dem Verzeichnis abgelegt wo sich auch Eure beiden *m2ts Dateien befinden. Jetzt schließt ihr das Programm TSPE 0.810 Beta (unbedingt erforderlich!) und öffnet es sogleich erneut.
2.2 Videostream für das rechte Auge extrahieren
Nachdem wir das Programm neu gestartet haben, verfahren wir wie folgt, um den RAW-Stream aus dem rechten Video zu extrahieren.

Diesmal öffnen wir Unser
*m2ts Video welches für das rechte Auge bestimmt ist und die Differenz zum linken Auge beinhaltet. Dazu gehen wir genauso vor wie im vorherigen Schritt, jedoch mit einigen kleinen Änderungen.
Wir wählen Unsere Datei wieder über das
Ordnersymbol (1), stellen unter
Demux (2) erneut
Demux RAW Streams? ein und wählen im
Auswahlmenü (3) diesmal den Eintrag welcher mit
ITU-T Rec. beginnt. Alle anderen Häckchen sind abermals zu entfernen. Bei Punkt (4) switchen wird jetzt von
EDL zu
PES Line und beenden den Vorgang über
Edit (5).
2.3 Audiostream aus dem linken Video extrahieren
Der Audiostream bzw. sämtliche Audiospuren befinden sich immer im Video für das linke Auge. Wir extrahieren nun wie wie folgt die benötigte Tonspur aus dem Video. Dazu starten wir das Programm erneut.

Wir öffnen wie gehabt unser Video für das linke Auge über das
Ordnersymbol (1) und wählen unter
Demux (2) wieder
Demux RAW Streams?. Im
Auswahlmenü (3) selektieren wir diesmal unsere Tonspur und entfernen alle übrigen Einträge wieder.
Die
Registerkarte (4) muss nun wieder auf
EDL gestellt werden, bevor ihr den Vorgang wie gewohnt mit
Edit (5) beendet.
Nach diesen drei nahezu identischen Vorgängen solltet ihr nun in Eurem Arbeitsordner unter andrem folgende zwei Dateien vorfinden:
00039.Demux.1011.264
00040.Demux.1012.es
Die Datei mit der Endung
*.264 ist immer der Videostream für das linke Auge, die mit der Endung
*.es der Videostream für das rechte Auge, welcher die Ínformationen für die stereoskopische Darstellung enthält (Differenz). Da der rechte Videostream lediglich die Differenz zum linken enthält, ist die Datei kleiner. Außerdem solltet ihr noch Eure Audiospur in dem Ordner wieder finden (
*.ac3,
*.dts).
Ihr benennt jetzt beide Dateien von Hand um. Aus der Datei mit der Endung
*.264 wird
left.h264 und aus der Datei mit der Endung
*.es wird
right.h264. Jegliche Abweichung von dieser Namensgebung führt zur Disfunktion im weiteren Verlauf, es sei denn, ihr ändert das Scipt
decoder.cfg vorher entsprechend ab.
3. Konvertieren des Videos für das rechte Auge nach *.yuv mittels Idecod.exe
Habt ihr beide Dateien wie oben beschrieben umbenannt, startet Ihr das Programm
Idecod.exe, welches sich im selben Ordner befinden
muss wie Eure Videostreams.

Das Programm rechnet nun eine Weile und belegt dabei temporär nicht unwesentlich Speicherplatz auf Eurer Festplatte (
~ 10 GB pro Minute Video). Je nach Projektgröße solltet ihr also keinen Mangel an Speicherplatz haben. Das Programm schließt sich nach Fertigstellung selbst.
Achtung: Startet das Programm wiedererwarten nicht oder nicht richtig, fehlt Euch vermutlich nur das
Microsoft Visual C++ 2008 Redistributable Package. In dem Fall ladet ihr dieses
hier herunter oder nehmt es aus dem bereitgestellten Paket und installiert es bevor ihr
Idecod.exe erneut ausführt.
Ihr findet am Ende des Prozesses zwei weitere Dateien in Eurem Arbeitsordner, die wie folgt lauten sollten.
Code:
test_dec_ViewId0000.yuv
test_dec_ViewId0001.yuv
4. Aus den beiden *.yuv-Dateien eine *.h264 kodierte Datei für das rechte Auge erzeugen
Ihr geht auf Start und ausführen bzw. Programme / Dateien durchsuchen und tippt dort ein "CMD". Es öffnet sich die Konsole. Dort wechselt ihr in Euren Arbeitsordner.

Seid Ihr z.B. aktuell in
C:\Users\Admin, gebt ihr nun Euren Laufwerkspfad (z.B. D:) ein. Dann wechselt ihr mit
cd Euer Ordner (z.B. cd Project3D) in Euer Arbeitsverzeichnis wo sämtliche Dateien und Programme liegen.
Nun gebt Ihr folgende Kommandozeile ein bzw. kopiert Euch diese aus der beiliegenden Textdatei
FFMpeg-Commandline.txt heraus , fügt sie mit der rechten Maustaste ein und drückt auf Enter (strg+v geht nicht).
Code:
ffmpeg.exe -s hd1080 -i test_dec_ViewId0001.yuv -vcodec libx264 -b 24560000 -bt 24560000 right_f.h264
Achtung: bearbeitet ihr Material, welches ursprünglich nur in 1280 x 720 vorliegt, müsst ihr den Eintrag
hd1080 auf
hd720 ändern! Wenn es sich um Full-HD handelt, könnt ihr die Zeile unverändert übernehmen. Das Programm rechnet nun eine Weile.

Ihr solltet nach Abschluss des Vorgangs die Datei
right_f.h264 in Eurem Arbeitsordner neu dazu bekommen haben. Damit haben wir nun endlich den Teil für die stereoskopische Darstellung (rechtes Auge) kompatibel zur Weiterverarbeitung gemacht. Von nun an lässt sich das Ganze genauso weiter verarbeiten wie ein herkömmlicher 2D-Stream.
5. Bildwiederholungsrate (FPS) festlegen und nach *.mkv muxen mit mkvmerge GUI
Ihr öffnet nun
mkvmerge GUI und wählt über
hinzufügen die Datei
left.h264 aus Eurem Arbeitsordner. Das Programm beschwert sich nun, da es die Bildwiederholgsrate nicht automatisch erkennt. Ihr klickt den Dialog einfach mit OK weg und markiert Eure Videospur (MPEG-4 part 10 . . .), so dass diese blau hinterlegt ist (siehe o. Bild). Dann klickt Ihr auf die Registerkarte
Formatspezifische Optionen und wählt dort bei
BPS den Eintrag
24000/1001 aus. Damit setzen wir die Frames pro Sekunde auf
23,967 fest. Liegt Euer Originalvideo hingegen mit 60 Frames pro Sekunde vor, wählt ihr stattdessen
60000/1001. Nun klickt ihr unten links auf
Muxen starten.
Sobald der Vorgang beendet ist, klickt ihr oben rechts auf
alle entfernen und ladet hernach über
hinzufügen das rechte Video
right_f.h264. Ihr setzt die BPS wieder auf den gewünschten Wert und speichert die Datei erneut über
Muxen starten.
Als Ergebniss habt ihr nun in Eurem Arbeitsordner zwei neue Dateien namens (
left.mkv und
right_f.mkv).

Dies sind nun die finalen Dateien, mit denen wir den endgültigen Encode erledigen. Sofern ihr 3D am PC-Monitor (z.B. mit dem Nvidia 3D-Vison-Kit) erlebt, könnt ihr das Video jetzt schon mit dem Steroscopic Player abspielen. Alle anderen zuvor erstellten Dateien könnt Ihr nun löschen um Speicherplatz freizugeben, falls benötigt. Passt aber auf, das ihr nicht versehentlich Programmdateien oder deren Konfig-Dateien erwischt! Auf dem unteren Screenshot sind die Dateien welche ihr nun bedenkenlos löschen könnt mit einem grünen Punkt markiert.
6. AviSynth-Script für MeGUI erstellen
Um aus den beiden einzelnen *.mkv Streams nun ein stereoskopisches Side-by-Side Video zu erzeugen, brauchen wir ein kleines Script welches wie folgt aussieht (
script.avs liegt dem Download bei!).
Code:
left = DirectShowSource("left.mkv", fps=23.976, audio=false, convertfps=true)
right = DirectShowSource("right_f.mkv", fps=23.976, audio=false, convertfps=true)
finish = StackHorizontal(left, right)
return(finish)
Ihr erstellt eine neue Textdatei mit dem Editor, kopiert die obigen Zeilen dort hinein und speichert das Ganze als
script.avs in Eurem Arbeitsordner ab. Alternativ nehmt ihr einfach die
script.avs aus dem Download-Paket und ändert sie ggfs. ab.
Achtung: handelt es sich bei Eurem Video um das Format 1280x720 mit 60 FPS, so müsst ihr die beiden obigen Einträge entsprechend ändern. Statt
fps=23.976 muss dort dann stehen
fps=59.940, was für 60 Frames pro Sekunde steht. Ist es hingegen Full-HD Material mit 1920x1080, könnt ihr das Script wieder unverändert übernehmen.
7. Side-by-Side Video im *mkv-Container mit MeGUI erstellen
Wir starten nun das Programm MeGUI. Beim ersten Start prüft das Programm Updates von diversen Programmteilen und Codecs und zeigt eine entsprechende Liste an. Ich empfehle Euch die Programmkomponenten zunächst auf die jeweils neueste Version updaten zu lassen.

Als erstes stellen wir sicher, das unter
Encoder settings (1) das
*x264 scratchpad* ausgewählt ist. Desweiteren wählen wir bei
File format (2) den Container
MKV aus, bevor wir über die Menükarte
Tools den
AVS Script Creator auswählen.

Über
Video Input (1) laden wir nun Unser Script (
script.avs) aus Unserem Arbeitsordner. Sogleich öffnet sich das Video im Vorschaufenster, welches wir minimieren können, da es uns nur die Sicht verdeckt. Als nächstes aktivieren wir
Resize (2) und tragen im ersten Feld die horizontale Auflösung Unseres Videoclips ein - also entweder 1920 oder 1280. Die vertikale Auflösung ergibt sich dann von selbst. Dann aktivieren wir
Apply auto Preview (3) und erhalten in der Vorschau eine gestauchte Ansicht unseres Videos, welches der finalen Side-by-Side Darstellung entspricht. Wir wechseln nun auf die Registerkarte
Filters und dort auf den Reiter
AVI Source / DSSource.

Wir wählen unter
Source type (1) die Option
Progressive bzw. Interlaced (je nach Matrial) und vergewissern uns, das der
Resize Filter (2) auf
Lanczos (Sharp) gestellt ist. Dann speichern wir das neue Script über den Button
Save (3). Es öffnet sich abermals Unser Vorschaufenster, welches wir wieder minimieren.

Wir vergewissern uns nun ob der Einstellungen im
Screenshot (!) und drücken den
Config-Button (1) um die nötigen Einstellungen am x264-Codec vorzunehmen.

Zuerst aktivieren wir
Show Advanced Settings (1). Dann legen wir unter
Modes die Option
Automated 2pass fest, damit wir Unser Video zwecks besserer Qualität in zwei Durchgängen encodet wissen. Unter
Bitrate (3) legen wir eine sinvolle, nicht zu niedrige Videobitrate fest. Ich empfehle bei 1080p nicht unter 10 MBit/s zu gehen und bei 720p nicht unter 6 MBit/s. Der AVC-Codec arbeitet sehr effizient, aber an der Bitrate sollten wir trotzdem nicht sparen, sofern wir genügend Platz haben. Will man eine bestimmte Dateigröße erreichen, so empfiehlt sich dafür ein Bitratenrechner.
Wir klicken oben auf den nächsten Reiter
Frame-Type.

Bei
Number of B-Frames (1) tragen wir am besten einen Wert von 1-3 ein. Höhere Werte (max. 16) bringen keinen sichtbaren Vorteil mehr und können diverse Player aus dem Tritt bringen.
Adaptive B-Frames können wir auf
1-Fast stellen um die Rechenzeit nicht unnötig zu beanspruchen. Qualitätsfanatiker können auch höhere Werte wählen. Unter
Maximum GOP Size stellen wir einen Wert von 250 / 25 ein. Einige Quellen empfehlen sich nach der Bildrate der verwendeten Quelle zu richten (z.B. Blu-ray = 23,976 FPS = GOP 240 / 24). Denn Sinn dessen hab ich bislang noch nicht erkannt.
Bei
Number of Reference Frames (Re-Frames) müssen wir wieder vorsichtig sein. Ein Wert über 5 bringt kaum noch Vorteile und verlängert die Rechenzeit um ein vielfaches. Desweiteren haben viele Standalone-Player und auch die PS3 Probleme mit mehr als 4 Re-Frames. Aus Kompatiblitätsgründen verwenden wir hier am besten 2-3 Re-Frames. Die Option
CABAC lassen wir aktiviert, da sie optisch bessere Ergebnisse liefert. Gleichermaßen benötigt sie jedoch beim abspielen auch mehr Rechenleistung. Das spielt in dem Fall jedoch keine Rolle.
Den nächsten Reiter
Rate Control lassen wir unberührt und wechseln direkt zur Registerkarte
Analysis.

Wir übernehmen die Einstellungen wie im Screenshot zu sehen. Auf die Deteils gehe ich später noch ein. Grundsätzlich gilt aber, Ihr könnt bei allen markierten Optionen auch höhere Werte nehmen. Dies verlängert die Rechenzeit, kann aber mitunter bessere Ergebnisse bringen. Aus Kompatiblitätssicht könnt Ihr hier keine falschen Werte nehmen. Wir wechseln auf den letzten Reiter
Misc.

Hier ist nur wichtig den
AVC Level auf
Level 4.1 zu setzen und bei
AVC Profiles auf
High Profile zu gehen. Wir beenden die Einstellungen nun mit
OK (3). Die vorgenommen Einstellungen bleiben jetzt im Scratchpad gespeichert bis Ihr sie wieder verändert. Ihr braucht diesen Vorgang also nicht jedesmal wiederholen, wenn Ihr Eure Videos immer mit denselben Settings encoden wollt.
Wir wählen nun linkerseits den Button
Enqueue und die Registerkarte
Queue (1).

Wir sehen nun Unsere Aufträge in der Warteschlange (beide Durchgänge) und drücken abschließend den
Start-Button (2). Wenn MeGUI fertig ist mit dem encoden, können wir es schließen. Nun finden wir eine weitere Datei namens
script_new.mkv in Unserem Arbeitsordner vor. Dies ist das (fast) fertige Side-by-Side Video - fast fertig, weil momentan noch ohne Tonspur. Wir starten deshalb nun das Programm tsMuxer.

Wir wählen über
add (1) zuerst unser neues Videofile (
script_new.mkv) und direkt danach unsere Audiospur welche wir in Schritt
2.3 demuxt haben. Bei
Language (2) können wir optional noch einen Flag für die Sprache setzen, was aber nicht nötig ist. Unter
Output (3) stellen wir jetzt noch auf
TS muxing bzw.
M2TS muxing, je nachdem mit welchem Format Eure Geräte besser klar kommen. Die meisten Geräte beherrschen den TS-Container, einige auch M2TS oder gar MKV. Wollt ihr lieber bei *.mkv bleiben, verwendet einfach MKVMergeGUI statt den tsMuxer. Wir klicken abschließend auf
Start muxing und sind fertig!
In Unserem Arbeitsordner finden wir nun das fertige Video (
script_new.ts). Das File können wir jetzt noch sinvoll umbenennen und auf unserem 3D-TV oder Player in 3-D als Side-by-Side abspielen.