28.02.2024 von Michael Mutschler (michael at mutschler punkt de)

1. Motivation

Ich habe eine Sammlung mit 3D-Blurays und wollte die auf der Quest 3 anschauen. Man kann dort Filme in Kinogröße anschauen, und die VR-Brille ist ja auch perfekt für 3D geeignet. Also war das Ziel meine 3D-Bluray Filme damit in guter Qualität anzuschauen, und die Filme ggf. auch zu archivieren.

Die Tutorials im Internet gehen meist über einen PC zum abspielen der BluRay und streamen das dann über Bildschirmsharing auf die Brille. Das ist sehr umständlich, und beim Screensharing wird das Bild ja auch wieder neu codiert, und damit leidet die Qualität.

Um es vorweg zu nehmen: ich habe ein 2-Min Beispiel aus dem Hobbit online gestellt: https://www.mutschler.de/3D_encoding/Der_Hobbit-Smaugs_Einoede_Beispiel.mkv

Damit kann jeder schonmal anschauen, wie der Film nach der Umwandlung aussieht.

2. Lösung

Mein Ziel ist eine qualitativ hochwertige 3D-Datei zu haben, die man direkt mit der Quest abspielen kann. Das kann über das Netzwerk sein, oder direkt von der Quest. Über das Netzwerk bieten sich DLNA-Server oder ganz klassisch eine SMB(Windows)-Share an. Aber ich will eben nicht über Screensharing gehen, welches die Qualität verschlechtert.

Die Schritte dazu sind:

  1. Bluray rippen, so dass das Image auf dem PC ist

  2. das Image in ein SBS-Format konvertieren, und hochwertig neu codieren (um Platz zu sparen)

  3. Die Filmdatei dann über eine share abspielen oder per Sidequest auf die Quest zu kopieren und abzuspielen

3. Film-Datei erstellen

Das beste Format finde ich ist Matroska (MKV) welches auch 3D Inhalte haben kann.

3.1. BluRay rippen

Dazu verwende ich MakeMKV was die BlueRay 1:1 kopieren kann. In dem Forum von MakeMKV gibt es alle 2 Monate einen neuen öffentlichen Key, so dass man das Programm quasi unbegrenzt verwenden kann. Man kann auch wählen welche Video-, Audio- und Untertitel man haben will. Da ich viele Sprachen nicht unbedingt brauche, habe ich mich hier beim Rippen auf Deutsch und Englisch als Ton und Untertitel beschränkt.

Nach dem Start von MakeMKV sieht man die eingelegte Disc:

1 MakeMKV start

mit einem Klick auf die Disc kommt man zur Übersicht was so alles auf der Disc ist:

3 MakeMKV selection

Es gibt meist noch Bonus videos deshalb sind hier dann 5 Videos zu sehen, aber der Film ist eigentlich immer der grösste. Deshalb alles andere abwählen, und den Film dann ausklappen

Bei einem 3d-Filem gibt es 2 Videos: einen für das linke, und einen für das rechte Auge. Bei einer BluRray-3D ist ein Auge normal mit AVC codiert, und das andere Auge ist als Differenz zu dem ersten abgespeichert. Das ist dann im MVC Format. Diese muss man für das rippen auf jeden Fall selektieren, wie oben im Beispiel.

Danach kann man nach Belieben die Tonspuren und Untertitel auswählen. In dem Fall habe ich den DTS-HD Ton weggelassen, weil mir der normale DTS-Surround Sound ausreicht. Die DTS-HD-Tonspur ist auch nicht grade klein.

Hat man das Zielverzeichnis ausgewählt kann man das Rippen oben rechts starten. Das kann dann schonmal 10min dauern.

Jetzt hat man eine MKV-Datei die man auch schon abspielen kann. Allerdings unterstützen nicht alle Player das AVC/MVC Format, und deshalb sieht man meist nur das linke Bild nicht in 3D. Mit dem MediaInfo Tool kann man sich auch mal Details zu dem Film anschauen:

