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

Danne

aaah, blender. Tried to make sense of that very professional, open source program but never really got my head around it.
Like your progress with Mlv app. Will be very useful.

FBongcam

I'm on 10.10.5 and the native macOS version says 10.11 is required. The app has a crossmark icon and can't be opened obviously.
Reading through the thread it seems people are running this on 10.10 or am I wrong?

The cross-platform version works though.


ilia3101

@FBongcam (If you find time!) Could you please try and compile the app yourself:
rm -rf MLV-App && git clone https://github.com/ilia3101/MLV-App.git && cd MLV-App/platform/cocoa && make app && cd - && open MLV-App/platform/cocoa/ && open MLV-App/platform/cocoa/MLV\ App.app
If that doesn't instantly work you might have to quickly do this: http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/
The app is in a slightly broken state right now, but it will be fixed later today. But if possible, it would be great to see if it compiles on 10.10 :)

EDIT: app is fixed, should now refresh view 100% of the time (display mechanism has been completely "reengineered")

masc

In the last weeks Ilia implemented many new features and I integrated them into the Qt version of MLV App. Here we also have the image profiles now and audio support: we can playback audio on preview, export and draw the audio track in the GUI (maybe audio is not perfectly in sync, but Ilia had already an idea how to fix that...).
Windows version will come if @bouncyball (or someone else) finds some time to build it for you. So here is first the OSX 10.9.5+ version:
https://github.com/ilia3101/MLV-App/releases/tag/QTv0.7alpha
5D3.113 | EOSM.202

FBongcam

Quote from: Ilia3101 on September 13, 2017, 08:17:37 AM
@FBongcam (If you find time!) Could you please try and compile the app yourself:
git clone https://github.com/ilia3101/MLV-App.git && cd MLV-App/platform/cocoa && make app && cd - && open MLV-App/platform/cocoa/ && open MLV-App/platform/cocoa/MLV\ App.app
I ran this and the app still won't open. It says the app is damaged or incomplete.


Terminal gives me this error (if it's of any help):


Initial app name: MLV App (Sep 14 2017 00:14:10)
rm: main.o: No such file or directory
gcc  -mmacosx-version-min=10.10 -O3 -Ofast -m64 -c main.m
main.m:80:40: error: use of undeclared identifier
      'NSWindowStyleMaskFullSizeContentView'
        | NSMiniaturizableWindowMask | NSWindowStyleMaskFullSizeContentView;
                                       ^
1 error generated.
make[2]: *** [main.o] Error 1
cp: MLV App: No such file or directory
cp: checkupdate.py: No such file or directory
Archive:  ../qt/FFmpeg/ffmpegOSX.zip
  inflating: MLV App.app/Contents/Resources/ffmpeg 
   creating: MLV App.app/Contents/Resources/__MACOSX/
  inflating: MLV App.app/Contents/Resources/__MACOSX/._ffmpeg 

The application cannot be opened because its executable is missing.



FBongcam

Quote from: masc on September 13, 2017, 11:14:37 PM
In the last weeks Ilia implemented many new features and I integrated them into the Qt version of MLV App. Here we also have the image profiles now and audio support: we can playback audio on preview, export and draw the audio track in the GUI (maybe audio is not perfectly in sync, but Ilia had already an idea how to fix that...).
Windows version will come if @bouncyball (or someone else) finds some time to build it for you. So here is first the OSX 10.9.5+ version:
https://github.com/ilia3101/MLV-App/releases/tag/QTv0.7alpha

This new version (QTv0.7alpha) doesn't output the prores file for me. I can see the png files being created while it's rendering but when it's finished the folder is just empty. I've tried with different settings and also by leaving everything default without any luck.
I'm on OSX 10.10.5.

Edit:
After reading the app page "Support for mlv_dump uncompressed MLV files seems to be broken", maybe that's what I'm experiencing :), I tried both 10bit and 14bit though.

ilia3101

Quote from: FBongcam on September 14, 2017, 01:40:05 AM
"Support for mlv_dump uncompressed MLV files seems to be broken", maybe that's what I'm experiencing :)
..Hmmm, but does the app actually work? if you can see the clips and adjust them, then the problem is something else.

