Author Topic: MLV App 1.14 - All in one MLV Video Post Processing App [Windows, Mac and Linux]  (Read 1401997 times)

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
Color matrices are read in NLE like resolve isn´t it? Not forward matrices but the other one I think...
Are you sure? I am not sure if blackmagic corrects inoffical files from Canon camera's. The only way I know is to add a LUT - but the only MLRaw LUT I know is for EOS 5D Mark III, and this one produces slightly different looks for other EOS camera's.
5D3.113 | EOSM.202

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
I think it needs to, or colors will look like russian roulette  :-*

ricardopt

  • Member
  • ***
  • Posts: 142
Hi Masc and Danne, thanks for the input, mlvapp has a lut option, my question was because of it, do i need to set to linear and then import the lut? On premiere/resolve the user brings the footage to the NLE and then uses the lut and export.

with mlvapp i still need to choose a processing profile, and then the lut or is it best to set to linear and bypass the processing profile?

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
As in any NLE / grading tool you have to convert your footage to the right input profile, the LUT needs to work correctly. To know what is "right", see documentation of the LUT (might be a log profile, BMD Film, linear, ...).
5D3.113 | EOSM.202

ricardopt

  • Member
  • ***
  • Posts: 142
Thanks for the info/enlightenment/help Masc.

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
I see. Maybe enable preview after each export, let the first frame appear, then disable while exporting until next file and so on?
Prolonging this idea, a moving preview window following export frames like in after effects as optional would be nice too ;)  8) :P
See MainWindow.cpp line 205. Comment it out and it will show the first frame for the current clip in export with some extra processing time.
Moving preview window is difficult, because viewer and export are two independant processing pipelines, one at 8bit going to the viewer and scopes, one at 16bit going to ffmpeg/AVFoundation output. So atm we would have to process each frame twice with a small change @ half speed. And this would only work for AVFoundation and ffmpeg output.
5D3.113 | EOSM.202

aulden

  • New to the forum
  • *
  • Posts: 13
Would it be possible to add a feature which could virtually export the processed MLV files as DNG sequences, like MLVFS does?

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
Would it be possible to add a feature which could virtually export the processed MLV files as DNG sequences, like MLVFS does?
I don't think it is possible, to a couple of reasons. It might be possible when 100% adding MLVFS into MLVApp... but why one should do that? This would just rise complexity and build many bugs on both sides. So we should just use MLVFS as it is.
5D3.113 | EOSM.202

ilia3101

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1004
Hm... I don't like ugly. So I tried to double the precision for waveform monitor. And resizing transformation is set to "smooth". Looks not so bad I think, but needs a bit more time for processing - at least if the scope is bigger or if set to waveform / rgb-parade.



Hope you like it and can live with that. The change was bigger than expected. ;)

Thanks for this!!! Looks really really good

escho

  • Contributor
  • Hero Member
  • *****
  • Posts: 563
Hallo
it´s some time ago, I worked with mlvapp the last time. Today, I cloned the sourcecode from github and tried to compile it. But it failed. Looks like some things have changed in the last few months. I will search for the error later and report.
In the meantime:
"platform/qt/FFmpeg" contains a zero bit file called ffmpeg. This file make problems, using tar and wildcards on Linux. What is this file for? Is it necessary or could you delete it from the sources?
Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
Hi escho,
nice to hear from you! ;) I compiled the latest revision on OSX and Windows without problems, but did not try Linux. In the .pro there are 2 linux versions available. You must comment in / out the one which fits for you (one is for appimage, one for normal use). The empty ffmpeg file is also just for linux, because if the file does not exist, the compiler fails - this was strange, but with this file it worked fine for me. (had something to do with Qt on Linux, which verifies if all files to install after compilation are there, before unpacking them, or something like this)
You should comment in after line 297 and comment out after line 310. I always need the empty file for the line 310+ commented in... maybe that's the problem? (Try to delete it, please.)
5D3.113 | EOSM.202

escho

  • Contributor
  • Hero Member
  • *****
  • Posts: 563
Hallo masc

I would love to be more often in here, but I´m not the master of my time atm. But I can see a light at the end of the tunnel. "Technische Rufbereitschaft" till monday morning. And then: vacation. One week Berchdesgaden, two weeks working on my observatory: https://sternenkarten.com/2019/06/08/neues-von-der-sternwarte-fundamentloch-fur-die-betonsaule/ :)

