MlRawViewer 1.3.3 (CDNG/MLV/RAW Viewer & Encoder, Linux/Mac/Win)

Started by baldand, December 09, 2013, 06:10:19 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

baldand

Quote from: swinxx on August 11, 2014, 06:43:38 AM
hi, i tried some mlv 5d mk3 conversion with the the latest version of mlrawviewer 1.2.1
works great here, but when i import the footage into davinci resolve, the program crashed while working with the material.
that is strange because it happens unintentionally. (not from the very beginning but suddenly within the working process. (when working with the material) the video preview window freezes and the program stops to work. but not from the very beginning. (after i don't know.. one minute? or so)
i don't know if it is a problem with the converted material, but it always freezes when the new material is previewed, and i did not have such a problem with other material (converted with 1.1.7)
my resolve version: 11
my mac osx: 10.9.4

greets. sw

Did the clip have audio? If so, can you remove the WAV file from the DNG directory and see if it still crashes without that?

budafilms

Quote from: baldand on August 11, 2014, 06:58:29 AM
Thanks for the feeedback.

I see problems reading the audio file in the Resolve log. Can you manually delete the WAV file from within the DNG export difrectory before opening it with Resolve, and see if that still crashes?

UNDO/REDO stack and reset option seem like good possible features for the next version now that there is clip setting persistance. I'll look into that.

Yes Sir, is the .WAV file!

baldand

Quote from: budafilms on August 11, 2014, 07:47:56 AM
Yes Sir, is the .WAV file!

OK.

Do you see any obvious problems with the WAV file? is the file size less tham expected? Are you able to open and play it correctly in a program other than Resolve?

flostro

Thank you Baldand for the latest release and all your work!

I also seem to have trouble with the sound in 1.2.0/1.2.1 when converting to ProRes.

.raw conversion works as expected as well as the new fps override.

When I try to convert a mlv with sound the files stays at 0% in export queue and then just finishes without a error message.
The log file said something about "stdoutWriter"
I looked at the wav file that is created in the source folder and it is fine when i just play the mlv, but after the failed conversion it overrides the wav and it becomes unplayable with a filesize of 1KB.

I used 5D III footage on Win7

budafilms

Quote from: baldand on August 11, 2014, 09:02:04 AM
OK.

Do you see any obvious problems with the WAV file? is the file size less tham expected? Are you able to open and play it correctly in a program other than Resolve?

The wav it's not usefull. I can't open in any software under OSX. It's too small.

barepixels

Quote from: baldand on August 11, 2014, 06:49:19 AM
Thanks. My guess here is that one or more of the later files in the sequence is missing the normal MLV header chunk, which is usually (I mean in all MLV files produced by mlv_rec) in all the files.

To test this theory, you could try this:

- Move or rename the .M02 file, then try to open the MLV file again
- IF that doesn't work, also move or rename the .M01 file, then try again
- Repeat step above with .M00 file.

If it only works with the MLV file, then I would say there is a bug in the full res silent pics code. It is not writing a file header section in subsequent files after the initial .MLV.

it only works with the MLV file after i rename .M02, .M01, .M00
5D2 + nightly ML

ToS_Maverick

Hi Andrew,

thank you for making the FFMPEG settings configurable!
I was playing around with it and it seems I've opened pandora's box.

I was curious if I could see a difference between ProRes4444 and plain old H264 in the form of X264 @ CRF 15, which should be transparent. I noticed no difference with the avg bitrate being around 25 mbit. Then I stumbled upon this thread:
http://forums.creativecow.net/thread/291/1137

It seems that FFMPEG converts RGB48 to YUV in 8 bit, which would be really bad. I fired up Davinci Resolve and had a look for myself.

I exported a clip with MlRawViewer in Log and Resolve with the BMDFilm gamma curve and matched the gamma curve between the two. Then I crushed the blacks severely to see if banding occurs.

Here are the results:




Conclusion:
FFMPEG seems to indeed process in 8 bit and ProRes4444 in Resolve is worth the extra bandwidth/bitrate.

I don't know if it's possible to feed FFMPEG directly with yuv444p12le to avoid the conversion but I think so. The conversion code for MlRawViewer has to be written though...

baldand

Quote from: ToS_Maverick on August 11, 2014, 03:13:42 PM
...
Conclusion:
FFMPEG seems to indeed process in 8 bit and ProRes4444 in Resolve is worth the extra bandwidth/bitrate.

Hi! Thanks for studying this topic.

I made a quick test input file covering the full range of 10bit input values, and encoding that with ffmpeg, then decoding back to rgb48 didn't show any obvious 2 bit quantising (though values do get changed due to the reduced value space). So I don't think your conclusion about the 8 bit conversion is correct.

Here's something else to try. The current default encoding uses the "-q:v 4" param, which changes the encoder to fixed qscale mode. Remove that argument, and instead add "-bits_per_mb 8000". Have another go with your test file and let us know in case that looks any better than the default.

You can also try, e.g. "-q:v 2" or "-q:v 0". All those settings should affect the final bitrate (and hence quality)

(The main reason to use the fixed qscale is that it encodes much faster, but if it turns out to be causing poor quality that will have to change!)

baldand

Quote from: barepixels on August 11, 2014, 01:19:55 PM
it only works with the MLV file after i rename .M02, .M01, .M00

It very much sounds - though I can't confirm for sure without the files in my hands - as though the silent picture MLV code is not writing the MLVI block at the start of the subsequent files (.M00, .M01, etc) in the series.

From the MLV format thread (http://www.magiclantern.fm/forum/index.php?topic=7122.0):
"- MLVI block is the first block in every .mlv file"
and
"- using the GUID a tool can detect which partial or spanning files belong together, no matter how they are named"

While mlv_dump may be handling/decoding these file sets ok, MlRawViewer expects that block at the start of each file in the series. I think you should raise this as a possible bug against the Magic Lantern silent picture MLV code.

baldand

Quote from: budafilms on August 11, 2014, 11:45:29 AM
The wav it's not usefull. I can't open in any software under OSX. It's too small.

Thanks for your help. That was the kind of information I need to diagnose the cause of the issue. I'm investigating it now...

swinxx

Baland - thank you for your great help, support and of cause for your program which is evolving into the best and most professional converter available. You are really outstanding!!
Keep on doing what you do, cause you do it great!!

Danne

Yeah, couldn,t agree more. Most grateful. This app rock!

ToS_Maverick

Quote from: baldand on August 11, 2014, 06:26:10 PM
You can also try, e.g. "-q:v 2" or "-q:v 0". All those settings should affect the final bitrate (and hence quality)

(The main reason to use the fixed qscale is that it encodes much faster, but if it turns out to be causing poor quality that will have to change!)

Thank you for the suggestions, that did work!

Q0 was clean, Q2 was bigger than Q0 and showed macro blocking. Q3 is the same size and shows blocking as well. Seems the bitrate distribution is different right?



I think we should be safe using this:
-f mov -vf vflip -vcodec prores_ks -profile:v 4 %s.MOV

Jbowdach

Would you be able to add the ability to apply a LUT file to the MLV files instead of using the built-in LOG, HDR, profiles? This would be enormously useful for conversion to VisionLOG, CineLOGDCP, etc in terms of applying specific log profiles or just using a general LUT overall?

baldand

Quote from: Jbowdach on August 12, 2014, 01:47:59 AM
Would you be able to add the ability to apply a LUT file to the MLV files instead of using the built-in LOG, HDR, profiles? This would be enormously useful for conversion to VisionLOG, CineLOGDCP, etc in terms of applying specific log profiles or just using a general LUT overall?

LUTs would be possible - by which I mean LUTs loaded from simple/obvious file formats. LUT support is on the enhancement list (you can vote for it -> https://bitbucket.org/baldand/mlrawviewer/issue/18/log-output-and-3d-luts-should-be-supported)

However, I don't know how to support DCP files, since those are a binary file format intended for Adobe products. So to use VisionLOG, or CineLOG, you would need to get "simple" LUT versions of those, or else help me find a spec for the DCP file format.

Jbowdach

Quote from: baldand on August 12, 2014, 06:59:07 AM
LUTs would be possible - by which I mean LUTs loaded from simple/obvious file formats. LUT support is on the enhancement list (you can vote for it -> https://bitbucket.org/baldand/mlrawviewer/issue/18/log-output-and-3d-luts-should-be-supported)

However, I don't know how to support DCP files, since those are a binary file format intended for Adobe products. So to use VisionLOG, or CineLOG, you would need to get "simple" LUT versions of those, or else help me find a spec for the DCP file format.
I'm referring specifically to 3d LUTs, not Adobe camera raw profiles. There are 3d LUT versions of visionlog that use .Cube based files for resolve

ToS_Maverick

Finally I've tried DNxHD and was able to get "real" 8 bit data, since this is explicitly "supported" (ProRes defaults to 10 bit no matter what).

It looks like this:



The 10 bit DNxHD is comparable to PR422 but at a higher file size.

If you want to try for yourself, here are the settings:
DNxHD
-f mov -vf vflip -vcodec dnxhd -b:v 185M -pix_fmt yuv422p10le %s.MOV

DNxHD 8 bit
-f mov -vf vflip -vcodec dnxhd -b:v 185M -pix_fmt yuv422p %s.MOV

ProRes 422
-f mov -vf vflip -vcodec prores_ks -profile:v 2 -pix_fmt yuv422p10le %s.MOV

ProRes 422 HQ
-f mov -vf vflip -vcodec prores_ks -profile:v 3 -pix_fmt yuv422p10le %s.MOV

ProRes 4444
-f mov -vf vflip -vcodec prores_ks -profile:v 4 %s.MOV

timbytheriver

Hi @baldand

This just gets better and better – thank-you!

QuoteThis should allow you try to try different ProRes variants and bitrates (e.g. for proxies), as well as any other container or codec like H.264, or even JPG/PNG/TIFF output.

Does using this option now allow me to export to Cineform (as long as it is on my machine). Please, please tell me it does – and the code I'd need to achieve it! :D

tim
5D3 1.1.3
5D2 2.1.2

baldand

Quote from: timbytheriver on August 12, 2014, 12:33:07 PM
Hi @baldand

This just gets better and better – thank-you!

Does using this option now allow me to export to Cineform (as long as it is on my machine). Please, please tell me it does – and the code I'd need to achieve it! :D

tim

This lets you use any encoder supported by ffmpeg. But I don't believe cineform is one of those.

timbytheriver

5D3 1.1.3
5D2 2.1.2

baldand

MlRawViewer 1.2.2 available for testing

(This replaces build 1.2.1, which did not correctly extract audio from MLV files.)

Windows: https://bitbucket.org/baldand/mlrawviewer/downloads/MlRawViewer_1_2_2_win32.zip
Mac: https://bitbucket.org/baldand/mlrawviewer/downloads/MlRawViewer_1_2_2_mac.dmg

New builds are available and would need some testing. These include a few changes since 1.1.7:

  • FPS override. Press Shift-F to cycle through some alternative frame rates (23.976,24,25,29.97,30,48,50,60) instead of the clip's native rate. The new rate is persisted and used for exporting DNGs and MOVs.
  • Better ActiveArea handling. This should prevent black borders being seen in full frame silent picture MLVs
  • Persistent per-clip settings. Brightness, balance, in/out marks, tone map, external audio file, audio file offset and frame index are written to a ".MRX" file companion for each clip file
  • FFMPEG export parameters read from text files (see earlier message for more details)
  • Export queue processing on by default. This means export will begin as soon as pressing E
  • Fix for OS X crash when exporting DNG with stripe correction
  • Fix for flickering when playing clip while exporting with stripe correction
  • Windows build changed not to use self contained exe to startup faster
  • Should handle source paths and export target paths with accented (non-ASCII) characters better
  • Brightness level shown as EV
  • Reset button for brightness back to EV 0.0
  • White balance dropper. You need to click this first before clicking a neutral object
  • Undo/Redo icons for brightness/balance changes
  • Store/restore icons for brightness/balance changes
  • Default prores export quality arg is -q:v 0 instead of -q:v 4. You will need to manually update your settings in the $USER\.mlrawviewer directory if you used an earlier version with different defaults
Please report any problems you see.

Jbowdach

I put together a quick article documenting my workflow using MLRawViewer.  Should help those just getting started and want a quick walkthrough. Hope it helps!

http://bit.ly/mlraw2pr

Midphase

Thank you for continuing work on MLRawViewer and consistently pushing to add new features. Perhaps I'm alone in the following request, but if I'm not I hope others can chime in.

As MLRawViewer has continued to expand its functionality and options, IMHO it has also become somewhat challenging to use without referring to the text instructions for key shortcuts and the meaning of the various icons.

Is it perhaps time that MLRawViewer gain a proper GUI with an actual file browser, and easy to use checkboxes for the various options? I'm just raising the question because as much as I appreciate all of the work that has gone into it, I find myself still somewhat intimidated by its usage as anything other than an easy way to playback my footage.

I hope that you don't find this request insulting or improper, I really think MLRawViewer is a fantastic little app, but as much as I enjoy alternative UI's for some things (Red Giant products for example), I find myself wishing that MLRawViewer would move toward the type of GUI standards that ultimately just work.

budafilms

I test it under OSX 10.9.4 5D III
MLV 1920 x 1080 25 P ML Build 08-08
Komputerbay 1000x 64GB

FPS override. WORKS!
Export queue processing on by default. WORKS!
Fix for OS X crash when exporting DNG with stripe correction WORKS!
Brightness level shown as EV WORKS!
Reset button for brightness  YES, but the image return to be very DARKER. Cosmetic ISSUE?
White balance dropper. You need to click this first before clicking a neutral object. YES, a little slow in a MAC PRO 2014. You have to wait a couple of seconds.
Undo/Redo icons for brightness/balance changes. Works. It's slow too.
Store/restore icons for brightness/balance changes. Works, slow to. Like receive a lot of instructions.

I tried open the files in DaVinci Resolve and play like a charm!

COngratulations. Teel me if you need other test.

It's the most powerful and complete software for ML RAW and MLV. For Post and in the SET!



timbytheriver

Hi

I'm getting some unexpected behaviour when using the eyedropper. Clicking on point after selecting the dropper produces crazy colours that introduce banding (obvious in blue sky) that seem to be reset only when altering the EV slider up and down. Could it be to do with the following?

QuoteYou will need to manually update your settings in the $USER\.mlrawviewer directory if you used an earlier version with different defaults

I can find the $USER\.mlrawviewer folder but don't know which parameters to edit inside it! Can someone help me update my settings please?

**EDIT**
I've now located these files inside this [hidden] mac folder. For anyone else reading, these are: 'ffmpegWithAudioConfig' and 'ffmpegNoAudioConfig' The code is at the top of each of these files. Correct default should now be:

-f mov -vf vflip -vcodec prores_ks -profile:v 4 -alpha_bits 0 -vendor ap4h -q:v 0 %s.MOV

@badland Pls correct me if this is incorrect!

**/EDIT**

Thanks!

OSX 10.7.5

tim
5D3 1.1.3
5D2 2.1.2