Netflix Footage Ingest
FilmCan can produce delivery-ready output for Netflix Footage Ingest, the required folder structure plus a conformant ASC MHL manifest per roll.
Quick start
- In Options, open the Preset menu and choose Netflix Ingest (built-in).
- The Shoot metadata fields appear (in the Destinations tab). Fill in:
- Episode / Block, e.g.
EP103,Block01,B01,BK1- Day, e.g.Day05,D05- Unit, e.g.MU(main),2U(second),SP,PU,DU(drone)… - Camera format, e.g.ARRI,RED(optional; the segment is omitted if blank) - Add your camera-card sources and destinations, then Run Now.
What you get
For a camera card A001 and a sound card SR001, shot 2026-06-15, EP103, Day 5,
Main unit, ARRI:
20260615_EP103_Day05_MU/
├── Reports/ ← auto-created (the transfer log lands here)
├── Camera_Media/
│ └── ARRI/
│ └── A001/
│ ├── …copied clips…
│ └── ascmhl/
│ ├── 0001_A001_2026-06-15_…Z.mhl ← ASC MHL v2.0 manifest (this generation)
│ └── ascmhl_chain.xml ← generation chain (chain of custody)
└── Sound_Media/
└── SR001/
├── …copied wavs…
└── ascmhl/ ← sound roll gets its own ASC MHL + chain
├── 0001_SR001_2026-06-15_…Z.mhl
└── ascmhl_chain.xml
- Root folder:
YYYYMMDD_EP###_Day##_Unit. - One ASC MHL per roll, at the roll's
ascmhl/folder. The reel name is the folder directly aboveascmhl/(Netflix's rule). - Each backup run adds a new sealed generation to the chain.
Hashes & conformance
- FilmCan hashes with xxHash128 (xxh3-128), one of Netflix's accepted formats.
- The manifest is ASC MHL v2.0; the chain file uses C4 hashes, matching the
ASC MHL specification. FilmCan's output is accepted by the reference
ascmhltool.
Camera & Sound in one ingest
Netflix protects production sound (OPA) exactly like camera (OCF), same copies,
hashes, and ASC MHL, it just lands under Sound_Media/ instead of Camera_Media/.
- Click the icon at the top-right of each source card to switch it between Camera and
Sound. A 🎥 video-camera icon means the source is treated as Camera
(→
Camera_Media/); a 🔊 speaker icon means Sound (→Sound_Media/). It's a toggle, each click flips it. Sources default to Camera. - The Save To card's path preview updates as you toggle, so you can confirm a
sound card resolves to
…/Sound_Media/<SoundRoll>/(with its ownascmhl/, verify and resume), a sibling of the camera media in the same shoot-day root. - Options › Sources › Auto-detect sound sources: drive/folder name patterns (e.g.
SOUND,MIXPRE*,ZOOM*) auto-add matching drives and tag them Sound. - Options › Destinations › Folder templates: both the Camera folder and Sound
folder sub-paths are editable (defaults
…/Camera_Media/{cameraFormat}and…/Sound_Media).
Camera and sound can be backed up in the same run, the source is read once and fanned out.
Naming validation
When the Netflix Ingest preset is active, FilmCan pre-flights your roll (source folder) names against Netflix's prohibited-character set and uniqueness rule. If a name is invalid or duplicated, a sheet offers:
- Auto-fix & run, renames the source folders (prohibited chars →
_, duplicates get a numeric suffix) and runs. - Run anyway, proceeds unchanged.
- Cancel.
Prohibited characters: @ # $ % ^ & * ( ) ` ; : < > ? , [ ] { } / \ ' " | ~
Delivery readiness
Netflix recommends ≥ 3 copies on ≥ 2 media types, with ≥ 1 off-site. The metadata section shows a reminder of how many destinations you've configured. Add more destinations (fan-out is one pass) to make extra copies.
Notes
- Logs: selecting the preset pre-fills the log location to
Reports/(changeable in Options › Logs). - exFAT destinations trigger the existing "DO NOT UNPLUG" banner; Netflix prefers APFS.
Related
- Copy Engines · Hash Lists · Destination Presets
docs/reference/netflix-asc-mhl-requirements.md, the full requirements memento.