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

chger

Quote from: masc on February 28, 2018, 05:23:33 PM
Yes, I also thought about adding that. In the tables you posted: are the options so limited for this codec?! For all existing codecs the input plays no role... so that makes it really difficult, which option is chosable for which clip... in a batch it would not be usable at all :(

I see, DNxHD is very limited, but I think DNxHR is more flexible. I will do some testing with ffmpeg handling non-standard resolutions and framerates and report back.
I assume from what I read so far that with DNxHR you can just assign a profile (dnxhr_444, dnxhr_hqx, dnxhr_hq, dnxhr_sq, dnxhr_lb) without providing any further options (e.g. framerate, resolution). That is atleast for converting file a to file b.

Cheers,
Chris

masc

Quote from: IDA_ML on March 07, 2018, 10:26:37 AM
This is incredible news for me, Bouncyball!  Thank you so much!  I still cannot believe that MLVApp is finally working on my 11-year old laptop.  Please give me some time to test and I will report on my impressions later in this thread.
W.w.what?! Bouncyball, you got it to work for IDA_ML? What was the reason? Was it the optimization -O3 for the compiler!? NICE!

Quote from: chger on March 07, 2018, 11:22:44 AM
I see, DNxHD is very limited, but I think DNxHR is more flexible. I will do some testing with ffmpeg handling non-standard resolutions and framerates and report back.
I assume from what I read so far that with DNxHR you can just assign a profile (dnxhr_444, dnxhr_hqx, dnxhr_hq, dnxhr_sq, dnxhr_lb) without providing any further options (e.g. framerate, resolution). That is atleast for converting file a to file b.
If that is more flexible, that would be nice. Adding these single options is no problem. What we do with further options, must be evaluated. There are many aspect ratios for MLVs out there, not only 16:9 ... but I could stretch it always to 16:9 if DNxHD is chosen - but I don't know if someone needs/likes that. If you could some testing it would be nice to report back! If it works for a TIFF sequence to DNxHD.mov, it should also work for our export pipe. (You can export a TIFF sequence with MLVApp, if you haven't one.)
5D3.113 | EOSM.202

chger

Another thing that came to my mind:

The following keyboard-shortcut would be useful: Alt + I (since I is already in use for Clip-Info) for setting the In-Point right at cursor / playhead-position within the "timeline". Same with Alt + O for the Out-point.

masc

DNxHD seems not to be so easy too. I tried to export a 5D2 16:9 1856x1044 MLV, without much parameters...
ffmpeg -r 25 -y -f rawvideo -s 1856x1044 -pix_fmt rgb48 -i - -i M15-1953.wav -c:a copy -c:v dnxhd -pix_fmt yuv422p M15-1953.mov

That brings:
Input #0, rawvideo, from 'pipe:':
  Duration: N/A, start: 0.000000, bitrate: 2325196 kb/s
    Stream #0:0: Video: rawvideo (RGB0 / 0x30424752), rgb48le, 1856x1044, 2325196 kb/s, 25 tbr, 25 tbn, 25 tbc
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, wav, from '/Users/masc/Desktop/M15-1953.wav':
  Metadata:
    comment         : Exported MLV Audio
    encoded_by      : Canon EOS 5D Mark II
    originator_reference: JPCAN-2...
    date            : 2017:07:15
    creation_time   : 19:52:50
    time_reference  : 0
    coding_history  : PCM
  Duration: 00:00:00.34, bitrate: 1575 kb/s
    Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> dnxhd (native))
  Stream #1:0 -> #0:1 (copy)