Quote from: FBongcam on September 14, 2017, 12:32:19 AM
Terminal gives me this error (if it's of any help):
Thanks! it was useful... figured out from it that Apple must have made a little lie about API support, because I remember reading them saying that was 10.10+, but seems its actually 10.11+, so I've changed it back to what I used before (older API). Could you test again if you find time? It should work now. I'm almost surprised that there was only one error :D

@masc's v0.7 release is getting really good!!!
I don't think ill be able to match it with the cocoa GUI ever :(
Also @masc could you make Tonemapped the default profile for next release? I think it's a better default for most people

masc

Quote from: FBongcam on September 14, 2017, 01:40:05 AM
This new version (QTv0.7alpha) doesn't output the prores file for me. I can see the png files being created while it's rendering but when it's finished the folder is just empty. I've tried with different settings and also by leaving everything default without any luck.
I'm on OSX 10.10.5.
@FBongcam: Does someone else have this problem? For me that works. Does the progressbar jump from 50 to 100%? If you see pictures in the app it is not the issue I wrote about. It must be an issue with ffmpeg.

@Ilia: Thanks. Qt on OSX is also just wrapped cocoa... ;) I'll try that with the default profile.
5D3.113 | EOSM.202

FBongcam

Quote from: Ilia3101 on September 14, 2017, 08:36:02 AM
Thanks! it was useful... figured out from it that Apple must have made a little lie about API support, because I remember reading them saying that was 10.10+, but seems its actually 10.11+, so I've changed it back to what I used before (older API). Could you test again if you find time? It should work now. I'm almost surprised that there was only one error :D
Yes it does work now, thanks  :)
However the app crashes every time it has finished exporting the prores, maybe it's something related to 10.10 or is it a known issue?

Quote from: masc on September 14, 2017, 09:21:44 AM
@FBongcam: Does someone else have this problem? For me that works. Does the progressbar jump from 50 to 100%? If you see pictures in the app it is not the issue I wrote about. It must be an issue with ffmpeg.
Yes it seems to jump from about 50% straight to the notification that the export has finished, as you described. I can see pictures in the app, yes.

masc

Quote from: FBongcam on September 14, 2017, 05:02:08 PM
Yes it does work now, thanks  :)
However the app crashes every time it has finished exporting the prores, maybe it's something related to 10.10 or is it a known issue?
Yes it seems to jump from about 50% straight to the notification that the export has finished, as you described. I can see pictures in the app, yes.
Okay, if Ilias cocoa app crashes on export, and my Qt App jumps from 50..100% then I am nearly 100% sure that ffmpeg does not work on your machine (whyever). If you see the png files - could you please convert manually using ffmpeg in the application bundle? In the Qt app it is located under "MLV App/Contents/MacOS/ffmpeg". Go to this directory in terminal and type
./ffmpeg -i "<path to your pngs>/chosenFileName_\%05d.png" -c:v prores_ks -profile:v 2 "<path to your desktop>/test.mov"
Does that work? I think it will end with an error. But can you tell us what ffmpeg tells exactly?
5D3.113 | EOSM.202

FBongcam

Quote from: masc on September 14, 2017, 08:44:00 PM
Okay, if Ilias cocoa app crashes on export, and my Qt App jumps from 50..100% then I am nearly 100% sure that ffmpeg does not work on your machine (whyever). If you see the png files - could you please convert manually using ffmpeg in the application bundle? In the Qt app it is located under "MLV App/Contents/MacOS/ffmpeg". Go to this directory in terminal and type
./ffmpeg -i "<path to your pngs>/chosenFileName_\%05d.png" -c:v prores_ks -profile:v 2 "<path to your desktop>/test.mov"
Does that work? I think it will end with an error. But can you tell us what ffmpeg tells exactly?
The png files also disappear when it's finished but I can see them while it's exporting and as soon as the export says it's finished, everything is gone.

