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

escho

Quote from: bouncyball on September 25, 2017, 12:07:39 PM
This:

win32: TARGET = "MLVApp"
linux-g++*: TARGET = "mlvapp"
osx: TARGET = "MLV App"

did the trick.

Is it necessary to have three different targets for the three OS? Why not one Target MLVApp for all?
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

bouncyball

@revast
Quote from: revast on September 25, 2017, 05:05:19 PM
show me how.
Good question ;) (I hoped you know how to do it without me)

Well... In the best case you have to compile all QT libs as static and link all s**t together including zlib, libpng16 and pthread. I'm doing this with Mingw64 (under linux) to compile static windows binary. But I never did that with GCC. That is why we never released binary for Linux version of the MLV App.

bouncyball

@escho
Quote from: escho on September 25, 2017, 07:32:23 PM
Is it necessary to have three different targets for the three OS? Why not one Target MLVApp for all?
Yeah... right.

Quite funny but, I changed win32 TARGET because I had a linking problem, changed linux TARGET because I'm tired of typing upper-lower case binary name :P and leaved unchanged macx TARGET with respect to Author.

bouncyball

Hey @masc I have an issue with QT designer. To the focus pixel combo box I added additional 3rd item, but this item, strangely, never shows up in compiled version despite the fact that the related part of MainWindow.ui looks like this:

<widget class="QComboBox" name="comboBoxFocusPixelSwitch">
               <property name="maximumSize">
                <size>
                 <width>90</width>
                 <height>16777215</height>
                </size>
               </property>
               <property name="font">
                <font>
                 <pointsize>10</pointsize>
                </font>
               </property>
               <item>
                <property name="text">
                 <string>Off</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>On</string>
                </property>
               </item>
               <item>
                <property name="text">
                 <string>Croprec</string>
                </property>
               </item>
              </widget>

Can you enlighten me what am I doing wrong?

masc

@bouncyball: whooaaa... sry, I never work with the ui code. I just paint the GUI in the QtCreator-Designer-Plugin and I am happy when it does what I want. So you want a third switch: Off, On, CropRec? Where is the difference between On and CropRec? CropRec is =2 in your lib and works with the same functions? I can do it for you...

Edit: Done.
5D3.113 | EOSM.202

bouncyball

@masc:

I did it exactly from designer plugin. Now I pulled your changes and the item is not showing again hahaha :). Some black magic I guess. Then I deleted all and cloned the fresh repository. Compiled and Croprec is there ;). Well I guess when I'm doing qmake from Mingw64 it creates a lot of files in addition to Makefile and maybe somewhere it caches the ui.

Anyway thank you for helping! I'm gonna push my changes as soon as they are stable :)

revast

I have now made an AppImage.
Just download, make executeable, launch.

Turned out to be quite easy, thanks to linuxdeployqt
./linuxdeployqt  m/MLVApp -appimage -bundle-non-qt-libs -verbose=2
where in folder m is the a MLVApp.png, a static FFMpeg executeable, the MLVApp executeable,  as well as a MLVApp.desktop file with 

[Desktop Entry]
Type=Application
Name=MLVApp
Exec=MLVApp
Icon=MLVApp


To see how it looks like inside, use: ./MLVApp-x86_64.AppImage --appimage-extract

What it actually does is to grab all libs which are needed to run the executeable, and deploys that in a compressed package which is built like an ISO file - you can even mount it - which is also executeable via fuse.
The wiki has more info, the one thing that has to be considered for a release package is that the older the platform where the appimage was made, the better in terms of compatibility to different linux distributions.

bouncyball

@revast

Very cool it's like make portable application under win. Runs fast!
Just one note: it's almost 2 times bigger (~43mb) then it would be as statically linked binary (~24mb).
But anyway I think in this form it could be released as Linux version.

Thank you for your time :)

revast

QuoteJust one note: it's almost 2 times bigger (~43mb) then it would be as statically linked binary (~24mb).
Thats because its bundled with ffmpeg static binary, which is about 14mb with upx compression applied, without it, the AppImage would have around 30mb.

QuoteBut anyway I think in this form it could be released as Linux version.

Yeah, I think so, too :). Using an older base system (like ubuntu 12.04, depends on the minimum qt5 version I guess) to compile MLVApp and make the AppImage would be better though.

I now uploaded another version which should respect the theming of the Linux Distribution the AppImage is run on

masc

Quote from: revast on September 26, 2017, 12:46:39 PM
I have now made an AppImage.
Just download, make executeable, launch.

Turned out to be quite easy, thanks to linuxdeployqt
Very cool! That is exactly the same way I go on OSX, here it's called macdeployqt. Can you please build this this version? Then I could add it to the latest release page.

In the latest commit I added some lines to the .pro, now you can (manually) switch between ubuntu and opensuse.

5D3.113 | EOSM.202

revast


Can you please build this this version? Then I could add it to the latest release page
ok, done :). But bear in mind: the older the libc version is the more compatible the package. The appimage creator uses centos 6 for example...

masc

Yes, that's the same on OSX. I always build it on 10.9.5.
The link is the same as above? I'll load it on github. Thank you!
5D3.113 | EOSM.202

