D-Log to Rec.709: converting a whole card at once

D-Log is a flat recording profile, not a look: it stores more range than a screen can show, and a Rec.709 conversion LUT maps it back to something that looks right. Converting a card means applying that one LUT to every clip, which is a batch job rather than an editing job.

Why the footage looks washed out

Nothing is wrong with it. D-Log — and D-Log M on the smaller drones and the Pocket cameras — records a deliberately flat image so that highlights and shadows survive the trip from the sensor to the file. The grey, low-contrast result is the point: it is holding range in reserve.

A screen cannot show that range, so it looks wrong until the footage is mapped back into a normal contrast curve. That mapping is what a Rec.709 conversion LUT does. Rec.709 is the colour standard that ordinary video is delivered in, so "D-Log to Rec.709" is just another way of saying "make this look normal again".

TermWhat it means
D-LogDJI's flat recording profile on the larger drones and cameras
D-Log MThe lighter version on Mini and Action models, 8-bit
Rec.709The colour standard ordinary delivered video uses
Conversion LUTThe file that maps one to the other

Where to get the right LUT

DJI publishes conversion LUTs for its own cameras, and they are the honest starting point: the Mavic, Air, Mini, Avata and Osmo Pocket lines each have their own. Use the one matching the camera that shot the footage — a Mini 4 Pro LUT on Air 3 footage will be close, but close is how skin tones go wrong.

Two things worth knowing before you download anything:

  • D-Log and D-Log M are not interchangeable. A clip shot in D-Log M needs the D-Log M conversion. Using the wrong one crushes the shadows.
  • The official LUTs are a starting point, not a verdict. A common complaint is that they clamp the darker end harder than necessary. Third-party conversions exist for exactly this reason, and many people end up preferring one.

The part nobody mentions: DJI's .cube files are malformed

This one costs an afternoon if you meet it cold. Some DJI .cube files declare their size with a tab character rather than a space:

LUT_3D_SIZE	33

The specification expects a space. ffmpeg — which sits under a great many video tools, whether or not you ever type its name — rejects the file outright rather than reading past it. The error says the LUT is invalid, which sounds like the download is corrupt, and the natural next step is to download it again.

The file is fine. It just needs the character replaced, or a tool that reads around it. BatchTone repairs them on import without saying anything, because the alternative is a user concluding their LUT is broken.

Converting one clip

Any editor will do this. In DaVinci Resolve you add a LUT to a node on the colour page; in Premiere it goes in the Input LUT slot under Lumetri. Both take about a minute once the project exists.

The problem is that a card is not one clip. It is forty, and they all need the same thing.

Converting the whole card

This is where the tools start to fight you, because they are editors and a card of clips is not an edit.

RouteWhat it asks of you
DaVinci ResolveA project, a timeline, clips selected, a LUT applied, a render queue configured
Premiere ProSelect the bin, Modify → Interpret Footage → Color, then batch export — and the export settings fight back
ffmpegA loop in a terminal, no preview, and you learn what it did after it finishes
One at a timeTen minutes a clip, forty clips

All of these work. What none of them do is let you see the conversion on each clip before committing, which matters because the same LUT does not suit every shot on the card. The clip shot into the sun at the end of the flight takes the conversion differently from the one shot in flat overcast ten minutes earlier.

A strength dial is the missing control

The conversion is usually right at full strength, and occasionally too much. A LUT applied at 70% rather than 100% is the difference between a sky that holds and a sky that goes to a solid block.

Editors express this as opacity on a node or a layer. ffmpeg has no opacity on its lut3d filter at all — you have to split the stream, grade one copy and blend it back over the original:

[0:v]split[base][grade];
[grade]lut3d=file=dlog_rec709.cube[graded];
[base][graded]blend=all_mode=normal:all_opacity=0.7

That works, and it is not something anyone should have to write to make one sunset look right.

How BatchTone does it

Drop the folder in, pick the conversion LUT, and every clip gets it. A frame is pulled from each clip and previewed with the LUT applied, so you judge the conversion on the actual footage. Anything that needs less takes the slider down, and the rest of the card stays where it was.

  • The audio is copied across untouched rather than re-encoded.
  • Encoding uses the Mac's own hardware encoder, so a card does not become an overnight job.
  • Original files are never written to; exports land in a folder you choose.
  • Malformed DJI .cube files are repaired on the way in.

There is a seven-day trial with everything unlocked, which is the only sensible way to find out whether it reads your camera's files.

Common questions

Which LUT do I use for D-Log M?

The D-Log M conversion for your specific model. The D-Log version is not a substitute; it will darken the image more than the footage can take.

Does converting lose quality?

The conversion itself is a colour mapping and costs nothing. What costs quality is re-encoding, which is why it is worth exporting once at a sensible bitrate rather than converting, exporting, editing and exporting again.

Can I convert and colour grade in one pass?

Yes, and it is common: the conversion LUT first, a creative look second. If you are doing both, apply the conversion to the whole card, then grade the handful of clips that actually make the edit.

What about Sony S-Log and Canon C-Log?

Identical situation, different file. Every manufacturer's flat profile needs its own conversion, and every one of them is a batch job rather than an edit. Applying a LUT to a folder of video works the same way regardless of which camera wrote the files.

Read next

Workflow · 4 min read

Batch edit in Lightroom: what it does, and where it stops

Lightroom batches well through Sync Settings and presets, and for most photo work that is enough. It stops being convenient when you want a .cube LUT, when the batch includes video, or when each photo needs a different amount of the same look.

Read it
How-to · 4 min read

Photoshop batch edit: applying a LUT to a folder

Record an action that adds a Color Lookup layer with your .cube loaded, then run File → Automate → Batch over the folder. It works, and the setup is the cost: an action per LUT, and no way to vary the strength per photo without editing each result.

Read it

One look. A whole shoot.

BatchTone applies your .cube LUTs across photos and video at once, with a strength dial on every file. Seven-day trial, everything unlocked.

Download for macOS