MLV App

01 mlvapp

(english version of this tutorial: https://seescho.wordpress.com/tutorial-englisch/)

Vorwort

Die Vorgehensweise, die in diesem Artikel beschrieben wird, wurde getestet auf folgenden Linux-Versionen:

  • openSUSE Leap 42.3
  • openSUSE Tumbleweed
  • kubuntu 18.04 LTS

Andere Linux-Distribution wurden von mir nicht getestet. Die prinzipielle Vorgehensweise ist dort zwar vergleichbar, der genaue Weg wird aber ein anderer sein (Anderer Paketmanager, andere Paketquellen, andere Paketnamen….). Hier ist dann eure Kreativität gefragt 🙂

Einleitung

MLV-App ist eine Anwendung, mit der MLV-Rohvideos (Magic Lantern) decodiert, bearbeitet und exportiert werden können. Im Moment wird der Export in folgende Formate unterstützt:

  • prores
  • rawavi (brauch ich für meine Astro-Bilder)
  • h264
  • h265
  • cdng
  • tiff
  • png (aktuelles Vorschauframe)
  • MLV (ohne Audio)
  • DNxHD
  • DNxHR

Wo gibt es MLV-App für Windows und für MacOS?

MLV-App kann von der github-Seite des Projektes heruntergeladen werden:

https://github.com/ilia3101/MLV-App

In der Abteilung „Releases“ findet man aktuelle lauffähige Versionen für Windows und MacOS.

Das Programm ist selbsterklärend. So erübrigt sich eine Bedienungsanleitung. Fragen können im Magic Lantern Forum geklärt werden:

http://www.magiclantern.fm/forum/index.php?topic=20025.0

Und was mach ich, wenn ich Linux habe?

Ganz einfach: Auch unter Releases nachschauen. Dort gibt es ein appimage für Linux.

Und wer MLV-App selber kompilieren will, darf dies selbstverständlich auch tun. Dann ist man immer auf dem neuesten Stand, auch zwischen den Releases.

Zwischenspiel

Selber kompilieren!!!

Ich meine fast, euren Herzschlag bis hierher pochen zu hören. Und wenn ich genau hinschaue: Ist das Angstschweiß dort oben auf eurer Stirn?

Glaubt mir, ihr könnt euch entspannen. Denn dieses selber kompilieren ist gar nicht so schwierig, wie es klingt. Ich helf euch dabei…

Packen wir es also an!

Die Vorgehensweise für Linux

  • System mit einer Entwicklungsumgebung ausstatten
  • Sourcecode herunterladen
  • Kompilieren
  • Fertig

Die Enwicklungsumgebung

Um Kompilieren zu können, muss ein Haufen Zeugs installiert werden. Ich erzähl nicht im Einzelnen, was das alles ist. Denn es gibt ein Programm, welches dieses ganze Zeugs mitbringt: QT-Creator

Schaut vielleicht ein wenig overdressed aus, eine so mächtige Anwendung wie QT-Creator zu installieren, nur um ein wenig kompilieren zu könnnen. Ist aber ein ziemlich einfacher Weg. Denn dadurch reduzieren sich unsere Vorbereitungen auf wenige Schritte:

openSUSE

  • Paketmanager öffnen (Yast – Software installieren oder löschen)
  • libqt5-creator installieren
  • libqt5-qtmultimedia-devel installieren
  • git installieren

Kubuntu

  • Paketmanager öffnen (Muon)
  • qtcreator installieren
  • qtmultimedia5-dev installieren
  • qt5-default installieren
  • git installieren

Der Arbeitsordner

Wir legen uns am Besten einen Ordner an, speziell fürs Kompilieren von MLV-App. Mein Vorschlag ist: mlvapp-project

Da wir uns im folgenden etwas mit Kommandozeilen-Befehlen im Terminal bewegen werden, zeig ich euch, wie dieser Ordner mit Hilfe eines solchen Terminals erzeugt werden kann.

Also: Terminal öffnen und folgendes eingeben:

mkdir mlvapp-project

Und schon haben wir unseren Arbeitsordner im Heimatverzeichnis.

Der Sourcecode

Es gibt verschiedene Möglichkeiten, den Sourcecode von MLV-App herunterzuladen. Ich bevorzuge den Weg, das Repo mit Hilfe von git auf meine Festplatte zu clonen.

Ich möchte, daß das geclonte Repository in meinem Arbeitsverzeichnis erscheint, das ich vorhin erstellt habe. Darum wechsle ich mit „cd“ in eben dieses Arbeitsverzeichns, bovor ich mit „git clone“ den Sourcecode herunterlade.

Also: Terminal öffnen und folgendes eingeben:

cd mlvapp-project
git clone https://github.com/ilia3101/MLV-App.git MLV-App-master

Im  Arbeitsverzeichnis ist damit, wie durch eine Wunder, ein Ordner mit dem Namen MLV-App-master aufgetaucht.

Kompilieren

Geht schnell, nicht war? Schon sind wir beim Kompilieren angelangt.

Zum Kompilieren wechsle ich in das Verzeichnis MLV-App-master/platform/qt. Dann ist wieder das Terminal angesagt.

Leider unterscheiden sich hier openSUSE und Kubuntu in ihrer Syntax:

openSUSE

cd $HOME/mlvapp-project/MLV-App-master/platform/qt
qmake-qt5
make
make install

Kubuntu

cd $HOME/mlvapp-project/MLV-App-master/platform/qt
qmake
make
make install

Fertig!

Das $HOME oben steht übrigens für:

/home/dein-username

Zwischenspiel

Ich weiß nicht, wie hoch eure Pulsfrequenz inzwischen geworden ist. Ich weiß nicht, wie viele Taschentücher, getränkt mit eurem Angsschweiß, ihr schon ausgewrungen habt. Ich kann es nur ahnen.

Euer Atem geht nun kürzer. Auf dem Schreibtisch haben sich ersten Pfützen gebildet, reichlich versorgt vom nun triefenden Schweiß.

Kompilieren! Wenn es doch nur schon vorbei wäre…

Es ist vorbei…

Freunde, ihr könnt euch zurücklehnen und eine gepflegt Flasche Bier aufmachen. Denn es ist schon vorbei, das Kompilieren. Und ihr habt es nicht einmal so richtig gemerkt.

Fehlt noch ein Neustart des Computers für das neue MLV-App-Icon und gut isses.

Anwendungsmenue

Im Anwendungsmenue befindet sich nun im Bereich Multimedia die MLV-App. Ein Klick darauf startet die Anwendung.

 

Einige Interna

Desktop-Datei

Ich habe gerade erzählt, daß sich im Anwendungsmenue im Bereich Multimedia die MLV-App befindet. Nun, das ist nicht ganz richtig. Was man dort findet, ist vielmehr ein Starter für MLV-App.

Solch ein Starter wird Desktop-Datei genannt.

Die Erstellung der Desktop-Datei erfolgt hier bei uns nach dem Kompilieren mit dem Befehl make install. Dabei wird folgendes installiert:

  • Desktop-Datei: $HOME/.local/share/applications/mlvapp.desktop
  • Icon: $HOME/.local/share/icons/hicolor/512×512/apps/MLVAPP.png
  • bin-file: $HOME/mlvapp

Die Desktop-Datei ist eigentlich nichts anderes als ein kleines Text-file, in dem alles Wichtige steht, zum Beispiel:

  • Konsolenbefehl für den Programmstart: mlvapp
  • Name der Icon-Datei: MLVAPP
  • Kategorie im Anwendungsmenue: AudioVideo (Multimedia)
  • und einiges mehr.

Die Desktop-Datei kann vom Anwendungsmenue an eine beliebige Stelle kopiert werden, zum Beispiel auf den Desktop.

ffmpeg

MLV-App benötigt ffmpeg zum Konvertieren der Videos und liefert es auch gleich mit. ffmpeg wird automatisch ins Verzeichnis $HOME/bin entpackt.

Nun ist es durchaus nicht unwahrscheinlich, daß mehrere Versionen von ffmpeg auf dem System herumgeistern. Vielleicht hatte eine frühere Multimedia-Installation ffmpeg in ihren Abhängigkeiten. Eine solche, systemweit installierte Version von ffmpeg, findet man dann in der Regel im Verzeichnis /usr/bin.

Tja, woher weiß nun der Computer nun, welches der beiden ffmpeg´s er für MLC-App verwenden soll?

$PATH

MLV-App startet intern ffmpeg ohne Pfadangabe, also schlicht mit dem Konsolenbefehl ffmpeg. Damit kommt die Envirement-Variable $PATH ins Spiel.

$PATH enthält diejenigen Verzeichnisse, die der Computer durchsucht, wenn ein Programm ohne Pfadangabe aufgerufen wird. Dazu durchsucht er $PATH von links nach rechts. Das erste fmpeg, das er findet, wird verwendet.

Schauen wir uns das nochmal genauer an. Der Inhalt von $PATH lönnte so aussehen:

echo $PATH
/home/dein_username/bin:/usr/local/bin:/usr/bin:/bin:/usr/lib/mit/sbin

Ganz links befindet sich $HOME/bin mit dem „MLV-App-ffmpeg“. Erst weiter rechts entecken wir /usr/bin, das Verzeichnis mit dem openSUSE-ffmpeg.

Da $PATH von links nach rechts durchsucht wird, kommt, wie gewünscht, das „MLV-App-ffmpeg“ zum Zuge.

Falls der unwahrscheinliche Fall eintreten sollte, daß $HOME/bin nicht weit genug links steht oder vielleicht sogar fehlt, dann müssen wir den Inhalt von $PATH von Hand korrigieren. Anleitungen, wie das funktioniert, gib es im Web zur Genüge.