Wie hier bereits angekündigt, möchte ich meinen MovieStarter vorstellen.
Es handelt sich um ein (gar nicht mehr so kleines) Programm, dass sich vor den eigentlichen Player schaltet. Dem MovieStarter wird also ein Pfad zu einer Filmdatei übergeben und dieser startet dann den Player. Vor dem Filmstart bereitet er die Umgebung vor, benachrichtigt Aktoren und setzt alles nach dem Schließen des Players wieder zurück. Damit ist es quasi transparent, von wo aus der Film gestartet wird.
Motivation
In unseren Heimkinos haben wir es mit einer Vielfalt von verschiedenen Seitenverhältnissen zu tun. Panelauflösung, Leinwand und Maskierung sind nur die offensichtlichen. Das bringt eine gewisse Komplexität und allerlei Probleme mit sich, so dass man häufig mitten im Film etwas korrigieren muss. All diese Probleme adressiert der MovieStarter. Ziel ist, dass er die gesamte Umgebung automatisiert vor dem Filmstart in die richtigen Zustände versetzt und dies nach dem Film wieder zurücksetzt. Und das auf eine transparente Art und Weise und ohne grafische Oberfläche.
Was spricht gegen madVRs Erkennung?
MadVR hat eine eigene Erkennung des Seitenverhältnisses eingebaut. Allerdings funktioniert die nur mit Copy-Back-Hardwarebeschleunigung, was mehr Rechenleistung in Anspruch nimmt. Außerdem kann madVR nicht in die Zukunft sehen und daher kann es sein, dass sich das Format nach einigen Sekunden noch mal ändert (z.B. wenn der Film schwarz anfängt). Das umgeht der MovieStarter durch ein anderes Konzept. Außerdem hat er diverse weitere Features, die madVR nicht implementiert hat. Natürlich kann der MovieStarter mit den anderen Features von madVR genutzt werden.
Konzept
Grundlage sind eine Konfiguration für das Heimkino und Metadaten am Film. Diese Metadaten werden, sofern nicht vorhanden, vor dem Filmstart automatisch ermittelt (unter anderem mit dem hervorragenden Aspect Ratio-Detector von All-Ex ). Der Filmstart dauert dann beim ersten Mal etwas länger, dafür sitzt das Seitenverhältnis sogar bei Multiformatfilmen sofort.
Weiterhin können Aktoren konfiguriert werden, die an Bedingungen (z.B. Seitenverhältnis oder Auflösung) geknüpft sind. Diesen können beim Filmstart diverse Variablen aus den Metadaten oder der Konfiguration übermittelt werden.
Konfigurationsdialog:
Die per Analyse erzeugten Metadaten können im Nachhinein per Dialog editiert werden.
Seitenverhältnis & Maskierung
Anhand der Konfiguration und den Metadaten wird das Zielseitenverhältnis korrekt berechnet. Hier habe ich relativ viel Zeit und Gehirnschmalz investiert, um möglichst in jedem Fall den Film so darzustellen, wie es gewünscht ist. Der Player bekommt dabei die notwendigen Pan & Scan-Parameter, die er dann umsetzt. Das heißt natürlich auch, dass madVR skaliert.
Dabei wird:
- dem Player der korrekte Zoom übermittelt (derzeit nur MPC-HC und MPV)
- die Maskierungsposition gerundet und ausgewählt (oder stufenlos)
- den Aktoren das reale oder das gerundete Seitenverhältnis übermittelt
Die Berechnung der Zielparameter ist von folgenden Eigenschaften abhängig:
- Film (Automatische Erkennung bzw. Metadaten):
- Seitenverhältnis Encoding
- Seitenverhältnis Film
- Konfiguration:
- Panelauflösung
- Anamorphot Verzerrungsfaktor
- Seitenverhältnis Leinwand
- Gültige Maskierungsstufen oder stufenlos
- Vertikale Verschiebung
- Schwellwert für Vergrößern und Abschneiden
- Auch innerhalb von Maskierungsstufen
Hier ist beispielhaft gezeigt, wo schwarze Balken vorkommen können, die komplett berücksichtigt werden:
Dabei werden CIH und CIW voll unterstützt.
Es wird auch eine Verschiebung an den oberen und unteren Bildrand unterstützt, wenn das Seitenverhältnis größer ist als das Zielseitenverhältnis. Per virtueller Auflösung ist auch hier die Zeitleiste/Untertitel im aktiven Bildinhalt.
Und das Bild kann automatisch so vergrößert werden, dass es die Leinwand (bzw. die Zielmaskierungsstufe) komplett ausfüllt. Das wird über einen Schwellwert gesteuert.