MLV App - All in one MLV Raw Video Processing App [Windows, Mac and Linux]

Started by ilia3101, July 08, 2017, 10:19:19 PM

Previous topic - Next topic

0 Members and 5 Guests are viewing this topic.

masc

Quote from: Danne on June 19, 2019, 11:09:34 AM
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

I think it needs to, or colors will look like russian roulette  :-*

ricardopt

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

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


masc

Quote from: Danne on June 18, 2019, 10:55:17 PM
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

Would it be possible to add a feature which could virtually export the processed MLV files as DNG sequences, like MLVFS does?

masc

Quote from: aulden on June 20, 2019, 12:09:35 AM
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

Quote from: masc on June 17, 2019, 08:43:19 PM
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

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

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

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:

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

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

Thanks for commiting, masc. The ffmpeg-stuff works now here.

My script looks like this, now:

#!/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

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

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

5D3.113 | EOSM.202


escho

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:

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

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

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

Quote from: escho on June 23, 2019, 07:13:11 PM
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

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

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

Quote from: masc on April 22, 2019, 10:03:03 AM
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