Video
ID                                       : 1
ID in the original source medium         : 4113 (0x1011)
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Stereo High@L4.1 / High@L4.1
Count of views                           : 2
MultiView_Layout                         : Both Eyes laced in one block (right eye first)
Format settings                          : CABAC / 2 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 2 frames
Format settings, Slice count             : 6 slices per frame
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 1 h 36 min
Bit rate mode                            : Variable
Bit rate                                 : 36.8 Mb/s
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.741
Stream size                              : 24.7 GiB (92%)
Language                                 : English
Default                                  : No
Forced                                   : No
Original source medium                   : Blu-ray

Audio #1
ID                                       : 2
ID in the original source medium         : 4352 (0x1100)
Format                                   : DTS
Format/Info                              : Digital Theater Systems
Codec ID                                 : A_DTS
Duration                                 : 1 h 36 min
Bit rate mode                            : Constant
Bit rate                                 : 1 509 kb/s
Channel(s)                               : 6 channels
Channel layout                           : C L R Ls Rs LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 93.750 FPS (512 SPF)
Bit depth                                : 24 bits
Compression mode                         : Lossy
Stream size                              : 1.01 GiB (4%)
Title                                    : Surround 5.1
Language                                 : English
Default                                  : Yes
Forced                                   : No
Original source medium                   : Blu-ray

Hier sieht man dass es ein 3D-Film ist (MultiView_Layout)

Außerdem sieht man, dass allein eine normale DTS-Ton-Spur 1GB verbraucht.

Mit einem passenden Player kann man sich den Film auch so schon anschauen. Da das 1:1 von der BluRay kopiert ist, ist das auch die beste Qualität die man bekommen kann. Auf der Quest kann der 4XVR-player aus den applabs das abspielen. Allerdings nur wenn man den kauft.

3.2. Umwandeln in SBS und h265 codierung

Da die wenigsten Player mit dem MVC-Format klarkommen ist es sinnvoll, die Datei in ein SBS (Side-By-Side) Format umzuwandeln. Dabei werden die beiden Streams für das linke und rechte Auge nebeneinander gelegt, anstatt das in 2 Streams aufzuteilen. Es geht auch HOU (Horizontal-Over-Under), wo die Streams übereinander liegen.

Des weiteren ist die BluRay h264 codiert. Heutzutage gibt es aber auch schon h265, was eine bessere Komprimierung hat.

Für diesen Schritt benutze ich das freie Tool BD3D2MK3D. Dazu muss man noch Avisynth+ installieren (was auch auf der Seite verlinkt ist).

Nach dem Start und Öffnen des vorherigen MKVs sieht das so aus:

1 BD3D2MK3D open

hier sieht man die einzelnen Komponenten nochmal; unter anderem die beiden Video-Streams (als AVC und MVC).

Jetzt geht man die Tabs der Reihe nach durch:

2 BD3D2MK3D select streams

hier ist bei mir meist englisch als default eingestellt; ich will aber dass der Film immer in deutsch startet. Das kann man hier einstellen.

3 BD3D2MK3D title

hier muss man den Titel nochmal eintragen. Die BluRay hat hier meist den englischen Namen stehen, deshalb trage ich hier den nochmal in deutsch ein.

4 BD3D2MK3D cover

Hat man bei MakeMKV auch das Bild mit exportiert, kann man es hier sehr einfach mit "From MKV" auswählen. Das ist aber optional.

4 BD3D2MK3D options

Der letzte Schritt ist der wichtigste. Hier wird das Zielformat eingestellt.

Oben wählt man das Format aus. Ich nehme hier Full-SBS, damit die volle Auflösung beibehalten wird. Bei Half-SBS wird das Bild halbiert, damit es in das Full-HD Format passt. Das Ziel hat in diesem Fall dann die Standardgröße von 1920x1080. Bei Full-SBS sind es 3840x1080. Also den Haken bei dem "Half" wegmachen. Es kommt dann auch ne grössere Warnung, aber das ist alles in Ordnung.

