MLV-App (english)

01 App

Deutsche Version des Guides

Preamble

I tested the procedures, I show in this tutorial, with these Linux-versions:

  • openSUSE Leap 42.3
  • openSUSE Tumbleweed
  • Kubuntu 18.04 LTS

Using other Linux-distibutions, the way to go for compiling MLV-App should be similar. But the details will be different (Another paket-manager, other repositorys, other filenames…)

I didn´t test other Linux-distributions, so you will have to find the correct way yourself…

Introduction

MLV App is a tool to decode, playback, process and export MLV raw-videos (Magic Lantern). At the moment, MLV-App support these export-formats and maybe some more:

  • prores
  • rawavi (needed for my astronomy-stuff)
  • h264
  • h265
  • cdng
  • tiff
  • png (actual preview frame)
  • MLV (without audio)
  • DNxHD
  • DNxHR

I have Windows or MacOS. Can I use MLV-App?

MLV.App can be downloaded from here:

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

In tht section „Releases“, you can find executabele bin-files for MacOS and Windows.

MLV-App is self-explaining. So you don´t need a manual. If there are questions, they can be discussed here:

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

But I have Linux! What can I do?

Quite simple. Look under Releases. There is an appimage for Linux.

Or, if you want to compile it yourself, do it!

Intermezzo

Compiling! Compiling myself???

I can hear your heart beating until here. And if I watch you narrowly: Is there cold sweat dripping off your forehead?

But don´t worry! Compiling is not as difficult as it looks like 🙂 And I´ll help you.

So, let´s go….

The way to go for Linux

  • install developing tools
  • download the sourcecode of MLV-App
  • compile MLV-App
  • ready

Developing tools

In Order to compile an application like MLV-App, you will habe to install a bunch of stuff first. You have to prepare your system to be able to compile something.

But don´t fear. It´s not necessary to know all these tools, because the is an application, which bring all this stuff with it: QT-Creator

Maybe, it looks a bit overdressed, to install such a powerful application like QT-Creator only for beeing able to compile a little bit. But this is a very easy way. Installing QT-Creator reduces the preparation to some little steps:

openSUSE Tumbleweed

  • Open a package manager (Yast – Software manager)
  • install: qt5-creator
  • install: libqt5-qtmultimedia-devel
  • install: git

openSUSE Leap

  • Open a package manager (Yast – Software manager)
  • install: libqt5-creator
  • install: libqt5-qtmultimedia-devel
  • install: git

Kubuntu

  • Open a package manager (Muon)
  • linstall: qtcreator
  • install: qtmultimedia5-dev
  • install: git

The working directory

I recommand to create a working directory for compiling MLV-App. A good name for this dir would be: mlvapp-project

Since we will use the commandline now, I show you how to create such a directory, using this commandline:

Open a terminal (console) and type:

mkdir mlvapp-project

That´s all. Now, we can find a subdirectory, called mlvapp-project, in our home-dir. That´s our working-folder.

The sourcecode

There are some ways to download the sourcdcode of MLV-App. I prefer the way to clone the repo to my harddisc using git

I want this clone beeing located in the working directory, we have created some minutes ago. So I have to change into this working-directory using cd. Than I can clone it with git clone:

Open a terminal an type:

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

It´s like a miracle. Now we can find a folder called MLV-App-master in the working-directory.

Compile MLV-App

That went fast till now. So let´s go on.

We open a terminal, change into MLV-App-master/platform/q (cd), prepare the compilation (qmake (qmake-qt5)), compile (make) and install a desktp-file (make install)

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

Ready!

Btw.: $HOME is the same as /home/your_username

Intermezzo

I don´t know the frequency, your heart is beating now. And I don´t know, how many handkerchiefs, soaked with your sweat, you used till now. I think, I can see a puddle on your desk…

Oh, compiling. Dear god, let it be finished as soon as possible…

It´s over now

My friends, you can lean back and open a nice little bottle of bear. The compiling is finished, faster as you beleaved before.

You only need to restart your computer to get a nice little icon for MLV-App.

Application menue

Now you can find in the application menue under multimedia (audiovideo) the new compiled MLV-App.

Some interna

Desktop-file

I just told you, that you can find MLV-App in your application menu now. That´s not quite correct. What you can find in the application menu, is a launcher for MLV-App.

Such a laucher is called desktop-file.

We created this desktop-file for MLV-App after compiling with make install. Now you can find this in your file-system:

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

Such a desktop-file is a little text-file, containing all necessary for launching an application:

  • commandline command for launching mlvapp: mlvapp
  • name of the icon-file: MLVAPP
  • category in the application menue: AudioVideo (Multimedia)
  • and some more

You can copy the desktop-file onto your desktop, if you want…

ffmpeg

MLV-App needs ffmpeg for converting MLV-files. MLV-App ships a static version of ffmpeg with its sourcecode. After preparing the compilation (qmake), ffmpeg will automatically by unpacked into $HOME/bin.

It´s not that unlikely, that we have another version of ffmpeg in our system (maybe as dependency of another multimedia-installation, we did sometime). This version of ffmpeg is commonly be located in /usr/bin.

Fine! But how does the computer now know, which version of ffmpeg he shall use for MLV-App?

$PATH

MLV-App calls ffmpeg internally with the command ffmpeg (without a leading path). That´s where the envirement-variable $PATH comes into the game.

$PATH contains the directories, where the computer is searching for an application, if this application was started without a leading path. The content of $PATH will be searched from left to right. The first ffmpeg found will be used.

Let´s look at this a bit closer. The content of $PATH could look like this:

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

At the very left, there is our $HOME/bin (that with the MLV-APP-ffmpeg). More at the right side we see /usr/bin (that with the openSUSE-ffmpeg).

$PATH will be searched from left to right. So our MLV-App-ffmpeg will be found first and used. That´s all, what we wanted.

It can be possible, that $HOME/bin is to wide at the right side or doesn´t exist at all. In this case, we have to change the content of $PATH manually. There are many guides in the web, how to do this.