I forced quit MLV App during export to keep some png files it managed to render, just to get a sequence of png files. Then I ran ffmpeg on the files and it created the file succesfully.
Here's what terminal gave me:


./ffmpeg -i M12-1835_test_\%05d.png -c:v prores_ks -profile:v 2 "test.mov"
ffmpeg version 3.3.2-tessus Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-libzvbi --enable-version3 --disable-ffplay --disable-indev=qtkit
  libavutil      55. 58.100 / 55. 58.100
  libavcodec     57. 89.100 / 57. 89.100
  libavformat    57. 71.100 / 57. 71.100
  libavdevice    57.  6.100 / 57.  6.100
  libavfilter     6. 82.100 /  6. 82.100
  libswscale      4.  6.100 /  4.  6.100
  libswresample   2.  7.100 /  2.  7.100
  libpostproc    54.  5.100 / 54.  5.100
Input #0, image2, from 'M12-1835_test_%05d.png':
  Duration: 00:00:04.28, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: png, rgb48be(pc), 1920x1080, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (png (native) -> prores (prores_ks))
Press [q] to stop, [?] for help
Output #0, mov, to 'test.mov':
  Metadata:
    encoder         : Lavf57.71.100
    Stream #0:0: Video: prores (prores_ks) (apcn / 0x6E637061), yuv444p10le, 1920x1080, q=2-31, 200 kb/s, 25 fps, 12800 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.89.100 prores_ks
frame=    3 fps=0.0 q=-0.0 size=    1889kB time=00:00:00.08 bitrate=193250.8kbitframe=    7 fps=6.3 q=-0.0 size=    4405kB time=00:00:00.24 bitrate=150313.2kbitframe=   11 fps=6.5 q=-0.0 size=    6922kB time=00:00:00.40 bitrate=141740.9kbitframe=   15 fps=6.5 q=-0.0 size=    9442kB time=00:00:00.56 bitrate=138109.9kbitframe=   19 fps=6.6 q=-0.0 size=   11959kB time=00:00:00.72 bitrate=136053.1kbitframe=   23 fps=6.6 q=-0.0 size=   14476kB time=00:00:00.88 bitrate=134747.5kbitframe=   27 fps=6.6 q=-0.0 size=   16992kB time=00:00:01.04 bitrate=133833.9kbitframe=   31 fps=6.6 q=-0.0 size=   19509kB time=00:00:01.20 bitrate=133176.1kbitframe=   35 fps=6.6 q=-0.0 size=   22025kB time=00:00:01.36 bitrate=132662.3kbitframe=   39 fps=6.6 q=-0.0 size=   24543kB time=00:00:01.52 bitrate=132265.1kbitframe=   43 fps=6.7 q=-0.0 size=   27060kB time=00:00:01.68 bitrate=131942.6kbitframe=   47 fps=6.7 q=-0.0 size=   29576kB time=00:00:01.84 bitrate=131673.7kbitframe=   51 fps=6.7 q=-0.0 size=   32094kB time=00:00:02.00 bitrate=131450.9kbitframe=   55 fps=6.7 q=-0.0 size=   34609kB time=00:00:02.16 bitrate=131253.6kbitframe=   59 fps=6.7 q=-0.0 size=   37128kB time=00:00:02.32 bitrate=131094.3kbitframe=   63 fps=6.7 q=-0.0 size=   39647kB time=00:00:02.48 bitrate=130957.6kbitframe=   67 fps=6.7 q=-0.0 size=   42164kB time=00:00:02.64 bitrate=130830.9kbitframe=   71 fps=6.7 q=-0.0 size=   44680kB time=00:00:02.80 bitrate=130716.8kbitframe=   75 fps=6.7 q=-0.0 size=   47197kB time=00:00:02.96 bitrate=130617.7kbitframe=   79 fps=6.7 q=-0.0 size=   49716kB time=00:00:03.12 bitrate=130532.0kbitframe=   83 fps=6.7 q=-0.0 size=   52231kB time=00:00:03.28 bitrate=130447.8kbit[png @ 0x7f8fbc013e00] chunk too big
[png @ 0x7f8fbc014a00] chunk too big
[png @ 0x7f8fbc015600] chunk too big
frame=   87 fps=6.7 q=-0.0 size=   54751kB time=00:00:03.44 bitrate=130380.2kbit[png @ 0x7f8fbc016200] chunk too big
[png @ 0x7f8fbc016e00] chunk too big
[png @ 0x7f8fbc017a00] chunk too big
[png @ 0x7f8fbc018600] chunk too big
frame=   91 fps=6.7 q=-0.0 size=   57267kB time=00:00:03.60 bitrate=130312.5kbit[png @ 0x7f8fbc019200] chunk too big
[png @ 0x7f8fbc010800] chunk too big
[png @ 0x7f8fbc010e00] chunk too big
[png @ 0x7f8fbc011a00] chunk too big
frame=   95 fps=6.7 q=-0.0 size=   59787kB time=00:00:03.76 bitrate=130256.6kbitError while decoding stream #0:0: Invalid data found when processing input
frame=   96 fps=6.6 q=-0.0 Lsize=   60420kB time=00:00:03.80 bitrate=130249.5kbits/s speed=0.263x   
video:60418kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.002408%