Als nächstes sind die h265 encoder Einstellungen. Sind hier nur h264 Einstellungen zu sehen, dann muss man im Menu den Encoder auf h265 umstellen:

4 BD3D2MK3D options 265

Grundsätzlich ist es so, dass dieses codieren verlustbehaftet ist. Da jetzt beide Bilder nebeneinander liegen, und die Frames einzeln dann komprimiert werden, muss man hier auf einen deutlch höhere Qualitätsstufe gehen, damit man nicht zu viele Fehler bei der 3D-Ansicht nachher sieht. Ich fand den default von 28 deutlich zu schlecht, und bin deshalb auf 20 gegangen. Damit wird das Video ungefähr 70% kleiner.

Zum Schluss gibt man noch ein Temp-Verzeichnis an (dort werden die Zwischenergebnisse abgelegt) und dann das Zielverzeichnis für die fertige Datei.

Dann kann es mit "Do it!" losgehen.

jetzt dauert es. Auf meinem Rechner hat 1h Film so 8h zum codieren gebraucht.

Und am Ende hat man nun das fertige Full-SBS-3D-Video.

Eine Besonderheit ist hier ggf zu beachten: Das MKV hat als Format 16:9 eingestellt obwohl es eigentlich doppelt so breit ist. Das führt dazu dass mein Player (MPC-HC) auf dem PC den Film zusammenstaucht. Davon sollte man sich nicht irritieren lassen.

4. Film auf der Quest abspielen

Ich persönlich habe mir den 4XVR player gekauft (ist mit 30EUR nicht ganz billig) aber dafür wird dann das Abspielen von AVC/MVC Dateien freigeschaltet, und man kann von SMB-Shares streamen. Das hilft beim Vergleich zwischen original und dem FSBS Video.

Man kann den Film per SideQuest auf die Quest in den Ordner Movies kopieren. Dann kann man ganz ohne PC den Film auf der Quest anschauen.

Bigscreen

Bigscreen kann die Files auf der Quest direkt abspielen; einfach lokales File auswählen. Dazu in "My Room" → "Video Player" → "local Video Files" auswählen. Dann kann man sich den Film alleine anschauen.

Teilen kann man den Film so leider nicht.

Das Teilen eines Videos geht nur über einen PC. Dazu muss man sich die Sharing-Software von Bigscreen auf einem PC installieren. Dann kann man das File auf dem PC in Fullscreen in 4k starten (Es macht nichts wenn es auf dem PC verzerrt ist!) und dann kann man den Desktop sharen. In Bigscreen kann man dann einstellen dass es SBS ist, und die Bitrate wählen.

Da bei der Übertragung der Bildschirminhalt neu komprimiert wird, hat man auf jeden Fall Qualitätseinbußen im Vergleich zum Abspielen einer lokalen Datei. Um die Verluste zu reduzieren sollte man eine möglichst hohe Bitrate wählen. 5 MBit ist ganz ok. 3 Mbit geht grade noch, und drunter ist eher schlecht.

Andere Player auf der Quest

Es gibt auch viele andere Player auf der Quest; ich habe aber nur den 4xVR und Bigscreen ausprobiert. Das FullSBS sollte auch bei anderen Playern keine grösseren Probleme bereiten.

Die FSBS-Datei kann der 4XVR Player auch ohne bezahlen lokal abpielen.

PC abspielen

Ich benutze auf dem PC den MPC-HC Player. Da hier immer beide Bilder angezeigt werden, kann man unter "PnS Frame adjust" → "Profil Bearbeiten …​" sich ein Profil anlegen, dass nur das linke Bild anzeigt. Dann kann man sich auch auf dem PC den Film in 2D anschauen:

MPC HC left