[dnxhd @ 0x7ff07b014c00] video parameters incompatible with DNxHD. Valid DNxHD profiles:
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 175Mbps; pixel format: yuv422p10; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 185Mbps; pixel format: yuv422p10; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 365Mbps; pixel format: yuv422p10; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p10; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 115Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 145Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 240Mbps; pixel format: yuv422p; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 290Mbps; pixel format: yuv422p; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 175Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 185Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 220Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 365Mbps; pixel format: yuv422p; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 185Mbps; pixel format: yuv422p10; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 220Mbps; pixel format: yuv422p10; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 145Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 185Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 220Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 145Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p10; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p10; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 180Mbps; pixel format: yuv422p10; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 220Mbps; pixel format: yuv422p10; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 110Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 180Mbps; pixel format: yuv422p; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 220Mbps; pixel format: yuv422p; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 60Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 60Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 75Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 120Mbps; pixel format: yuv422p; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 145Mbps; pixel format: yuv422p; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 36Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 36Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 45Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 75Mbps; pixel format: yuv422p; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 90Mbps; pixel format: yuv422p; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 350Mbps; pixel format: yuv422p10; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 390Mbps; pixel format: yuv422p10; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p10; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 730Mbps; pixel format: yuv422p10; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 880Mbps; pixel format: yuv422p10; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 960x720p; bitrate: 42Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 960x720p; bitrate: 60Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 960x720p; bitrate: 75Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 960x720p; bitrate: 115Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080p; bitrate: 63Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080p; bitrate: 84Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080p; bitrate: 100Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080p; bitrate: 110Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 80Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 90Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 100Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 110Mbps; pixel format: yuv422p; framerate: 0/0
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!


So it has definitively to be resized to the supported size - using it is really limited :(

Quote from: chger on March 07, 2018, 12:21:06 PM
Another thing that came to my mind:

The following keyboard-shortcut would be useful: Alt + I (since I is already in use for Clip-Info) for setting the In-Point right at cursor / playhead-position within the "timeline". Same with Alt + O for the Out-point.
Try Shift+I and Shift+O ;) (You see the hint when cursor is on the buttons)
5D3.113 | EOSM.202

masc

Okay, I got a very first DNxHD export file out of MLVApp. There are only the listed options available, not more, not less. We now have to search for a good idea, how to combine this with our export settings dialog in a way it makes sense...
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 175Mbps; pixel format: yuv422p10; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 185Mbps; pixel format: yuv422p10; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 365Mbps; pixel format: yuv422p10; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p10; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 115Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 145Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 240Mbps; pixel format: yuv422p; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 290Mbps; pixel format: yuv422p; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 175Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 185Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 220Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 365Mbps; pixel format: yuv422p; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 185Mbps; pixel format: yuv422p10; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 220Mbps; pixel format: yuv422p10; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 145Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 185Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080i; bitrate: 220Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 120Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 145Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p10; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p10; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 180Mbps; pixel format: yuv422p10; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 220Mbps; pixel format: yuv422p10; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 90Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 110Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 180Mbps; pixel format: yuv422p; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 220Mbps; pixel format: yuv422p; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 60Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 60Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 75Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 120Mbps; pixel format: yuv422p; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1280x720p; bitrate: 145Mbps; pixel format: yuv422p; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 36Mbps; pixel format: yuv422p; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 36Mbps; pixel format: yuv422p; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 45Mbps; pixel format: yuv422p; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 75Mbps; pixel format: yuv422p; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 90Mbps; pixel format: yuv422p; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 350Mbps; pixel format: yuv422p10; framerate: 24000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 390Mbps; pixel format: yuv422p10; framerate: 25/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 440Mbps; pixel format: yuv422p10; framerate: 30000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 730Mbps; pixel format: yuv422p10; framerate: 50/1
[dnxhd @ 0x7ff07b014c00] Frame size: 1920x1080p; bitrate: 880Mbps; pixel format: yuv422p10; framerate: 60000/1001
[dnxhd @ 0x7ff07b014c00] Frame size: 960x720p; bitrate: 42Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 960x720p; bitrate: 60Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 960x720p; bitrate: 75Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 960x720p; bitrate: 115Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080p; bitrate: 63Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080p; bitrate: 84Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080p; bitrate: 100Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080p; bitrate: 110Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 80Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 90Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 100Mbps; pixel format: yuv422p; framerate: 0/0
[dnxhd @ 0x7ff07b014c00] Frame size: 1440x1080i; bitrate: 110Mbps; pixel format: yuv422p; framerate: 0/0
5D3.113 | EOSM.202

masc

Haha... tried the profile dnxhr_444 as you mentioned... exports without parameters and without crash. But: I don't have a program what can play it back :D

Edit: profile dnxhr_hq needs also resolution and format parameters - but after export is ready, I don't find a program what can open it - even VLC can't.
5D3.113 | EOSM.202

IDA_ML

Masc,

You may want to try MPV player:

https://mpv.io/installation/

It plays DNxHR 444 files perfectly.