I compile for normal use, not for the appimage. Yes, I see in the code for the appimage, that you make this empty file executable and use it other way too. No clue, why this is necessary. I don´t know linuxdeployqt...

I can only speak for openSUSE Tumbleweed:

Line 307 in the .pro file forces the unpacking of the Linux-Version of ffmpeg, which is shipped with mlvapp. But the linux-Version is newer than the version from my last compiling some months ago. But this line is specified for unpacking the  "old" ffmpeg-version. So I changed the line to cover updates of ffmpeg in the future:

Code: [Select]
QMAKE_POST_LINK += tar -C $$(HOME)/bin -xvJf $$_PRO_FILE_PWD_/FFmpeg/ffmpegLinux.tar.xz --strip-components=1 --wildcards */ffmpeg
The differece is the wildcard in the archive. Looks similar to the tar-line, which is used for the appimage.

But, unpacking ffmpeg does not run on my system, if this empty ffmpeg-file exists. If I delete it, all is fine and ffmpeg goes to ~/bin.
I wrote a little script for cloning and compiling mlvapp. So I will change my script and let it delete this ffmpeg-file before compiling. So, no problem for me.

Could you change Line 307 to the new version, please?

I found another hickup, which make ploblems on compiling. I will tell later about it. Now the "Rufbereitschafts-Handy" said: ring, ring. I must go to work...

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
Thank you, escho!
I commited your change, hope it works (can't try here). Strange, that you have to delete the file to make it work, and for building the appimage it has to be there to make it work. No idea, if we could automate this any better. You run your script before loading the .pro into Qt?
Looks interesting with the work for your observatory! :)
5D3.113 | EOSM.202

escho

  • Contributor
  • Hero Member
  • *****
  • Posts: 563
Thanks for commiting, masc. The ffmpeg-stuff works now here.

My script looks like this, now:

Code: [Select]
#!/bin/bash

# Installationsscript für mlvapp
# Für Linux openSUSE Tumbleweed
#

# Start des Scriptes im Terminal mit sh...
#
# sh mlvapp-clone.sh
#
# Nicht als root ausführen
#
# ********** Benutzung auf eigene Gefahr *****************

set -e #exit on error

if [ $HOME = "/root" ]
then
    echo
    echo "********************************************"
    echo "***    Script nicht als root starten!    ***"
    echo "***              Abbruch                 ***"
    echo "********************************************"
    echo
    exit
fi

################################# preparation ###################################

# --- Hauptverzeichnis ---

mkdir -p ~/mlvapp-project

################################# dependencies ###################################

echo
echo
echo "##################### Abhängigkeiten auflösen bzw. updaten ##########################"
echo
echo

# --- compile-envirement ---

sudo zypper --non-interactive install \
libqt5-creator \
libqt5-qtmultimedia-devel

echo
echo

# ------------ git --------

sudo zypper --non-interactive install \
git

echo
echo

############################### clone from github ##################################

echo
echo
echo "######################## mlvapp code clonen ##########################"
echo
echo

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

echo
echo

############################ delete zero-byte ffmpeg ###############################

echo
echo
echo "##################### zero byte fffmpeg löschen ##########################"
echo
echo

rm ~/mlvapp-project/MLV-App-master/platform/qt/FFmpeg/ffmpeg

############################### compile and install ################################

echo
echo
echo "########################### stash-file erzeugen ############################"
echo
echo

cd ~/mlvapp-project/MLV-App-master/platform/qt
qmake-qt5

echo
echo

echo
echo
echo "############################## Kompilieren #################################"
echo
echo

exit

make

echo
echo
echo "############################## Installieren ################################"
echo
echo

echo
echo

make install

################################# end ################################################

echo
echo
echo "################################## Fertig ###################################"
echo
echo

exit

I found a problem in igv_demosaic.c,  which prevents me from compiling. I will do some tests later and report then.

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
Your script is very interesting! So downloading, compiling, etc. is done with these few lines! Cool. Could be interesting for others too. Maybe we should link your post on the first post, @Ilia!?

A while ago I changed some lines in igv_demosaic... but it compiled on all three platforms here. What doesn't like the compiler? Has it to do with OMP?
5D3.113 | EOSM.202

escho

  • Contributor
  • Hero Member
  • *****
  • Posts: 563
Be careful with the script. It works only on openSUSE. In Ubuntu, the filenames are different, so it will not work there without some changes.

