Bei Linux am Dienstag hatten wir jetzt zwei Wochen lang SpaĂ mit 3D Bildern, da wird es Zeit Euch daran teilhaben zu lassen đ In Teil 1 der neuen Miniserie, befassen wir uns mit Bino, dem 3D-Videoplayer. Dann mit FFMPEG und den spannenden Möglichkeiten, die sich damit bieten.
Bino: der 3D Videoplayer
Wer war schon in den 80ern auf der Welt und hat noch eine Rot-GrĂŒnbrille von Damals? đ Die, oder besser die moderne Version in Rot-Cyanblau, werdet Ihr gleich brauchen:
BINO kann aus 2D Material 3D Material machen, aber das kostet uns etwas.
Das hier angewandte Verfahren, analysiert die Pixelbewegung zwischen zwei aufeinander folgenden Bildern. Je nach der Geschwindigkeit der Pixelbewegung, also wieweit die in einem Frame gekommen sind, werden die zwei Bilder zu einem Mischbild verrechnet und die bewegten Pixel in Rot bzw. Cyanblau eingefĂ€rbt. Man sieht das ja oben im Bild. Durch die Brille sieht man jetzt jeweils auf einem Auge nur eine der beiden Farbe, die sehr genau ausgefiltert sein mĂŒssen, damit möglichst viele andere Farben in dem Bild „sauber“ durchkommen.
Wer sich das Bild oben ohne Brille ansieht, der erkennt das natĂŒrlich sofort đ mit Brille sieht das schon viel „besser“ aus. Achtet bei dem Testbild mal auf die Schulter von der Person im Vordergrund, die springt mit Einsatz der Brille förmlich vom Hintergrund weg und der 3D Effekt zeigt sich ganz deutlich.
Verluste sind eingepreist
Um diesen Effekt zu bekommen, werden ja zwei Bilder verglichen. Leider ist der von Bino eingesetzte Algorithmus nicht der allerbeste, was als Konsequenz bedeutet, wir verlieren 50% der Frames. Bei einer 30 FPS Aufnahme, fÀngt das Bild beim Abspielen dann an zu rucken wie in den 10er Jahren des letzten Jahrhunderts. Das ist weniger schön, aber kompensierbar, wenn man 60 FPS Material benutzt. Es verursacht auch auf Dauer böses Kopfweh.
Aufgrund der eingesetzten Methode durch bestimmte Farben, sieht das Bild nicht mehr normal aus, deswegen hat man ja dann in den 2000er Jahren die PolarisationsglĂ€ser im Kino eingesetzt, die das Farbsehen nicht beeinflussen. Auf einem normalen Monitor kann man solche Brillen aber nicht einsetzen, dazu braucht es dann spezielle 3D Monitore, die mittlerweile ziemlich rar gesĂ€t sind. VR Brillen fĂŒllen diese LĂŒcke, sind aber finde ich, zu teuer um sich da mal einen SpaĂ zu machen.
Dem Algorithmus is auch geschuldet, daĂ Bildteile, die sich nicht bewegen, keinen 3D Effekt erzeugen. Das kann Bino aber ein bisschen ausgleichen in dem es eine Kantenerkennung einsetzt und dort perspektivische Pixelverschiebungen erzeugt:
Den Parallaxenwert zu hoch zusetzen ist sinnlos, 0,01 – 0,05 reichen völlig aus fĂŒr einen Tiefeneindruck. Dieser kleine Trick macht das Erlebnis etwas besser, ist aber zu einem Film, der in 3D gedreht wurde, kein Vergleich.
Bino kann aber noch mehr
Bino kann als Bildquelle auf Webcams benutzen, so daĂ man sich, oder etwas, in 3D bewundern kann, vorausgesetzt man bewegt sich ausreichend đ Leider kann man das Bild nicht live exportieren, also nicht in einer Videokonferenz benutzen. Das ist aber die perfekte Ăberleitung zum nĂ€chsten Artikel der Serie: „Mit FFMPEG zur Live 3D Videokonferenz“ đ
Programmtechnisch hat Bino leider auch noch ein paar kleine Bugs, z.b. muĂ man alle Werte neu setzen, wenn man einen neuen Film lĂ€dt. Auch macht die GUI nicht mit, wenn man ĂŒber das MenĂŒ einen Film laden will, werft den stattdessen via Drag&Drop auf das Programmfenster, das funktioniert zuverlĂ€Ăig.
Update: Teil 2
Pingback: FFMPEG: 2D zu 3D in Echtzeit - Marius Welt