And yes, Bouncyball did it for me.  MLVApp v.014 works on both of my computers (the laptop Lenovo 3000 200N and the PC from my post #849).

masc

Thanks @IDA_ML. That works.

I added DNxHD export to MLVApp. It is commited to the repos for now and I got some first test export files.
But that will need a lot of test - DNxHD is a very angry codec @ ffmpeg: if there is just one false character in the command -> BAAMMM. And the commands are not sooo short :)

I added 4 export options: 1080p & 720p, both @ 8 and 10 bit. Aspect ratio will be forced to 16:9, whatever it was before. Export will work only, if clips are 23.976, 25, 29.97, 50 or 59.94 fps, or if they are forced to that.

Hope anyone can use that... :P
5D3.113 | EOSM.202

Kharak

Have you tried looking at Gopro Cineform codec, which is open source now?

10 bit YUV, 12 bit RGBA, custom aspect ratio/resolutions up to 4K and I read somewhere it can be exported as 16 bit aswell. Though i have not seen 16 bit option in any of the software i have used.

https://gopro.github.io/cineform-sdk/
once you go raw you never go back

masc

Now there is also DNxHR 444 codec - for now only 1080p 10bit. Does someone need DNxHR 444 at 8bit and/or 720p?

Quote from: Kharak on March 08, 2018, 02:28:58 PM
Have you tried looking at Gopro Cineform codec, which is open source now?

Yes we did. But nobody of us understands this code. That is why we decided to wait until it is supported by ffmpeg as encoder, then we could add it very easily. See https://github.com/ilia3101/MLV-App/issues/38 for latest information...
5D3.113 | EOSM.202

bouncyball

Hi  guys!

Here is the LINK explaining why cineform official inclusion to ffmpeg is kinda stalled. Sad but we can't do anything about it.

However, VirtualDub-FilterMod supports native cineform encoding/decoding (version 10) and I'm using it with great success. There is a plugin to support cineform and it is open source. I guess it is LOT of time/work but can be considered as doable.

@masc, yes it was -O3->-O2 which I committed lately :)

bb

masc

Quote from: bouncyball on March 08, 2018, 05:08:11 PM
@masc, yes it was -O3->-O2 which I committed lately :)
Nice one!

I now added DNxHR HQX, HQ, SQ & LB - all in 1080p - to MLVApp as export codec.
5D3.113 | EOSM.202

bouncyball

It's not very nice that this codec forces us to particular resolutions.

I always preferred cineform.

Danne

Quote from: bouncyball on March 09, 2018, 03:26:00 PM
It's not very nice that this codec forses us to particular resolutions.

I always preferred cineform.

Word...

IDA_ML

Hello guys,

After playing for more than a week with v.014 of MLVApp which Bouncyball was so kind to adopt for usage with very OLD PCs, I am now ready to report my first impressions:

BUGs
====

1) The software crashes when rendering large MLV files shot at 24 fps.  I tried to render a 1,25 GB  from the 100D and it crashed every time at different locations of the time line.  It works fine with smaller files though.

2) MLV files shot at the full sensor resolution (FRSP) as timelapse sequences with the silent module do not record properly in the destination folder after rendering is completed.  Just an empty file (0 bytes) gets recorded.

3) Sound does not play while playing a clip in the main window.

4) Dark frame subtraction does not seem to be doing anything.  I recorded a MLV file at ISO 3200 (quite noisy) and then a dark-frame MLV at the same settings with the lens cap on that I used for the subtraction.  The software imports it fine as Ext file but the noise on the original does not get affected even after export.  Am I doing something wrong?

Overall Impression:
============

I am quite satisfied with MLVApp.  I love the nice and vibrant colors and the fact that they are fairly easy to adjust.  My favorite feature is the Chroma Separation which kills color noise while preserving fine detail - very useful.  I wish, export was a little faster but all in all, MLVApp is a great and efficient tool for working with MLV files.

--------------------------------------------------

I have to run now but I will continue with suggestions and comparisons when I find some time for that.


masc

Hej IDA_ML, thanks for your feedback! Happy to hear that you like the app. You are using a 32 or 64bit version?

1. & 2.: Could you please upload these two MLVs? I never had such problems, so it would be nice to have such files for debugging!

3. Is the audio output and drop frame mode active? Otherwise sound can't be played back.

