MLVFS - a FUSE based, "on the fly" MLV to CDNG converter

Started by dmilligan, August 31, 2014, 02:01:24 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

70MM13

To windows users:
I ran into a problem with very high resolution footage using card spanning, with frames being corrupted.
It seems to be solved by updating to dokan v 1.5.1.1000

mlrocks

"upgrading to the last 1.x version of dokan seems to have solved the issue... v 1.5.1.1000"

what is this dokan for?

70MM13

windows doesn't have fuse.  dokan is the alternative.  look at the first post on this thread for details.

the dokan link provided there is from 2014 and is a much older version.


Norcine

Beginner here who's been using MLVFS recently for editing mlv files from my eos-m in Resolve and it is working just as I hoped. Except for focus pixels / pink dots in the video.
I tried to search the forum for solution, but could not easily find it (forgive me if I missed it). Only simple instructions I found were this:

Quote from: dfort on April 18, 2019, 09:21:50 PM
Realized that there are several newcomers trying to figure out how to use the focus pixel map files so here's a quick tutorial:

The easiest way to get the map files is to download the whole repository from the downloads page:

https://bitbucket.org/daniel_fort/ml-focus-pixels/downloads/

Take all of the .fmp files in the focus_pixel_map_files directory and place them next to the MLVFS binary. I'm on a Mac so it is located in my home directory > Library > Services > MLVFS > Contents (doing Control click on the MLVFS in order to get into the package contents). Never used MLVFS on Windows or Linux so I'm not sure how that works.

Same thing with MLV App, put the .fpm files next to the binary. MLV App is currently the best way to work with 5K Anamorphic files and yes, it is possible to export cdng using that application with fixed focus pixels and adjusted aspect ratio.

Either MLVFS or MLV App is a great way to get your raw footage into editing systems that can handle cdng files like DaVinci Resolve or After Effects. However -- only editing apps that use Adobe Camera Raw (like After Effects) seem to respect the resize and aspect ratio metadata in the cdng files so you'll have to adjust the image size if you want to use these dng files directly in Premiere or Resolve. You can also export to Prores or other several other file formats from MLV App and not worry about the resize/aspect ratio issues.

But the link is not working.
How do I remove these Focus Pixels in MLVFS now?

MLVFS Version: 24ebdf5 May 5 201718:56:15
Resolve 17
macOS Catalina

Example

julien becker

Quote from: Danne on March 14, 2023, 04:41:18 PM
I have bash integration with Mlvfs through menu navigation in this app/workflow:
https://www.magiclantern.fm/forum/index.php?topic=15108.0

select "ml" from the root menu. Fuse from here:
https://osxfuse.github.io/
Install apple silicon or intel dependeing on what machine you are running.

Thanks Danne for pointing to Switch, it's working very good. At least for non-dualiso files.
Perhaps I'm doing something wrong, but when I choose option (10) to render Dual ISO and than A to activate MLVFS, I get following message :
QuotePlease enter your selection number below:
A
ls: /tmp/no_files: No such file or directory
ls: /tmp/SCALETAG: No such file or directory
ls: /tmp/DUALISO/crop_rec: No such file or directory
fuse: unknown option `-n'

and the Finder seems to freeze, I need to restart.
Do you know why this happens ?

Danne

Dualiso is not very nice in mlvfs.
Rendering to prores is quite nice.


cmh

MLVFS for Dokany 2.1
https://github.com/cmhamiche/MLVFS/releases/tag/Release

- Install Dokany v2.1.0.1000
https://github.com/dokan-dev/dokany/releases/tag/v2.1.0.1000

- Edit mlvfs.bat by changing the path to you MLV files (or just the letter of your SD card) in the argument --mlv-dir=E:\DCIM\100CANON\ or use it directly in a command prompt


Nvm, it produces white dots on the dark parts of the picture.

If someone need a workflow that works with the free Resolve version, I shared my files there:
https://github.com/cmhamiche/Resolve_DNG_Workflow

vastunghia

So, I was thinking about the issue I have with MLVFS -- namely, that even with a super-fast NVMe drive, my CPU power (i5-8500) is not enough to guarantee real-time (24 / 25 fps) playback in DaVinci Resolve, when using MLVFS with 3.5K (3.7K in UHD terms), 14-bit lossless compressed raw footage. It seems close to. But not enough.

So I realized that, at least for the purpose of selecting shots / editing / color grading, half fps would probably be at my CPU's reach and would not cause so much bad experience for me. And when I say 'half fps' I mean skipping one frame every two.

I tried to understand if there is such an option in DVR, but apparently there is not. So I was wondering if this could be possible on MLVFS side: maybe some sort of option that would expose to the file system (and to DVR in the end) 1. an fps metadata keyword which is half the actual one and 2. one frame every two (say, only odd ones, but enumerated consequently -- 001, 002, 003 etc).

Do you think this would work?

(And: is there anybody out there being able to playback 3.5K 14-bit footage in real-time using MLVFS?)
5D3 for video
70D for photo

names_are_hard

Sounds plausible to me.  I think the bigger problem is, who's going to do the work?  Last time MLVFS was updated looks to be 8 years ago?

vastunghia

I was expecting this objection ;)

My only hope is that 1. this new feature is not so difficult to implement (and it does not sound so), 2. some guy smarter than me at reading code is experiencing my same issue, and 3. he/she will read this post and think "Dang! Good idea! Let me implement this!"
5D3 for video
70D for photo

names_are_hard

Nobody wanted to do it in the last 8 years.  I think it will be quicker if you learn how yourself.  No harm asking, of course.

vastunghia

Define 'quicker'

Anyway I might have some spare time when my sons are grown up, that will happen in a few years, will look into that then and let you know how it goes ;D

Apart from jokes, I took some C/C++ courses back at uni some 20 years ago and have been using Python for scientific programming for work since then. If somebody could at least give me a hint at where to start looking, and for what to look, I would even give it a shot.
5D3 for video
70D for photo

names_are_hard

Quicker: taking less than 8 years :)

Having never looked at the MLVFS code, and never worked with FUSE either, I can only wildly speculate.  I assume MLVFS translates accesses to the MLV file, by indexing within the file to know where each frame is, checking what's being accessed, and turning that frame into DNG (or whatever, I've never used it).

So, assuming I'm guessing right, somewhere in there it maps access location to frame.  You'd want to change that mapping so accesses to frames 1 or 2 returned the data of the dng generated for 1, and you'd want to ensure there's caching.  I'd guess the FUSE layer does caching for you.

For example, if we pretend frames are at even 1000 byte offsets, and that 1000 bytes of MLV frame turns into 1000 bytes of DNG, reads from offset 10 and offset 1010 into the MLV should both return the data offset by 10 in the DNG generated for the first frame.