I will upload the script to my "Sternenkarten-site" later ( https://sternenkarten.com/ ). It´s easier for me, to hold the script up to date there. If you want to link, please link to to the file on my website. Give me some minutes ...

Yes, the compile-error is related to the parallel-stuff. But I guess, I found a solution for this problem. Will do some test and report then ...
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
Sure, take your time! ;)

Do you have openMP (OMP) installed?
5D3.113 | EOSM.202

escho

  • Contributor
  • Hero Member
  • *****
  • Posts: 563
The script is online: https://sternenkarten.com/2019/06/23/script-for-cloning-and-compiling-mlvapp/  :)

And yes, I have installed openmp
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

escho

  • Contributor
  • Hero Member
  • *****
  • Posts: 563
As I mentioned above, mlvapp does not compile here in openSUSE Tumbleweed. The reason is the pasallel-stuff in "igv_demosaic.c".

I loaded the project into qt-creator. There, the fault is easier visible. here a screenshot:

https://seescho.files.wordpress.com/2019/06/mlvapp-parallel-1.jpg

As you can see, the compiler complaine, that there are some variables, that are not specified in the parallel-part. They are these variables:

Code: [Select]
width
height
v1
v2
v3
v4
v5
v6

I followed this article on the web:

https://bisqwit.iki.fi/story/howto/openmp/#DefaultClause

and changed line 267 in "igv_demosaic.c" to

#pragma omp parallel shared(rgb,vdif,hdif,chr,tilex,tiley,rawData,red,green,blue)

And now, I can compile and run mlvapp

Edgar
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
Thanks for analysing and for your solution, @escho! So it seems openSuse has another compiler than Ubuntu... I had no problem with that before. Also funny, that your compiler brings so many warnings - my compiler brings not a single one. Maybe it is just configured differently.
Looks like the "default(none)" is not needed. In the code I found, it was included but commented out. I just commented in the parallel stuff and changed some "for" loops and it worked. So I stopped thinking about further ;)
I now added your change to the repos! Thanks again!
5D3.113 | EOSM.202

escho

  • Contributor
  • Hero Member
  • *****
  • Posts: 563
Thanks @masc. Works like a charm now.

I just found another little inconstistency. But this must wait, till I`m back from my vacation :)
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
I just found another little inconstistency. But this must wait, till I`m back from my vacation :)
Have a nice holiday! Don't forget to write about this inconstistency... ;)
5D3.113 | EOSM.202

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7741
Almost 500 downloads of the mlv_app_compiler tool for mac so I thought I reset and upload a new version  :P. Ongoing builds will however ask for update every 24 hours so no need for redownload if you already have a version downloaded. Download link in first post anyway.

Commit:

https://bitbucket.org/Dannephoto/mlv_app_compiler/commits/c264e90bd37a4e1545c856a0b3e301e04e54debe

This version will ask for downloading and updating of pixel map files continuously developed by dfort since only a few of them are included otherwise:
https://bitbucket.org/daniel_fort/ml-focus-pixels/src/default/

This question when selecting "c" or "op":


If all went successfully this:



masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 2131
Great! ;)
I like the idea of autoupdating pixel maps. Will have a look if I can do this platform independant too.
5D3.113 | EOSM.202

Jip-Hop

  • Freshman
  • **
  • Posts: 91
As bouncyball already wrote, DNG import will not be possible so easy. The internal realization is written for MLV only atm and must be rewritten just for this feature. If you find a way of packing DNGs into MLV, all DNG files MUST have the same resolution and settings, otherwise you'll get crashes only. Frame geometry and memory allocation is adapted always using metadata found in the first frame of a clip atm (and normaly it does not change).

From DNG back to MLV-App would be a useful addition in my opinion. I export my MLVs to DNG to work with in DaVinci resolve. At this point it takes up twice the storage space if I decide to keep also the MLV files. That's why I started with MLVFS, but that didn't work so well for me. So I delete the MLVs after the export. But this way I lose the ability to open them back up in MLV-App. If I later find something wrong, e.g. Focus Pixels, I can no longer fix them in MLV-App.

If MLV-App exports the MLV specific metadata to a file, together with the DNG files, then nothing is lost when the DNG's are imported into MLV-App again. But apparently it's complex to translate DNG back to MLV file format... I imagine it would be the exact same as export to DNG but in reverse :P