A few files in the end of the sequence were broken obviously so maybe that gave some errors, but the prores file is working.

escho

Some feedback to qt v0.7 on Linux

Video converts fine (I cannot test audio, because I donĀ“t use it).

Is there a limit for the size of the mlv? Converting a 3GB MLV works, but converting a 7GB MLV let the app crash on importing:

*** Error in `/home/edgar/MLV App/MLV-App-master/platform/build-MLVApp-Desktop-Release/MLV App': malloc(): memory corruption: 0x0000000002e05730 ***
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

masc

@FBongcam: thank you. So that works. Can you tell me the framerate of your clips? If there is a "." in the framerate, some qt librarys could make the "." to a "," and so ffmpeg does not run. Before -i in the command I made a -r 25 for 25 fps in the app. In my case it was always the "." (at 23.x fps), but that may be different from country to country.
Does it work with a 25fps file in your case? Or, easier: check in the preferences menu framerate override and type 25! Does it export now?

Edit: tried it with another locale and have exactly your problem :-) Anyway... does 25fps work for you? Then I can fix it!

@escho: The maximum file size I could test with my 5D2 was 4GB, so I can't tell you. If I get such a big file one day I could debug and help...  :-\
5D3.113 | EOSM.202

FBongcam

Quote from: masc on September 14, 2017, 11:25:04 PM
@FBongcam: thank you. So that works. Can you tell me the framerate of your clips? If there is a "." in the framerate, some qt librarys could make the "." to a "," and so ffmpeg does not run. Before -i in the command I made a -r 25 for 25 fps in the app. In my case it was always the "." (at 23.x fps), but that may be different from country to country.
Does it work with a 25fps file in your case? Or, easier: check in the preferences menu framerate override and type 25! Does it export now?

Edit: tried it with another locale and have exactly your problem :-) Anyway... does 25fps work for you? Then I can fix it!
Clips are shot at 24p.

I can confirm, turning on framerate override to 25p did work  :)

Edit:
Turning on framerate override to 24p worked as well.
I shoot with fps override set on Exact fps to 24 in magic lantern so the clips should be exactly 24 from the beginning. Just some extra info if it's relevant to your issues with the "." (at 23.x fps).

Ottoga

Just had a look at v0.7 cross platform.  The download zip file is for MAC only. IS an x86 build on its way?
EOS 7D.203, EFS 55-250mm, EF 75-300 III, Tamron 16-300 DiII VC PZD Macro, SpeedLite 580EX II.

masc

Quote from: FBongcam on September 15, 2017, 12:02:34 AM
Clips are shot at 24p.

I can confirm, turning on framerate override to 25p did work  :)

Edit:
Turning on framerate override to 24p worked as well.
I shoot with fps override set on Exact fps to 24 in magic lantern so the clips should be exactly 24 from the beginning. Just some extra info if it's relevant to your issues with the "." (at 23.x fps).
Okay, thanks a lot! That really helped. I think I fixed the Qt version in the repos (don't know how to do in cocoa).

Quote from: Ottoga on September 15, 2017, 12:49:33 AM
The download zip file is for MAC only. IS an x86 build on its way?
You mean a Windows version? -> Windows version will come if @bouncyball (or someone else) finds some time to build it for you. I only have a mac here atm. But it will come... it just has to be compiled.
Or do you mean OSX x86? I am not sure if it is possible to compile it. Maybe somebody has a SnowLeopard and can compile it...
5D3.113 | EOSM.202

Ottoga

QuoteYou mean a Windows version?

Yes,  NP i'm patient.
EOS 7D.203, EFS 55-250mm, EF 75-300 III, Tamron 16-300 DiII VC PZD Macro, SpeedLite 580EX II.

ilia3101

Quote from: FBongcam on September 14, 2017, 05:02:08 PM
However the app crashes every time it has finished exporting the prores, maybe it's something related to 10.10 or is it a known issue?

Ah yes, this is a bug that appeared recently, it happens for em on 10.13 beta too, the clip does export fully (ffmpeg runs 100% to the end as far as I know @masc, so the bugs in our versions are different probably), but for some reason the app crashes, right before notification gets shown/as it gets shown. I need to fix this before I can make another little testing release.

masc

Ah okay, so it is something different. But if it happens for you too, you can debug it... :-)
Did you have some time to look for the processing things like chroma and bad pixel (I commited the source from mlv_dump a while ago)? I had no luck to get it to work yet :(
5D3.113 | EOSM.202

ilia3101

Ah yes, I did look at that code a couple of weeks ago, to use it, I'll have to move them to src/mlv because they work on raw data before it is even debayered, what this also means is that if the chroma smoothing and bad pixel features are enabled, the caching will have to be re-done as debarred results will change. Also an idea for Qt app: close clips when switching between them so you can enable caching? Or maybe close clips after a few seconds in case user quickly switches back, then enable caching when all others are closed??

bouncyball

Hey guys!

@masc, @ilia3101

While on vacation I did some progress with low level raw processing integration to MLV App. I ported almost everything I did in the past with mlv_dump on steroids: stripes, focus pixels, bad pixels, chroma smooth, pattern noise and even deflicker function of MLVFS. There is only rudimentary visual GUI implementation though. However all settings can be changed in 'initLLRawProcObject' routine. Also there 'DEFINES += STDOUT_SILENT' is commented out and you can watch on console all verbose messages during raw processing. Later, I will upload focus pixel maps and some testing 100D and EOSM footage MLVs to test it with.

Look at my fork here: https://github.com/bouncyball-git/MLV-App/commits/master.
I would really appreciate opinions of both of you :)

regards
bb

masc

@bouncyball: great! I'll test that! :)
@Ilia: In the Qt app there is always only one file opened, the files in the session are only listed. But when enabling caching I get crashes and pink frames.
5D3.113 | EOSM.202

masc

Wohooo... I like the processing! All the bad pixels are gone! :) In the GUI I would place the fields a bit different, because my 1280x800 display is too small now :) But that is really no problem. But between the GUI elements and your processing object is no connection yet, or? You planned to implement the functions to change the settings (I think so)... Nice work! :)
5D3.113 | EOSM.202

ilia3101

@bouncball Awesome of you to do that! Thanks a lot.
Will see how it works.
When do you plan to commit it to main repository? (Or "pull request" it)

Sorry about some of the code from my C learning phase(overcommented :-[)

After you merge it, I'll work on getting caching compatible with your module (needs clearing on changes), probably a full rewrite. (unless you did that, but I don't ask that of you if you haven't ;), as Qt doesn't even use it at this moment)

Anyway thanks again!

ilia3101

@bouncyball
I know your code works, but it won't compile for me, I'm just not sure why it would just randomly begin erroring like this:



Does it need some special compile flags? Do you know what it could be?
The type errors should be a matter of #including stdint, but what are the undeclared identifiers?

EDIT: never mind, found my idiotic mistake :)