Development Thread: Footage for Mac (New Mac app for MLV)

Started by martinhering, February 12, 2017, 09:27:39 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

martinhering

Hi,

I am Martin Hering, a long time Apple Developer. I recently got into filming and Magic Lantern. As a developer I was a little frustrated with the RAW processing situation on MacOS. There seems not to be an all-in-one setup-free solution that is able to develop RAW images and export to ProRes or whatever. So I decided to fill this gap. I only put in a couple of hours yet, but developing RAW and export to ProRes already works. You don't need any other tools or programs, you only need to run this app. Here's a screenshot:



And here's an example ProRes 422 export, filmed with a 5d Mark III (350 MB):
https://www.dropbox.com/s/qnh54t35o7oyc1n/M05-1847.mov?dl=0

The application uses Apple's system RAW engine and Core Image for image processing. Export is 2.8x faster than MLRawViewer. Here is what I have planned for 1.0:

- Folder based file management
- Batch processing files
- Histogram and RGB Parade
- Reference Mode (2 images side by side to match footage)
- Export to all kinds of formats

Let me know what you think and if you like to test it out. I might be able to post an alpha version in 2 weeks. Also please post your feature requests.

Cheers,
Martin
5D Mark III, EOS M, 700D

Danne

Interesting. How are you exporting different flavours of prores? Could you share code?

martinhering

This is a Mac-only app, so I am using AVFoundation's AVAssetWriter class to export ProRes. There's lots of sample code at developer.apple.com.
5D Mark III, EOS M, 700D

Lars Steenhoff

Nice!

feature request, a thumbnail overview of all the mlv files so looking for a shot by image will be easier.

lostfeliz

Would love to try it out. Will it work directly with MLV files or does it need converting first?

Thanks for sharing what you're working on.

martinhering

It'll work with MLV files directly. However maybe not every feature is going to be supported first, since I am implementing everything from scratch. But standard video and audio should be fine.
5D Mark III, EOS M, 700D

DeafEyeJedi

Quote from: martinhering on February 12, 2017, 09:27:39 AM
...Let me know what you think and if you like to test it out. I might be able to post an alpha version in 2 weeks. Also please post your feature requests.

Welcome aboard @martinhering and I am extremely intrigued by your work as few of us have been waiting for yet another Mac guru with a background like yours to come on board, literally for years!

It was definitely worth the wait but I haven't tested it yet and wanted to ask does it export ProRes4444XQ at the very least, right? :D

Also do you plan on including with an option to use a Waveform and if possible an option to apply Logs/LUT's of our own as well within Color Space?
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

MitchLally

Oh snap. This looks cool. Can it deal with sound and 10/12 bit dngs? :) Looking forward to a release.

reddeercity

Very Interesting some as DeafEyeJedi does it export ProRes4444XQ or are you using FFmpeg ?
If you are using Mac backend AV Foundation it should, plus are you also using MAC Camera Raw backend
for white & black levels ?

Teamsleepkid

please have it remove focus pixels:) i wanna try it now. do we really have to wait 2 weeks? and thank you for your work sounds amazing.
EOS M

martinhering

QuoteIt was definitely worth the wait but I haven't tested it yet and wanted to ask does it export ProRes4444XQ at the very least, right? :D
QuoteOh snap. This looks cool. Can it deal with sound and 10/12 bit dngs? :) Looking forward to a release.

OK, so the RAW is 14 bit. This image gets processed in Core Image using 64 bit float and then drawn into a ProRes4444XQ 12-Bit pixel buffer. If you choose ProRes 422, it's only 10 bit, but also fine. This is the highest quality workflow, I could come up with. I could process the image using 128 bit floats, but I really can't see any difference in the result. It just uses more memory.

Quoteplus are you also using MAC Camera Raw backend for white & black levels

Yes, I am.

QuoteAlso do you plan on including with an option to use a Waveform and if possible an option to apply Logs/LUT's of our own as well within Color Space?

With Waveform, I suppose you mean the image diagram and not the audio waveform. I could do that, not planned yet though. LUTs are definitely planned. As for color spaces, currently it can convert to sRGB, Adobe RGB, Rec.709, C-Log, S-Log, S-Log2, S-Log3. Let me know what else you need and where I can find the formular.
5D Mark III, EOS M, 700D

Simonwb

Marvellous and thank you, Martin, looking forward to the release.
5D3.123 | 5D4 | C100ii | 16-35 f4 | 24-105 f4ii | 70-200 f2.8ii | 50 f1.2 | 100 f2.8 | Samyang 16, 24, 35, 50, 85, 135


DeafEyeJedi

