Author Topic: MLV App 1.13 - All in one MLV Video Post Processing App [Windows, Mac and Linux]  (Read 797291 times)

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1870
1) You can do this with mostly every NLE. Atm MLVApp is not able to do this.
2) An undo for all actions is not implemented.
3) MLVApp writes the processed colors directly to the viewer frame. Here only the OS could change the resulting color via monitor profile. For other applications I can't tell for sure how it works. But here I got the same result for all applications on all macs around me. (Just know that Windows is more tricky here, where just Quicktime shows the correct color...)
5D3.113 | EOSM.202

2blackbar

  • Senior
  • ****
  • Posts: 491
Im leaving settings for modifying mlvapp source here for myself but also for others whod like to change default stuff.
I did modificatioons cause default quality wasnt enought for me or was too high that resulted in very slow playback (h265 very high or very compressed quality, nothing inbetween)
I did that:

changed defaults in mainwindow.cpp:
Code: [Select]
        if( m_codecOption == CODEC_H265_H_MOV || m_codecOption == CODEC_H265_H_MP4 || m_codecOption == CODEC_H265_H_MKV )
            quality = 18;
        else
            quality = 20;
Second value is the medium setting ( high number - less quality and the lower numbers than defaults - the more data is put into compression) 20 is ok for me at this point in time for medium.
I really recommend to export in 265 10bit, it nicely retains a lot of colours from raw files.


Second thing i had to take care of was jpeg export for single frames, i put through mlvapp a lot of DNG files from camera and from my phone, so i needed much better compression so instead of default one , i changed it to 97 (100 is best ).

To do this i modified in singleframeexportdialog.cpp:

Code: [Select]
        QImage( ( unsigned char *) imgBufferScaled8, getMlvWidth(m_pMlvObject) * stretchX, getMlvHeight(m_pMlvObject) * stretchY, QImage::Format_RGB888 )
                .save( fileName, "jpg", 97 );

Thats about it, im leaving this here in case ill get back to new builds of mlvapp trying to apply these changes and i forget what i modified.
Also one thing i forgot but managed to remind myself today, i had already folder with all needed dlls and files for exe but i exported/compiled in x86 which failed to start with these dlls, i have to remember that its x64 build and change mingw to be x64 in qtcreator.


IDA_ML

  • Hero Member
  • *****
  • Posts: 978
I would like to report a bug which is not very important but quite annoying since you may loose your work if you have not saved it.  It occurs with the Windows x64 version 1.13 of MLVApp. 

When you click on a file which you would like to delete from your disk and select the "Delete from disk" option, MLVApp crashes.  I tested that on two different computers - one with Win 10 and another one with Win 7.

The "Remove" option works on both of them.  It removes the file from the session.

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1870
Thanks for reporting. Did you try the latest commits on your own? There has been a fix, close to this topic. Would be nice to know if it is worse, better, or the same with it.
5D3.113 | EOSM.202

IDA_ML

  • Hero Member
  • *****
  • Posts: 978
Thanks for reporting. Did you try the latest commits on your own? There has been a fix, close to this topic. Would be nice to know if it is worse, better, or the same with it.

I am not sure what you mean by "latest commits".  Did you upload an updated version 1.13 linked in the 1-st post or you mean something else?

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1870
I am not sure what you mean by "latest commits".  Did you upload an updated version 1.13 linked in the 1-st post or you mean something else?
https://github.com/ilia3101/MLV-App/commits/master
5D3.113 | EOSM.202

clubsoda

  • New to the forum
  • *
  • Posts: 29
Thank you for adding the new debayer algorithms you are awesome! :)

2blackbar

  • Senior
  • ****
  • Posts: 491
Hey masc , what should i add to encoding string to make x265 not use more than lets say 40Mb/s when encoding video ? i use this now but when the footage is noisy or theres lots of stuff in focus then i get about 90Mb/s and its slowing down playback , its nice for shots with blurred bgs but for deep focus it can bump up the bitrate depending on how noisy/detailed video is :
Code: [Select]
if( m_codecOption == CODEC_H265_H_MOV || m_codecOption == CODEC_H265_H_MP4 || m_codecOption == CODEC_H265_H_MKV )
            quality = 17;
        else
            quality = 19;

        program.append( QString( " -r %1 -y -f rawvideo -s %2 -pix_fmt rgb48 -i - -c:v libx265 -preset veryfast -tune fastdecode -crf %3 -tag:v hvc1 -pix_fmt %4 -color_primaries bt709 -color_trc bt709 -colorspace bt709 %5\"%6\"" )
                    .arg( fps )

This was default:
Code: [Select]
        if( m_codecOption == CODEC_H264_H_MOV || m_codecOption == CODEC_H264_H_MP4 || m_codecOption == CODEC_H264_H_MKV )
            quality = 14;
        else
            quality = 22;

        program.append( QString( " -r %1 -y -f rawvideo -s %2 -pix_fmt rgb48 -i - -c:v libx264 -preset medium -crf %3 -pix_fmt %4 -color_primaries bt709 -color_trc bt709 -colorspace bt709 %5\"%6\"" )
                    .arg( fps )

masc

  • Contributor
  • Hero Member
  • *****
  • Posts: 1870
Hi 2blackbar, not sure if you can set that. Did you read the ffmpeg documentation? You should find all possible options somewhere on there pages... I just know these "quality numbers", but as you wrote the bitrate could change in dependency to your footage.
5D3.113 | EOSM.202

Danne

  • Developer
  • Hero Member
  • *****
  • Posts: 7196
Tested on M1 pro 14 inch, 10 cores. Fast, very close or actual realtime previewing. Tested eos m clips. 2.8k 24fps, 1080p 48fps, 5k anamorphic.
Great app, great achievement @masc.