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 3 Guests are viewing this topic.

Danne

@masc
Highlight reconstruction. Wow. Works really good.

Tested with and without audio again. It seems the temp file is created and also the wav file. I think it´s something when renaming that doesn´t work and so the temp files are erased leaving me with an empty folder. With audio unticked I get a perfect prores444 mov file. Could you tell me where to put in some msleep 3 or something before files are erased so I can check what´s going on?

Some other thingy. When pressing hide button to hide Mlv app window it always comes back with show session area and show edit area unselected so I need to do s, and e to get them back.
Speaking of characters. Shouldn´t they be 's' and 'e' not 'S' and 'E'?

masc

@Danne: comment out line 1821 and 1824 of MainWindow.cpp, then no file will be deleted. //file->remove();

Haha, nice bug... thanks for reporting. That seems to be a Qt thing. Official MLVApp v0.15 hasn't the bug (uses Qt 5.7.0). If I compile the same revision with Qt 5.9.4, the bug is there. So something seems to be different in the libraries what causes this behaviour. I also found the lines where it happens, but I have no solution yet.
5D3.113 | EOSM.202

Danne

Cool, you nailed down the bug. If I get the time I try and downgrading my QT.

Here´s some unscientific frames of fast fiddling with sliders in Mlv app and using dualiso files. It´s really good and intuitive. 11bit files works great too. Filmed with eos 100D 3x zoom mode 2520x1080 working with the sd_uhs.mo module from a1ex:

11bit


12bit


14bit


So, what´s next. color sliders for blue,yellow,red and so on like in acr? Would be so cool to be able to manipulate colors. Or maybe a slider for midtones?

Anyway. Thanks Ilia3101, masc, bouncyball for your masterpiece.

masc

Quote from: Danne on April 20, 2018, 12:54:31 PM
Cool, you nailed down the bug. If I get the time I try and downgrading my QT.
Fixed... you don't need to downgrade ;)

Quote from: Danne on April 20, 2018, 12:54:31 PM
So, what´s next. color sliders for blue,yellow,red and so on like in acr? Would be so cool to be able to manipulate colors.
When I started helping with this tool, Ilia was asking me if it might be possible to add colorwheels. Some weeks ago I created them. But I don't know if Ilia works on the processing code regarding this (I don't think so). There will be a lot to do ;)

You can comment it in and play around... but you won't change anything in the picture... search for ui->groupBoxColorWheels->setVisible( false );
And there are some more lines like that in the code with other planned features :P

Quote from: Danne on April 20, 2018, 12:54:31 PM
Anyway. Thanks Ilia3101, masc, bouncyball for your masterpiece.
Haha, thanks ;)
5D3.113 | EOSM.202

Danne

Wow. Those color wheels needs in! That would really give us flexiblilty and creativity.

Tested your latest code but the mov file is still deleted unfortunately, hmm

masc

Quote from: Danne on April 20, 2018, 01:20:02 PM
Wow. Those color wheels needs in! That would really give us flexiblilty and creativity.

Tested your latest code but the mov file is still deleted unfortunately, hmm
Yes, would be cool!

You tried commenting out that:
https://www.magiclantern.fm/forum/index.php?topic=20025.msg200288#msg200288

Then please export a file without audio, rename in Finder from YourFile.mov to YourFile_temp.mov, then enable audio export and export again YourFile.mov. If that works, Qts rename fails (I don't think so, because I never delete the original file name), if not, there is a ffmpeg problem.
5D3.113 | EOSM.202

Danne

Tried your suggestion and audio isn´t merged. All file is separated so it has to be merging(renaming step that fails. Probably not ffmpeg since you have it working. I also tried another version myself here, still didn´t work:

Danne

Is there a way to check ffmpeg output by the way? Surely this could be an issue if command breaks. Can one put ...INPUT.mov 2> checkfile in your ffmpeg code?

masc

Comment out line 1810. Then you'll have ffmpeg output in Qt application output.
Edit: could you try latest revision? Had a quick idea...
5D3.113 | EOSM.202

bouncyball

@masc

Quote from: masc on April 20, 2018, 01:01:50 PM
When I started helping with this tool, Ilia was asking me if it might be possible to add colorwheels.
Also show the gradient tool to Danne please, it's so cool :)

Danne

Gradient tool. I was thinking that too but didn´t want to ask  :P

masc

Quote from: bouncyball on April 20, 2018, 03:40:50 PM
@masc
Also show the gradient tool to Danne please, it's so cool :)

To play with, search for ui->groupBoxLinearGradient->setVisible( false ); comment out and have fun. But also this one does nothing with your picture. But you can paint, drag, change values,...
5D3.113 | EOSM.202

Danne

No time for testing gradient thingy right now unfortunately.

Hey masc! You fixed audio!! Just tested latest :)

Latest version(mac)
https://bitbucket.org/Dannephoto/magic-lantern/downloads/MLV%20App.app.zip

50mm1200s

I don't want to sound like an idiot or something, but: I think there's a better way to put the efforts than colorwheels and gradient tools, don't you guys think? I can be wrong but I think most people don't do color grading on a software like MLVApp. It think the target public is using it mostly for simple conversion or log conversions, not for primary color grading...
For example, a color space management would be *very* useful. Lens correction through LCP profiles too (would fix the issue some other guy posted on the forum, with magenta fringe in highlights). A tone mapping operator like the "fattal method", to recover informations in highlights/shadows. So on...
Sorry if I seem rude, I can't write "gently" in english, it's not my mother language.

Danne

Sounds like you havn´t been working with this tool tbh @50mm1200s.
More control will always be welcome imo. It also feels like a natural step to be able to do this before batch conversion.
My 50 cents...

masc

Quote from: 50mm1200s on April 20, 2018, 04:03:21 PM
It think the target public is using it mostly for simple conversion or log conversions, not for primary color grading...
The main idea was to build up a easy color correction and grading tool for MLV files which brings good quality, and this also was the main fun in putting so much work in it. ;) Atm I like more using MLVApp than Resolve or ACR, because I get a better quality with it (for my files and how I use it the most).
Then the other features came across, like exporting raw from raw...
5D3.113 | EOSM.202

