021717_1338_FotoFridayX3.png

Foto Friday – Xiaomi Yi RAW Photography

Im Dashcam Forum wird (bzw. wurde) viel über die Yi diskutiert, u.a. auch über die Aufnahme von Fotos im RAW Format:

https://dashcamtalk.com/forum/threads/the-definitive-xiaomi-yi-raw-guide.13079/

Es gibt aber einige Dinge zu beachten, die ich einmal zusammentragen möchte. Vor allem als Referenz für mich selbst 😉

Zuerst einmal: was habe ich eigentlich davon? Na, eigentlich alle Vorteile, die das Fotografieren in RAW so mit sich bringt. Wenn du dich damit nicht auskennst, lass es lieber gleich :-)

Leider unterstützt mein Bildbearbeitungsprogramm (DxO Optics Pro) das RAW-Format der Yi nicht, daher hier nur in DaVinci Resolve:

Das ist das Bild als JPG out-of-camera.

So sieht es standardmäßig als RAW aus.

Die Histogramme sehen dazu so aus (links das JPG, rechts das RAW):

Nach Bearbeitung kann das RAW z.B. so aussehen:

Da ist noch mehr Spielraum, als mit dem JPG.

Aktivierung RAW Modus

Generell ist die Aktivierung des RAW Modus relativ einfach. Man erstellt im Root-Verzeichnis seiner Speicherkarte eine Datei namens autoexec.ash. Darein muss eigentlich nur eine Zeile Code:
t app test debug_dump 14
Wichtig ist aber, dass nach dieser Zeile noch ein einfacher Linefeed (LF, nicht CRLF!) folgt (hier mal die Darstellung in Notepad++):