Quote from: martinhering on February 13, 2017, 08:04:15 AM
With Waveform, I suppose you mean the image diagram and not the audio waveform. I could do that, not planned yet though.

Correct. Would be useful.

Quote from: martinhering on February 13, 2017, 08:04:15 AM
LUTs are definitely planned. As for color spaces, currently it can convert to sRGB, Adobe RGB, Rec.709, C-Log, S-Log, S-Log2, S-Log3. Let me know what else you need and where I can find the formular.

Look below...

Quote from: Lars Steenhoff on February 13, 2017, 09:47:18 AM
cinelog luts support would be cool

http://www.cinelogdcp.com/cinelogc-overview/

You can ask for the formula here on the forum

http://www.magiclantern.fm/forum/index.php?topic=10151.0

+10 but also keep in mind that this actual Log is a paid product commercially and would require certain users to use this -- reach out to @Andy600 and maybe he'll give you hints?
5D3.113 | 5D3.123 | EOSM.203 | 7D.203 | 70D.112 | 100D.101 | EOSM2.* | 50D.109

dfort

Quote from: martinhering on February 12, 2017, 09:27:39 AM
...here's an example ProRes 422 export, filmed with a 5d Mark III (350 MB)...

Could you post a short example in ProRes 4444 XQ? That's what the raw video users want to work with.

martinhering

QuoteCould you post a short example in ProRes 4444 XQ? That's what the raw video users want to work with.

I did a little digging into the 4444 XQ situation. It is very bizarre. There 2 media architectures: QuickTime and AVFoundation. QT is 32-bit only. I am using AVFoundation. The ProRes AVFoundation plugin sits in /System/Library/Video/AppleProResCodec.bundle. It contains support for 4444XQ, however only decoding. When you get FinalCut or Compressor, you can extract a plugin component called "AppleProResCodecEmbedded.component", which contains 4444XQ encoding. This is the 32-bit only QT Plugin. It is used by FinalCut and Compressor via the AVFoundation plugin "AppleCMQTAdapterCodec.bundle". You can copy the "AppleProResCodecEmbedded.component" into /Library/QuickTime to enable 4444XQ encoding in old apps like "QuickTime Player 7". Unfortunately I could not get the "AppleCMQTAdapterCodec.bundle" to work. No hack I know worked. I could go ahead and implement a 32bit process that encodes 16bit RGB image, but this seems to be a lot of work for something that Apple might enable in the near future.

Anyway, I can only offer normal 4444 at the moment. Here are two sample clips (1.3 GB each):
https://www.dropbox.com/s/fa0gej9yvvs64ry/M14-0954.mov?dl=0
https://www.dropbox.com/s/08jsc80n1qnpbus/M14-1031.mov?dl=0

Quote+10 but also keep in mind that this actual Log is a paid product commercially and would require certain users to use this -- reach out to @Andy600 and maybe he'll give you hints?

I checked it out. Thanks for the hint. Looks very good. It shouldn't be a problem to support LUTs for color space conversion. However it seems that I can't ship the app with embedded support for it.
5D Mark III, EOS M, 700D

Lars Steenhoff

Having support for user LUTs is very nice indeed.

As for colorspace I think aces will be good, I have not used it yet, but it seems to be an industry standard in cinema.

https://en.m.wikipedia.org/wiki/Academy_Color_Encoding_System

And perhaps Rec2020


kontrakatze

This looks very promising! A picker for WhiteBalance would be great.

Teamsleepkid

Please please can we try it! It's like dec 23rd over here waiting for Christmas lol
EOS M

Lars Steenhoff


martinhering

OK, I finished up the first Alpha build. You can download it here: http://bit.ly/2kHwn9V

- Open the app and click on the + button in the top left corner of the window
- Add 1 or more MLV files or select a folder
- Select the files in the left sidebar
- Editing the image parameters in the right sidebar
- Change the video possible below the image preview
- Export with the export button in the top right corner of the window

That's it. Happy testing. Let me know what you think.

There's also a new screenshot:

5D Mark III, EOS M, 700D

Teamsleepkid

I'm on eos m. clicked the plus sign added a file. only see black screen no preview of the mlv file..tried to export it without seeing it and it crashed. maybe because I'm on 10.12.4 sierra?
EOS M

martinhering

QuoteI'm on eos m. clicked the plus sign added a file. only see black screen no preview of the mlv file..tried to export it without seeing it and it crashed.

Can you provide a sample MLV file?
5D Mark III, EOS M, 700D


aschille84

Really cool, thanks alot!

I have some suggestions: [edit:] toggle grade on/off, reset grade, zooming in preview window (to check noise, sharpness)
Beautiful layout. Nice work :)

(yeah, and app crashes when exporting, im on macOS sierra)