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

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

Previous topic - Next topic

0 Members and 6 Guests are viewing this topic.

names_are_hard

There are tools for finding file handle leaks.  Valgrind can do this, if you use --track-fds=yes (valgrind will make the code run *very* slow though).

ulimit -n is a per process file handle limit.  You can increase this, e.g., ulimit -n 2048.  Mac does set the default very low.  Note that changes to ulimit only work for the process you run the command in, and its children.  That means you must start MLV App from the same terminal you ran ulimit in, or it will keep using the 256 default.


masc

I tried to fix it. Here it works since hours now (macOS). Maybe someone else like to try it, also on other platforms. Download, compile, test.  8)
5D3.113 | EOSM.202

Danne

Send the tester your version. Not many users work with the darkframe function.

masc

5D3.113 | EOSM.202

Danne


bouncyball

Hello guys!

I see some nasty hickups revealed in the darkframe code. Despite I wrote this part I use this feature very seldom myself so never noticed anything unusual.
Thanks for reporting it and thanks for the patch comited by @masc.

@masc: did that help with debug messages? (indeed handle leak)

regards
bb



masc

Hi bouncyball! Nice to have you here! Yes, the debug info gave me the initial idea.. after a long time of waiting for a bug  8) . Maybe you could have a look on my changes... you probably know better if that's a good fix or not.
5D3.113 | EOSM.202

bouncyball

I already saw it. Patch looks OK! If this eliminates the issue - that's it! :D

masc

I only made a theoretical analysis and called the unload before all possible returns in this function. No idea, if that problem could exist also on other places, and if all those places work correctly. I think it is nearly impossible to test all that.
5D3.113 | EOSM.202

MotherSoraka

I tried installing qt5, but gave up in the middle of the installation.was taking years. maybe i'm doing something wrong. i don't have much experience in programing anyway

MotherSoraka

Quote from: masc on December 16, 2020, 06:56:55 PM
I tried to fix it. Here it works since hours now (macOS). Maybe someone else like to try it, also on other platforms. Download, compile, test.  8)
Wow, that was quick.
I totally underestimated you guys. Should've reported the issue mounts ago. i almost age up on MLV App.
Thank you masc.
I guess i'll just wait until someone complies the new version for windows.

masc

Quote from: MotherSoraka on December 17, 2020, 10:55:18 PM
I tried installing qt5, but gave up in the middle of the installation.was taking years. maybe i'm doing something wrong. i don't have much experience in programing anyway
Maybe you try the wrong packages. You just need these packages, and then you should hopefully be able to compile as described on github:


Quote from: MotherSoraka on December 17, 2020, 11:00:23 PM
Wow, that was quick.
I totally underestimated you guys. Should've reported the issue mounts ago. i almost age up on MLV App.
We just can fix the bugs we know ;)
5D3.113 | EOSM.202

MotherSoraka

Quote from: masc on December 18, 2020, 11:30:15 AM
Maybe you try the wrong packages. You just need these packages, and then you should hopefully be able to compile as described on github:
This was very helpful!
Stupid me was trying to download all the packages.
Okay I successfully loaded the MLVApp.pro into QT Creator but wasn't quite sure how to compile it. I "Built" it as "Release" but got the "The Code Execution cannot proceed because QT5core.dll was not found..." message trying to run the generated exe file.
So i just ran it through QT itself and processed a few clips in batch with no issues.
Further help with the compiling process is welcomed. i think i should run some more tests.

Skinny

I encountered this problem with dark frames about a year ago, but completely forgot about it... It's great that this bug being fixed!

Ilia told me to register on github and report a bug, but I never did that... First, my laptop died, and I didn't shoot more stars then. But not because of a bug or anything, but because of a fact that stars don't look good in 3x3 mode - they disappear periodically. At that time I was experimenting with other things, another camera.. It was probably very unprofessional, for which I apologize.

Anyway, you guys are great, thank you for all the work you have done! Maybe more people will shoot stars now.

masc