Am besten also eine fertige ASH herunterladen und modifizieren, oder den Xiaomi Yi Configurator (XYC, von http://www.tawbaware.com/xiaomiyi.htm bzw. https://github.com/alex-agency/XYC) benutzen.

Legt man die Speicherkarte nun in die Kamera ein und macht ein Foto, so wird automatisch eine RAW-Datei zusätzlich zum JPG erzeugt.

Zum Deaktivieren einfach die Datei wieder löschen oder auskommentieren (eine Raute/Hashtag am Zeilenanfang setzen).

Welche Bildmodi möglich und welche nicht möglich ist

Man sollte beachten, dass man der Kamera nach einem Bild genügend Zeit gibt um die Daten auf die Karte zu schreiben. Das dauert meist ein paar Sekunden. Vor allem also nach dem letzten Bild etwas warten bis man die Kamera ausschaltet.

Was die Nutzung der verschiedenen Fotomodi angeht, so habe ich das mal getestet, da nicht alle Modi ein brauchbares RAW erzeugen:

  • Einzelfoto: funktioniert sowohl per Kamera als auch aus der Android App per WLAN
  • Timer: funktioniert sowohl per Kamera als auch aus der Android App per WLAN
  • Burst: braucht mehr Zeit als man ausgewählt hat (sehr schön in der App nachzuverfolgen), produziert aber keine brauchbaren RAW-Dateien (sowohl aus der App als auch bei der Auslösung an der Kamera)
  • Timelapse: bei kurzen Intervallen braucht mehr Zeit als man ausgewählt hat, produziert aber keine brauchbaren RAW-Dateien (sowohl aus der App als auch bei der Auslösung an der Kamera); hierfür gibt es aber einen Workaround, s.u.

Woran erkenne ich brauchbare RAW-Dateien?

Der Einzelfotomodus und der Timermodus produzieren RAW-Dateien, die 31.104 KB groß sind, die anderen beiden Modi produzieren 13.176 KB große Dateien (also rund 31 MB gegen 13 MB). Die 13 MB großen Dateien sind leider bisher nicht so umwandelbar, dass sie weiterverarbeitet werden können. Die sind wohl komprimiert und die Community hat bisher noch nicht herausgefunden mit welchem Verfahren, bzw. wie diese brauchbar gemacht werden können.

Zur Konvertierung der RAW Dateien gibt es nächste Woche einen eigenen Post.

Timelapse in RAW – Workaround

Jetzt erstmal zum Workaround um doch noch RAWs in einem Timelapse zu bekommen. Dazu muss man sich wieder des Skripting bedienen und die autoexec.ash etwas erweitern.

Der beste Anlaufpunkt für Skripte rund um die Yi ist wohl http://nutseynuts.blogspot.de/2015/06/xiaomi-yi-action-cam-custom-scripts.html.

Dort gibt es nicht nur Skripte für HDR-Belichtungen und Timelapse, sondern auch diverse Skripte um die Videoqualität zu verbessern.

Eines davon ist aber RAW LAPSE. Dieses erstellt standardmäßig Belichtungen von 8s im Abstand von weiteren 8s. Einfach herunterladen und die autoexec.ash auf die Kamera kopieren. Wichtig ist noch zu erwähnen, dass die Kamera im Foto-Modus starten muss und nicht im Videomodus (kann in der App über Geräteeinstellungen konfiguriert werden)! Das Skript ist hauptsächlich für Nachtfotos geeignet aufgrund der langen Belichtung. Man kann aber die Belichtung und das Intervall anpassen. Dazu sind zwei Zeilen im Skript relevant:

In Zeile 12 wird die Belichtungszeit eingestellt, in Zeile 21 die Wartezeit (das Intervall in dem aufgenommen werden soll plus die Belichtungszeit).

Die Belichtungszeit ist die 1 am Ende der Zeile und steht für 8s (bzw. 7.9). Folgende Übersicht gibt alle gültigen Werte für die Belichtungszeit aus:

Belichtungszeiten Yi (links Wert, rechts Zeit in Sekunden)
Belichtungszeiten (links Wert, rechts Belichtungszeit in Sekunden)

Die Wartezeit wird in Sekunden angegeben sollte mindestens so lang wie die Belichtungszeit plus 8 Sekunden sein, damit die Kamera genug Zeit hat die RAW-Daten auf die Speicherkarte zu schreiben. Länger kann sie ruhig sein. Kürzer habe ich nicht getestet, wenn es aber mit einer kürzeren Wartezeit nicht funktioniert, einfach mal einen höheren Wert nutzen.

Ich habe z.B. erfolgreich mit einer Belichtung von 1/1002 (Wert 1660) und einer Wartezeit von 8 Sekunden getestet.

Das Problem bei diesem Vorgehen ist, dass man das Skript einmal konfigurieren und auf die Karte kopieren muss und die Aufnahme des Timelapse startet sofort beim Einschalten der Kamera. Man hat keine Möglichkeit nachträglich die Belichtung anzupassen. Man kann sich allerdings per App mit WLAN mit der Kamera verbinden (bei Timeout einfach nochmal versuchen, das WLAN braucht eine Weile bis es fertig ist, da die Kamera ja erstmal ausgelastet ist mit Aufnahmen, je nach Intervall und Belichtungszeit) und so zumindest das Resultat kontrollieren.

Ist nur die Frage: was machen, wenn die Belichtung nicht gut ist?

  1. Der ISO-Wert ist im Skript fest auf 100 eingestellt. Eine Möglichkeit ist also einen anderen Wert oder Auto-ISO einzustellen. Allerdings ist dann auch das Bildrauschen ggf. höher.
  2. Verschiedene Skripte nutzen. Dazu hat man wiederum mehrere Möglichkeiten:
    1. Mehrere SD-Karten (naja, nicht wirklich praktisch)
    2. XIMODE: Diese Skriptsammlung ermöglicht es beim Starten der Kamera ein Skript zu wählen nur durch die Kamera-eigenen Tasten. Mehr dazu im Abschnitt unten.
    3. Zur Laufzeit? Unter https://dashcamtalk.com/forum/threads/yi-plus-a-mod-for-switching-capture-and-recording-modes.14110/ ist mit dem Programm yi_plus eine Möglichkeit beschrieben zur Laufzeit den Aufnahmemodus zu wählen (nicht nur zwischen Foto und Video, sondern auch zwischen Foto-Timelapse oder verschiedenen Video-Modi). Ggf ist es so auch möglich verschiedene andere Dinge zu tun? Da das Programm aber ein C++ ist, dessen Source nicht veröffentlich sind, ist das wohl eher keine Möglichkeit. Aber als Referenz zu yi_plus gibt es hier wohl die verschiedenen Einstellungmöglichkeiten: https://github.com/luckylz2git/Ponerine/blob/master/camerasetting.py

XIMODE

Ist ein wirklich praktisches Tool, das einem erlaubt beim Einschalten der Kamera auszuwählen, welches autoexec.ash-Skript man benutzen möchte. Erhältlich ist es gegen ein Like auf Facebook, Twitter, Googe+ oder eine kleine Spende über Paypal auf https://xs-sol.com/ximode-xiaomi-yi-modes-superview-protune/.

Einige Hinweise von mir dazu:

  • Den Nightlapse Modus finde ich nicht besonders hilfreich, da er nur ein paar Voreinstellungen macht, den Timelapse selbst muss man dann über die App auslösen (oder schon vorher die Kamera so eingestellt haben, dass sie im Foto-Timelapse Modus startet).
  • Im Nightlapse Modus wird auch die RAW Aufnahme aktiviert, was aber zu unbrauchbaren RAWs führt, da nicht die Methode von RAW LAPSE genutzt wird (Schleife im Skript) sondern wie oben beschrieben der interne Timelapse Modus.
  • Custom Skript: Man kann sich lt. Website zwei Custom Skripte anlegen, allerdings ist in der neuesten Version eines davon bereits mit YiMAX Pro (ebenfalls von nutsey) belegt.
  • Generell kann man aber eigentlich jedes Skript mit einem Custom Skript ersetzen indem man das Beispiel Custom Skript kopiert und die jeweiligen voreingestellten überschreibt (Namen belassen, so muss man nichts anderes anpassen).

XIMODE für Timelapse – Möglichkeit 1

Man kann sich dieses Tool auch für Timelapses umbauen, indem man sich einfach verschiedene Eintstellungen (ISO, Belichtungszeit, Intervall) vordefiniert.

So kann man sich auch verschiedene Belichtungen anlegen und per WLAN kontrollieren ob einem die Belichtung gefällt. Da gibt es auch wiederum mehrere Möglichkeiten:

  1. Einfach das normale RAW LAPSE mit verschiedenen Einstellungen in die anderen Skripte kopieren
  2. Eine weitere Möglichkeit wäre sich noch „Prüf-Modi“ anzulegen, in denen man erstmal nicht die Schleife startet, sondern nur ein Foto mit den Einstellungen machen lässt. Dazu kopiert man einfach das normale Skript und kommentiert folgende Zeilen aus (Hastag/Raute):

    So wird ein einziges Bild gemacht und man kann sich dann per App auf die Kamera verbinden und sich dieses ansehen.

XIMODE für Timelapse – Möglichkeit 2

Ein weiteres Feature von XIMODE ist, dass die Möglichkeit gegeben ist direkt auf der Kamera den XYC auszuführen und so eine Konfiguration quasi vom Telefon aus anzulegen / zu verändern. Das habe ich allerdings nicht ausprobiert, da man dafür Telnet auf seinem Handy installieren muss. Dazu hatte ich bisher keine Lust.