50mm1200s

Quote from: Danne on April 20, 2018, 04:07:07 PM
Sounds like you havn´t been working with this tool tbh @50mm1200s.

I use it professionally every week for some time now. It works well.

Quote
More control will always be welcome imo. It also feels like a natural step to be able to do this before batch conversion.
My 50 cents...

I didn't say more controls are not welcome. I said the devs efforts should be put in more important things. That's why projects like rawtherapee have a roadmap... maybe that's a good idea for mlvapp? I don't think there's enough people working on this, but, still.

bouncyball

@masc

Yup, first of all we do this for ourselves :) and we are glad with what it presently does.

However we're gonna appreciate the help from anyone on color management etc... ;)

Danne

Hi @Ilia3101, @masc, @Bouncyball.
Since I use this application a lot more lately I was thinking of the idea to integrate and execute a shell command from within Mlv App. Since we are able to export to mov or tiff files I would like to execute a HDR script after I produced the mov/tiff files. The idea is that the script starts before "Exports are ready!" is executed.

Here is a script example that if executed beside mov files it will apply aligning through hugin, scale and export through ffmpeg, do fps interpolation if needed, drop frames etc also through ffmpeg and results are merged and ready HDR files back to mov file prefixed with HDR_. Multiprocessed. Double click following file next to an HDR mov file(or a normal mov just to test):
https://bitbucket.org/Dannephoto/magic-lantern/downloads/HDR_MOV.command

Right now all variables and values in the script are sent to either /tmp or within the script folder but you can tweak any setting in there so nothing is written in stone. There is also a tiny sub menu which will kill processing if wanted. The script will also ask for downloading any missing dependency.

As a first idea i´d like to know if the script could get chmod privileges though QT and/or and some suggestions how to execute the script. Also wonder if it´s possible to run the script from MacOS folder from inside Mlv App and then we would need both the mov folder path and the MacOS path specified. In Switch for example I just do following to get content from it from inside Switch:
. path/to/switch/HDR_MOV.command

bouncyball

I think this will be a bit more complicated than at a first glance, I mean Linux/Window versions.

Danne

Yes. For now it´s an idea that is not supposed to reach mainline. A fork/branch...

Danne

Progress  :P
            //AVFoundation
            startExportAVFoundation( m_exportQueue.first()->exportFileName() );
QProcess process;
process.startDetached("/bin/sh", QStringList()<< "/Users/dan/Desktop/test/HDRMOV/HDR_MOV.command");

Danne

Ok, complete noob here. This gives me the path to where ffmpeg is etc:
        {
            //AVFoundation
            startExportAVFoundation( m_exportQueue.first()->exportFileName() );
    QProcess process;
    process.startDetached("/bin/bash", QStringList()<< "HDR_MOV.command");
        }

So how do I find exports folder containing the actual mov files?  Would be great if I could have both the application path but also where the files are located so I could let the HDR_MOV.command do its thing in correct folder...

masc

@Danne:
Yes, the main problem is to stay cross platform. To make such features macOS only, we need many #ifdef ... that makes readability much harder.

But to answer your questions:
The path where ffmpeg is inside the app package: QCoreApplication::applicationDirPath()
The export path is: QFileInfo( m_exportQueue.first()->fileName() ).absolutePath()
You can trigger a script with:
QProcess proc;
proc.execute( commandString );
5D3.113 | EOSM.202

Danne

Thanks masc. Yes platform issues is one thing but I just want to test for myself here :). And maybe I eventually can dig in and help in qt code.

QFileInfo( m_exportQueue.first()->fileName() ).absolutePath()
Is it possible to print exports path folder into a txt file?

I use this to get the script executable rights and start it from application path:
    QProcess process;
    process.startDetached("/bin/bash", QStringList()<< "-c"
                       << "chmod u=rwx HDR_MOV.command");
    process.startDetached("/bin/bash", QStringList()<< "HDR_MOV.command");

However, the script needs to find where the folder with files is located. Can´t really see how I can get this into a txt file.

I need something like following run from inside the folder with files:
echo $PWD > path