Quote from: MotherSoraka on December 19, 2020, 10:57:00 AM
Stupid me was trying to download all the packages.
Okay I successfully loaded the MLVApp.pro into QT Creator but wasn't quite sure how to compile it. I "Built" it as "Release" but got the "The Code Execution cannot proceed because QT5core.dll was not found..." message trying to run the generated exe file.
So i just ran it through QT itself and processed a few clips in batch with no issues.
Yapp, you just need the package for your target, the compiler and QtCreator. If you are able to start from Creator, compilation was successful. What you need now to run from outside Creator is a "deployment". This collects all needed dlls and copies them to the release folder. But I also would have to search the Qt help to find out how this works on Windows...
5D3.113 | EOSM.202

tupp

Quote from: masc on December 15, 2020, 10:29:42 AM
Quote from: 70MM13 on December 06, 2020, 08:40:08 PM
would it be possible to add the ability to remove jobs from the render list while rendering is underway?

when i am doing batch renders, splitting the jobs across multiple instances of mlvapp, invariably some finish earlier than others, and it would be nice to be able to have them take on clips from other instances without having the other one potentially redoing clips that were reassigned to other instances.

That's not possible in an easy way. There is currently no way to show/edit these internal data buffers, and they aren't made for this. So a huge change for a tiny feature.
What @70MM13 requests doesn't sound like a "tiny feature" -- it sounds like fundamental functionality that would be exceedingly useful to anyone doing batch renders.

If one could merely call from the command line MLV App along with a specific mlv file and recipe, the problem could likely be solved with a script (and that script function could be later incorporated into MLV App).  Such a command might read:
$  mlvapp -i your_camera_file.mlv  -s your_recipe.marxml  -o rendered_file.mp4

I don't know the function of MLV App's "Export Settings" feature, but if MLV App does everything through ffmpeg, perhaps the ffmpeg command flags/settings could be exported, and one could just run an ffmpeg batch script using those flags/settings.

Also, what is the function of "Open with External Application?"  Perhaps that feature could be utilized in this endeavor.

masc

@tupp: for this you would need to write a new application which just uses the processing backend. The export command already now is very long and difficult - I doubt anybody would use this.

"Open with External Application" does how it is named: it opens the currently active clip in another external application, e.g. MlRawViewer, to be able to watch the clip unprocessed in realtime.
5D3.113 | EOSM.202

tupp

@masc:  If the "Export Settings"  feature spits out all of the ffmpeg flags/variables, then it is easy enough to paste them into a command (or paste them into a file and then link the file).

Thanks for the explanation on the "Open with External Application" feature.

MotherSoraka


masc

Quote from: MotherSoraka on December 19, 2020, 10:15:35 PM
Can we also get rid of this annoying warning message?
Sure. Just do what the message tells. Create an averaged MLV! See export settings. If you don't do it, MLVApp will just load the first frame. And one single frame of your original MLV won't help you at all... that's why the message exists.
https://github.com/ilia3101/MLV-App/wiki#darkframe-subtraction
5D3.113 | EOSM.202

MotherSoraka

Quote from: masc on December 19, 2020, 10:54:47 PM
Sure. Just do what the message tells. Create an averaged MLV! See export settings. If you don't do it, MLVApp will just load the first frame. And one single frame of your original MLV won't help you at all... that's why the message exists.
https://github.com/ilia3101/MLV-App/wiki#darkframe-subtraction
Thats exactly what im doing. I generated Averaged Single darkframes. they are only 1 Frame long.
but this annoying message keeps popping up for no reason.



MotherSoraka


MotherSoraka

Quote from: masc on December 19, 2020, 12:52:48 PM
Yapp, you just need the package for your target, the compiler and QtCreator. If you are able to start from Creator, compilation was successful. What you need now to run from outside Creator is a "deployment". This collects all needed dlls and copies them to the release folder. But I also would have to search the Qt help to find out how this works on Windows...
Done.
Manually copied all the required DLLs into the release folder and it worked.


masc

That's the right code. But have a look:

/* if MLV has more than one frame just show the warning */
    if( df_mlv.MLVI.videoFrameCount > 1 )
    {
        sprintf(err_msg, "For proper use as a dark frame all frames of this MLV have to be averaged first:\n\n%s", video->llrawproc->dark_frame_filename);

Whatever you load... it MUST have more than 1 frame. Maybe you select the wrong file. I tested here and I just get the message if the selected clip is longer 1 frame. So the code works and is correct.
5D3.113 | EOSM.202