ilia3101

Tried out Linux build, on a Qt-virgin Ubuntu system, got this error:



Does all of Qt need to be installed? Or could it be packaged with the downlad?

revast

hmmm all dependencies should be bundled in the one file, yes.
Sorry, I haven't tried it out on vanilla ubuntu till now. I am downloading a xubuntu 17.10 daily image and try for myself

all I can say right now is that that library definitely is inside the .AppImage, I checked that.

try this version

if that does not help,  sudo apt-get install libqt5multimedia5 for now..

masc

If linuxdeploayqt does the same as macdeployqt I think I know what you did and how you could solve that. If you do that it won't work:
compile, linuxdeployqt, compile, (linuxdeployqt, ) upload
because the compiling breaks the dependencies.

If you do:
delete binary/package, compile, linuxdeployqt, upload
there should be no problem.

This was the problem I had in the very beginning here.
5D3.113 | EOSM.202

revast

I figured it out, looks like linuxdeployqt did not set the paths right,
there is a line:

prefix=./

in qt.conf, which should point to the prefix dir (usr..) of the appimage. But that does not work, even if my lib folder is in APPimageDIR/usr/

Nevertheless, that is easily fixed with a little script which replaces the default AppRun symlink :

#! /bin/bash
export APPDIR="$(dirname "$(readlink -f "$0")")"  #get the path inside the appimage
export LD_LIBRARY_PATH=lib:LD_LIBRARY_PATH #set libray path
export QT_PLUGIN_PATH=plugins:QT_PLUGIN_PATH #setting this explicitly as well, just for safety
export QT_QPA_PLATFORMTHEME="fusion"  #set theme path (does not work so far)

cd $APPDIR
./MLVApp -style=fusion
   

As you can see, the fix I had in mind regarding the theme issues did not work out so well so far.
I explicitly set the style to the built-in fusion style for now, via the -style=fusion argument and will figure out the theme details later.

At least the appimage works now..

masc

Maybe you don't need the theme fix in the latest revision. Yesterday I added a theme switch. Now you can select a darksytle - this one has Fusion as base. I'll exchange the package this afternoon.

Edit: Done.
5D3.113 | EOSM.202

escho

i like the darkstyle, but the playback buttons are a bit difficult to recognize.
https://sternenkarten.com/
600D, 6D, openSUSE Tumbleweed

bouncyball


bouncyball

Hey guys!

Some changes to the raw correction part:

Now focus pixel maps not needed in the working directory any more. MLV App will generate maps according to MLV metadata on the fly, including crop_rec mode MLVs (EOSM, 100D, 700D, 650D). If .fpm map intentionally placed to the working directory it will be used instead of internal generator (overriding possibility).

Fix focus dots combo box now has 3rd option, CropRec, which turns on the map generator for raw videos recorded with crop_rec module.

regards
bb

DeafEyeJedi

I'm literally lost in this puddle of mud. For good reasons though. Am I still to be testing with the latest 0.8 version or is there later revision?  :P

Anyway here's what I came across when using SL1 RAW footage (that has Focus Pixels) which was shot in crop_rec and noticed few strange things in case you guys haven't already?

When selecting Fix Focus Dots option to ON while having Chroma Smoothing off then shows the focus pixels. But with FFD ON while having CS_2x2 ON then cleans up nicely except for the border lines if you look closely.

However, even more strange was the fact when I deselect the FFD to OFF while having just CS_2x2 ON still keeps the image clean from showing Focus Pixels? Will test more thoroughly on this with varieties of files later.







I remember this very similar matter when testing out Focus Pixels back in the day w @dfort & @Danne. Fond memories!   :D

Quote from: bouncyball on September 27, 2017, 07:27:21 PM
Some changes to the raw correction part:

Now focus pixel maps not needed in the working directory any more. MLV App will generate maps according to MLV metadata on the fly, including crop_rec mode MLVs (EOSM, 100D, 700D, 650D). If .fpm map intentionally placed to the working directory it will be used instead of internal generator (overriding possibility).

Fix focus dots combo box now has 3rd option, CropRec, which turns on the map generator for raw videos recorded with crop_rec module.

This is really nice actually. Keep on rockin' BB McFly!
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

masc

@DeafEyeJedi: The focus pixel maps were missing in the v0.8 OSX, and there was still a little bug. So that does not work correctly there for OSX... There are newer working revisions on the repos (->with focus pixels working), but not as release yet.

Quote from: escho on September 27, 2017, 07:09:01 PM
i like the darkstyle, but the playback buttons are a bit difficult to recognize.
Yes, that is correct. So I created some new ones today. They are on github now. Hope you like them.
5D3.113 | EOSM.202

escho

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

bouncyball

@DeafEyeJedi: yeah @masc is right. There where no focus maps supplied in this release. That is why cs2x2 gets rid of the most dots except border ones :). It will not be case in the later updated version because map will be generated on the fly.

@masc: loved new look and buttons! :D

Edit: loop button is a bit vague.

masc

5D3.113 | EOSM.202