Camera Logs
Camera Logs
The Camera Logs tab gives every project a per-take camera report — the digital equivalent of the paper sheets camera assistants fill out on set.
Where to find it
Open a project and choose Camera Logs in the tab strip. Like every configurable
tab it can be shown or hidden per project via ··· → Configure Tabs. You can also
deep-link it: /p/<project-slug>?tab=camera-logs.
Logging takes
- Quick log is the one-tap path while shooting: pick your camera letter chip once, then every tap of + Take N commits a fully Smartfilled row — no dialog. Circle last take stars what you just shot. Use the full form below for a new setup.
- Add entry opens the log form, grouped the way a camera report reads: identification (date, camera, body, roll, scene, slate, take, clip), optics (lens, T-stop, filter, ND), sensor & motion (FPS, shutter, ISO/EI, WB, tint), timecode (TC in/out), and wrap-up (circle take, media, notes).
- Duplicate for next take copies a row's setup, bumps the take number (3 → 4), and clears the per-take fields (clip, TC, notes, circle) — the fastest way to log take after take.
- Tap the star on any row to circle a take.
- Rows are grouped by shoot day, newest day first.
- The camera letters offered come from your project's camera packages (multi-cam A/B/C), so logs always match the global camera identities.
- Lens shows the focals of the current lens set as one-tap chips; a tap fills the lens and the focal length together. With more than one set in the project a set picker sits beside the chips, and the choice is remembered per project. Sets come from your own lens requirements — a project that lists none falls back to the device catalog, so the picker is never empty. The field stays free text either way.
- FPS, shutter, ISO/EI, WB, tint and aspect ratio offer the standard values a camera report is written with — ISO in third stops, colour temps with the K, shutter by angle and by speed, delivery ratios narrow to wide. Frame rates are the same list the timecode sync uses. A value you type that the standards do not carry joins that field's list for the rest of the project.
- T-stop reads like the ARRI viewfinder: pick a whole stop (T1–T32) and
step in tenths — the row stores the canonical form (
T2.8 3/10), so the column, the exports and the printed report stay comparable. The field stays free text: a lens marked in f-stops or an unusual barrel value (T1.3) is still typed straight in. - Distance records the camera-to-subject focus pull — the continuity number
a re-shoot or VFX plate match needs. Hidden by default (enable via Columns or
the Film preset). The chip above the field carries your project's unit
(metres or feet, from the project settings): a tap completes a bare number
(
3,6→3.6 m) or converts the other unit (12 ft→3.7 m). Free text like13'6"stays loggable. - Shot records which planned shot a take covers — distinct from the slate,
in the numbering your shotlist already generates (
12.3,12.A). Hidden by default; the Digital preset carries it. Smartfill takes it to the next take while the take number keeps incrementing. The field suggests your project's planned shot numbers straight from the shotlist, in shotlist order, and a Shot coverage line above the table counts which planned shots have at least one take — naming the ones still missing, so "what did we not get?" has an answer before wrap. Coverage counts every logged take, not just the filtered view, and the field stays free text for pickups invented on the day. - Rig records how the take was operated — Handheld, Dolly, Steadicam, Gimbal, Drone and friends, common modes first. Hidden by default (Columns or the Film preset), carried forward by Smartfill, free text for anything the list does not name. It is the detail that explains a stop change — and answers "which setups were on the gimbal" at wrap.
- INT/EXT and Day/Night sit beside the scene, as on a continuity sheet.
Hidden by default (Columns or the Film preset). The suggestions are the same
vocabulary your location pages use —
INT · EXT · INT/EXTandDAY · NIGHT · DAY/NIGHT— so takes stay comparable with locations, and Smartfill carries both forward. Free text stays (T/Nkeeps working). - My kit stores the lenses, bodies, filters and settings you actually shoot — saved to your account, not to one project — and offers them first in every picker, on every project and device. Build it from the log itself with "Add this project's values"; remove anything with one tap. It reorders suggestions only: nothing is filtered out and every field stays free text.
- Body records which camera actually shot the take. Picking a camera letter fills it in from that letter's camera package, so a multi-cam day tells an ALEXA 35 roll apart from a VENICE 2 roll — on screen and on the printed report. It stays free text, so a body swapped in on the day is still loggable, and because the value is stored on the row, earlier takes keep the body they were shot on. A project with no camera packages gets the device catalog as its suggestion list instead.
Editing a take in place
Tap any value in a row and it becomes an input: type, press Enter, done. Leaving the field commits too, Escape discards, and a value you did not actually change is not written at all — so a stray tap costs nothing.
Suggestions are the same ones the full form offers, and the field stays free text either way.
- Desktop table — every visible column edits this way, empty ones included. A blank cell is simply how you fill that field in.
- Phone cards — everything on the card edits in place: the camera letter, scene/slate/take, roll and clip, and the two or three values shown beside them. A field that is still empty, and every field the card does not lead with, is behind the card's All fields toggle — open it and the rest of the take edits in place too. A collapsed card hides blanks on purpose; thirty empty labels on a phone would be unusable.
Customising columns
Columns opens a per-project configuration where you can show, hide, and reorder every column. Your layout is saved with the project — and it is deliberately not captured in project versions, so switching or reverting a version never scrambles your column setup.
Timecode sync
Instead of typing TC In / TC Out from memory, sync this device to the camera once and stamp them:
- Read the timecode off the slate or the camera's monitor.
- Type it into the Timecode sync panel above the table, pick the frame rate the camera is actually running, and press Start sync.
- The panel now shows a running counter. In the add/edit dialog, the TC In and TC Out fields each carry a clock button — tap it at the moment you want recorded.
The stamp reads the clock at the instant you tap, not the counter shown on screen, so it stays accurate between display updates.
Sync to this device's clock (time of day)
When the cameras run time-of-day timecode — the usual setup on documentary and multi-cam work — this device's clock is already the sync source. Press Time of day and the sync starts with nothing read and nothing typed.
The frame rate still matters. At 29.97 and 59.94 the drop-frame label is designed to track the wall clock, and it does. Non-drop at those rates genuinely runs about 3.6 seconds slow per hour; that is the format, not a bug, and the app reproduces it rather than hiding it — so pick the rate the camera is actually set to.
It ages like any other sync: a phone clock drifts too, so re-press it when the panel reports the sync is hours old.
Scan it with the camera
Rather than reading the timecode and typing it, press Scan. A viewfinder opens with a band across the middle — aim that band at the timecode on the slate or the camera monitor, fill it with the display, hold steady and press Scan again.
Several frames a second apart are read and cross-checked before anything is
accepted, because the hard part is not an unreadable display, it is a single
wrong digit: 1O:00:58:12 and 10:00:58:12 look equally convincing. Three
things have to hold — the characters must repair to digits inside a
timecode-shaped run, the result must be a timecode the chosen rate can actually
produce, and consecutive reads must advance by roughly the frames that really
elapsed. If any fails, the scan is refused with the reason rather than accepted:
- "That counter is not running" — the display is paused. Put the camera into record or free run.
- "The reads disagree with each other" — most likely a misread digit. Hold steadier, fill more of the band, scan again.
- "Could not read a timecode" — the band did not contain a legible one.
The sync is dated to the moment the frame was captured, not to when you press "Use this timecode", so taking a few seconds to check the value costs nothing.
If the camera is unavailable or you decline the permission prompt, the panel says so and typing still works — the Scan button simply does not appear on a device with no camera.
Listen to a timecode box (LTC)
Where the scan reads a picture of a number, Listen reads the number itself. Press it, then either hold the phone to the timecode box's speaker or run the box's output into the headphone/mic socket, and press Listen again. Two seconds of SMPTE linear timecode are decoded and every frame is cross-checked, so a dropout is refused rather than trusted.
This is the accurate path; the scan is the convenient one. LTC carries the timecode digitally, so there is no misread digit to guard against — the reasons a listen is refused are about the signal instead:
- "No audio is reaching the microphone" — turn the box up, move the phone closer to its speaker, or check the cable.
- "Sound is coming through, but it is not timecode" — the box is sending word clock or audio rather than LTC.
- "This signal is running at X fps, but the rate here is set to Y" — the decoder measures the signal's own frame rate and will not sync at a rate that disagrees with it. Syncing at the wrong rate drifts a few frames every minute with nothing on screen to show it, so the app names the real rate and offers to switch to it in one tap.
Each decoded frame is dated to its own instant in the recording, not to when you press "Use this timecode". As with the scan, the Listen button does not appear on a device with no microphone, and declining the permission prompt is reported as a choice rather than a failure.
Frame rates. 29.97 and 59.94 are drop-frame and are written with a semicolon
before the frames (10:00:00;00). 23.976 runs slow but is not drop-frame. A
timecode the chosen rate cannot produce is refused rather than accepted — at
29.97 drop-frame the first two frame numbers of most minutes are skipped, so
00:01:00;00 never appears on a counter while 00:10:00;00 does.
Re-sync every few hours. Device clocks drift. After four hours the panel shows the sync's age and asks you to re-read the slate. Stamping keeps working in the meantime.
The sync stays on this device. It is not saved with the project, not shared with collaborators, and it resets on reload — it describes this device's clock, so another phone would inherit an offset it never measured. The timecodes you stamp onto takes are ordinary row data and do save, sync and export normally.
Filtering and export
Filter the table by camera letter and by shoot day. Four exports sit in the header, each aimed at a different destination:
| Export | File | Who reads it |
|---|---|---|
| Camera report | The end-of-day handoff — production, post, you | |
| Export CSV | <project>-camera-logs.csv | Spreadsheets, Silverstack |
| Export ALE | <project>-camera-logs.ale | DaVinci Resolve and Avid, as clip metadata |
| Export JSON | <project>-camera-logs.json | DIT tools, scripts, archiving |
Camera report (PDF)
The document you hand over at wrap. It is filed the way a paper report is — one block per shoot day → camera → roll, each with an info band, a take table per roll and a signature row, page-broken between cameras so a camera's pages tear off as a unit. It prints the columns you chose to track, in your order, and it is landscape because a 25-column report does not fit portrait. Circled takes are bold and carry an accent dot: "which take is the printed take" is the one thing post looks for first.
Export CSV
The (filtered) log with all columns — in your column order — as a UTF-8 CSV that opens cleanly in Excel/Numbers/Sheets.
Export ALE
The format DaVinci Resolve and Avid ingest as clip metadata. This is the one that puts your TC In / TC Out onto the clips in an edit: Resolve does not read the CSV as metadata, so before ALE existed the timecode you logged all day could not reach the timeline.
Two details are worth knowing, because they are what makes the file actually match:
- Four columns are written under Resolve's own names — clip becomes
Name, roll becomesTape, TC In becomesStart, TC Out becomesEnd. A file that used the app's own labels would import perfectly and match nothing, and on a German UI it would have used the German ones. - The file carries one frame rate, and it is the rate most of your takes were shot at — so a single 50 fps insert does not relabel the whole reel.
ALE is tab-separated with no way to quote a value, so a tab or line break inside a field is replaced by a space rather than shifting every later column.
Export JSON
The same takes machine-readably: typed values (booleans stay booleans, dates
stay ISO), a versioned envelope (schemaVersion), your resolved column
registry, and the takes nested by shoot day → camera → roll — the same grouping
as the camera report. Unlike CSV nothing is flattened to text.
Before you wipe a card
Above the table, a Backup strip answers the question that gets asked at the camera report and nowhere else: can I wipe this card? It reads the offload status from Data Management back onto your log, roll by roll.
- The summary counts rolls: "{n} of {m} rolls copied and verified". A roll counts as copied only when its offload completed and raised no verification issues.
- A roll that is not clear says why — no copy recorded, copy in progress, copy failed, or {n} verification issues.
- When every roll is clear it still does not say "safe to wipe". It says "Every logged roll has a verified copy. Check the drive count before wiping" and names how many drives each roll reached — one verified copy is not a backup.
- Takes that name no roll are counted separately and reported as "{n} takes name no roll and cannot be checked", because a take with no roll cannot be matched to an offload at all.
- If the status cannot be read, the strip says so plainly: "Backup status could not be read, so nothing here says whether a card is safe to wipe." Silence is never treated as an all-clear.
This exists because a card was once wiped at the report that had never been copied. Read the strip before you format anything.
Mobile
Below tablet width the table becomes a card list, and each card is built to be scanned rather than read:
- What the clip is — the camera letter in its own tile, then scene, slate and take, with the circle-take star on the right.
- Which file it is — roll and clip on the line underneath, when the take carries them.
- What you check against the slate — the first two or three values the take actually has, in the order a camera report is read: lens, focal length, T-stop, ND, frame rate, ISO, white balance. A per-take note follows on its own line.
- Everything else — behind All fields, which names how many fields are hidden. Open it and the rest of the take appears, empty fields included, each one editable in place. It is per card, so opening one leaves its neighbours collapsed.
Which columns exist at all is still the project's own Columns choice — the card decides how much of it is on screen at once, never which fields you have. Duplicate, Edit and Delete stay on every card, at full-size touch targets, and the toggle works from the keyboard like any other button.
The tab header on a phone
Below 768 px the header carries two controls: Add entry, and a More menu holding Columns, My kit, Camera report, Export CSV, Export ALE and Export JSON. Every entry keeps its written label — they are folded in, not shrunk to glyphs — and each one does exactly what the full-width button does. On a 320 px screen those seven controls used to wrap into six rows and push the first take off the screen.
Timecode sync on a phone
Timecode sync starts collapsed to a single row showing its title and the running timecode (or No sync when no clock is running, with a warning icon once a sync has gone stale). Tap the row and the whole section opens — the timecode field, the rate, Start sync, Time of day, Scan and Listen. You set a jam once a day and read it for the rest of it, so on a phone it stays out of the way of the takes until you need it.
From tablet width up nothing changed: the same takes render as the scrolling table, with every visible column editable in place, and the header keeps its full button row with Timecode sync open.
Sync & collaboration
Camera logs live inside the project, so they ride the normal project save, backup, cloud sync, export/import, and collaboration paths automatically. Rows carry stable ids, so two collaborators logging takes at the same time merge without duplicates. In read-only contexts (viewer role, locked project) the log stays visible and exportable, but editing is disabled.
Last Updated: 2026-09-10 Version: 0.790.2