4. Do you use the darkframe file as it is, or have you averaged it? You can do this by opening your noise file, exporting as MLV->Averaged Frame. Then import this averaged file as darkframe. The dynamic noise won't be filtered with that. But static noise is filtered. For 5D3 files the left side of the picture is less pink than for example.

MLVApp renders 100% CPU based. That's why speed could be better - but as it is it runs on nearly every computer of the last 10 years. ;)
5D3.113 | EOSM.202

bouncyball

1. and 2. agree with @masc. Giving us original uncut samples will be very helpful.

3. With latest Win32 build sound does not work at all for some unknown reason. Please use 64bit version when possible. (if 64bit has no audio then check what @masc explained)

4. As @masc mentioned above Dark Frame has to be prepared before using it. 200-300 frame DF MLV has to be averaged. Select in export options averaged frame. This will export real averaged 1 frame MLV for you. Then it can be loaded as Ext DF. Effect will be seen immediately when clicking Off/Ext/Off...

Speed is the matter of heavy optimizations. Maybe someday... :)

Danne

Quote from: bouncyball on March 15, 2018, 09:10:29 AM
4. As @masc mentioned above Dark Frame has to be prepared before using it. 200-300 frame DF MLV has to be averaged. Select in export options averaged frame. This will export real averaged 1 frame MLV for you. Then it can be loaded as Ext DF. Effect will be seen immediately when clicking Off/Ext/Off...

Could this step be automated? Check for black MLV file and determine whether the darkframe has been averaged or not? Should be simple to determine if there´s one averaged frame or around 200 non averaged ones?

Since you are using ffmpeg it´s rather easy to check for black frames.
#detect blackframe thorugh ffmpeg(example is with a mov file):
if grep -q 'pblack' <<< $(ffmpeg -i $(ls *.MOV | head -1) -vframes 1 -y -vf blackframe -f null /dev/null 2>&1 | grep -m1 'pblack')
then
echo yes
fi

bouncyball

Hey Danne,

Yeah, there could be done any checks you want.

1. Black (dark image) or one frame MLV.
2. Say in message box that this MLV is not right one for DF subtracting, "But hey wait a minute!"
3. If frames are dark all along the whole clip, average them to DF.
4. Add DF with defined name to appropriate DIR to be used with appropriate footage.
5. Play some hurray song and congratulate user with 1st ever dark frame subtraction accomplishment, despite he even has no idea what it is and what he's done :P
6. Do it again and again...

Well... may be some day ;)

Danne

Or maybe only adding a check for if the selected darkframe is averaged or not and react accordingly. Don´t even need to be checking for dark/bright, only size of MLV.
Cheers  :D

bouncyball

Some while back I wanted to introduce the separate DF file format but after thinking a bit more I decided to go with mlv_dump compatible way (MLV) despite this was more work than just new format import/export. I was making MLV export anyway so I added averaging as an option.

Also my point was to include DF to the mlv itself. So does MLV App during MLV export if external DF is loaded. I fully understand that this is not an optimal approach when you have to quickly process dozens of clips, it is just for people like me who keeps lots of clips in acquisition format. The dedicated DIR with preaveraged DFs for various cases is the way to go to automate and make clip processing fast.

For the beginning just checking the MLV frame amount (1 or more) is a good thing to warn user and tell him he needs to average the clip first.

masc

Quote from: bouncyball on March 15, 2018, 09:10:29 AM
3. With latest Win32 build sound does not work at all for some unknown reason. Please use 64bit version when possible. (if 64bit has no audio then check what @masc explained)
Really? For me that works on Win32.

Quote from: bouncyball on March 15, 2018, 12:46:01 PM
For the beginning just checking the MLV frame amount (1 or more) is a good thing to warn user and tell him he needs to average the clip first.
No prob... that is done easily.
5D3.113 | EOSM.202

bouncyball

Quote from: masc on March 15, 2018, 12:49:34 PM
Really? For me that works on Win32.
Yes :( after -O2 sound does not work on my Core2 CPU PC for win32 build.

Quote from: masc on March 15, 2018, 12:49:34 PM
No prob... that is done easily.
Yes sure it's not hard, but check should be done in C lib not in mainwindow.cpp. I'll take care of it.

IDA_ML

Hello Bouncyball and Masc,

Following your instructions, I got sound during playback working.  Thanks a lot!  As far as Dark Frame Averaging is concerned, I did exactly what you suggested ("200-300 frame DF MLV has to be averaged. Select in export options averaged frame. This will export real averaged 1 frame MLV for you. Then it can be loaded as Ext DF. Effect will be seen immediately when clicking Off/Ext/Off...") BUT I still do not see the effect, although the averaged 1 frame MLV was successfully created and I loaded it as Ext DF (see B. below for the dark frame footage). Could it be that the dark frame footage was not long enough for averaging?

As you requested, I have prepared a few MLV files for you to see what's wrong:

A) A 1,25 GB file (shot on the 100D, in movie crop mode at 24 fps, 1800x1012 and ISO 3200) for Masc.  With this file, after a few basic adjustments MLVApp crashes while rendering at different locations of the timeline, every time I open and render it.  Download link:

https://we.tl/tQs3enc3D6

B) A 116 MB Dark frame footage file shot at  exactly the same settings as in A) but with the lens cap on.  Download link:

https://we.tl/Y1eg2hf84d

C) A 950 MB file shot with the Silent module of the 100D as a FRSP sequence (30 frames) to see how MLVApp hangs at the end of the export.  After waiting for several minutes, I pres Abort and get the usual message: MLVApp has stopped working.  Download link:

https://we.tl/BD5NQBikma

===================
I hope, this helps.  Links will be active for 7 days.
 

IDA_ML

At this point, I would like to make a few suggestions for improvement that, in my opinion, will make MLVApp better and more user friendly:
------------------------------------------------------------------------------------------------------------------------------------------------------------

1) I am missing the White Balance Eye Dropper Tool and the Contrast Slider.  Right now, we have two sliders for the Dark and Light ranges and strengths.  In my opinion, it would be much more intuitive if the two pairs of sliders are replaced with single sliders called "Blacks" and "Whites", respectively.  This will make centering the histogram easier and save some time too.  And most important: MLVApp's interface  will become almost identical with ACR!

2) I am missing also the Monochrome Noise Reduction slider.  Right now, the Chroma Separation slider works miracles with killing the color noise.  Why not adding also a tool for monocrhome noise reduction, as in MLV Producer?

3) I fully agree with the other suggestions made in this thread (see posts #850, #851 and #917).  These will be very helpful.

4) One of the greatest features of MLVApp in my opinion is that it opens almost instantaneously.  I have made my file associations in such manner that files with MLV-extention open with MLVApp.  This makes the software a great replacement of the highly popular MLRAW Viewer that was unfortunately abandoned by his author.  Now, w.r.t. MLVApp, I have the following suggestions:

a) When more than one MLV files are selected in Explorer and dragged onto the  MLVApp icon, they should all open up as thumb nails in the session window.  This will make it easy to view the thumb nails of multiple files at a glance.  Right now, only the first of the highlighted MLV files gets loaded in the Session window.

b) I was wondering if it may be possible to get MLVApp creating thumbnail  previews of all MLV files in a folder right in Windows Explorer.  Windows does this with MOV and MP4 video files already.  Would it be possible to have thumbnail previews with MLV-files too?  This will make  lives of all of us a whole lot easier, especially when sorting, cleaning up, moving clips, etc.

5) The greatest feature of MLVApp is its ability to run on older computers and laptops which are not powerful enough to run software like DaVinci Resolve for example - important for mobility and field work.  On the other hand, MLVApp runs painfully slow, especially with larger resolutions.  I made a few speed tests rendering the same file with MLV Producer and then with MLVApp in H.264 format on the same laptop.  MLVApp is more than 3x slower.  On the other hand, I have noticed that I can open 3 or 4 times MLVApp, split my clips between them and have them render simultaneously.  This works and I notice substantial reduction in render times when I do that. This makes me wonder if MLVApp could be optimized in such manner that it uses multi threading in a more efficient way and run faster eventually.
--------------------------------------------

I am sure, the developers will feel totally overwhelmed by so many suggestions but please guys, take your time, see what is doable and what not and continue improving your amazing software step by step as you have been doing so far.   You are doing a great job and I am sure, many people in this community greatly appreciate your enormous efforts.  So, keep up your excellent work!