Media management & delivery QC
Ingest, sync and proxy media; rotate, trim and export clips (from QuickTime basics to delivery specs) and pass technical QC.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- DaVinci Resolve · Media Encoder · ffmpeg
- Class GUI-need label
AP· API-sufficient
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R06.04.02.04-T01 Ingest three cards into bins, rename from slates, build proxies
Original instruction
Using DaVinci Resolve (GUI or its Python API), import fixtures/cards/A_cam, B_cam and SOUND into project 'Short_Day1', create bins per camera and shoot day, rename clips 'S{scene}_T{take}_{cam}' from input/slate_log.csv, and generate ProRes Proxy proxies for all video clips.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve
- Interfaces
api· API/SDKdesk· Desktop GUI- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & click- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Resolve API inspection: bin tree equals spec; all 62 clips present in the right bin; clip names match CSV mapping (100%); every video clip has a linked proxy file (ProRes Proxy, same frame count). Either API or GUI route accepted.
Proposed partial credit
25% bin structure; 35% renames; 30% proxies linked; 10% no missing clips.
R06.04.02.04-T02 Sync fourteen dual-system clips by waveform
Original instruction
In Resolve project 'Interview_Days', bin 'Day2' has 14 camera clips with scratch audio and 14 recorder WAVs (no common timecode). Sync each pair by waveform so the WAV becomes the clip's linked audio, frame-accurately.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve
- Interfaces
api· API/SDKdesk· Desktop GUI- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
code· Code & commandsclick· Point & click- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
For each clip, the linked WAV offset vs GT cross-correlation offset within 1 frame; the WAV that is linked is the correct pair (14/14). Checked via API properties and a test render of each clip's first 10 s.
Proposed partial credit
30% correct pairs; 60% offsets within 1 frame; 10% all 14 processed.
R06.04.02.04-T03 Mark every clapperboard slate with scene and take
Original instruction
Resolve project 'Feature_Day4' has 3 long camera rolls containing 22 slates (clapperboard shown, sometimes partly occluded). Add a clip marker at each slate's clap frame named '{scene}/{take}' as written on the board.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
vis· Visual judgmentav· Audio/video over timenav· Pan/zoom/scroll- Work product
WP10· Annotations- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Markers via API: match to 22 GT slates by frame (±2 frames of clap); name equals GT scene/take; precision ≥ 0.9 (no markers on non-slate frames). AI Slate ID or manual review both acceptable.
Proposed partial credit
40% slates found; 20% clap frame accuracy; 30% scene/take names correct; 10% precision.
R06.04.02.04-T04 Render a broadcast master to an exact technical spec
Original instruction
From Resolve timeline 'Ep3_Final', deliver out/ep3_master.mov: ProRes 422 HQ, 1920×1080, 23.976 fps, Rec.709 tagged (1-1-1), stereo PCM 48 kHz/24-bit at −23 LUFS ± 0.5 integrated (EBU R128), true peak ≤ −1 dBTP, with 2 s of black/silence before program start.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve
- Interfaces
api· API/SDKdesk· Desktop GUI- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & click- Work product
WP05· Time-based media- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
ffprobe: codec apch, size, 24000/1001, colr 1-1-1, PCM s24le 48 kHz 2 ch; ebur128: integrated −23 ± 0.5, TP ≤ −1; first 48 frames black (luma ≤ 64) and silent (< −70 dBFS); program content matches timeline render fingerprint.
Proposed partial credit
30% video spec; 30% color tags and audio format; 25% loudness; 15% 2 s head.
R06.04.02.04-T05 Encode a web master that meets a VMAF target under a bitrate cap
Original instruction
Encode fixtures/mezz_ProRes.mov into out/web_master.mp4 (H.264, 1080p, same frame rate) with an average bitrate ≤ 8 Mbps and VMAF ≥ 93 against the mezzanine. Use ffmpeg, Media Encoder or Resolve.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ffmpeg
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP05· Time-based media- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
ffprobe bitrate ≤ 8.0 Mbps average and peak ≤ 16 Mbps over 1 s windows; libvmaf (v0.6.1 model) mean ≥ 93 and 5th percentile ≥ 85; frame count equals source; faststart moov at head.
Proposed partial credit
35% bitrate cap; 40% VMAF mean; 15% VMAF low percentile; 10% faststart and frame count.
R06.04.02.04-T06 Report black segments and silent gaps in a program file
Original instruction
Analyze fixtures/program.mxf and write out/qc_report.csv listing every black segment longer than 0.5 s and every audio silence (< −60 dBFS on all channels) longer than 1 s, with start/end timecodes (SMPTE, from the file's start TC).
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ffmpeg
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP12· Answer/decision- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
CSV rows vs GT events: each GT event matched by an entry with start/end within 2 frames; no false events; timecodes offset by the file's start TC (01:00:00:00).
Proposed partial credit
40% black segments found; 40% silences found; 20% precision and TC offset.
R06.04.02.04-T07 Set up a Media Encoder watch folder with two output presets
Original instruction
In Adobe Media Encoder create watch folder ~/Watch/Social that produces, for each dropped file, (a) H.264 1080p 30 fps 10 Mbps VBR 1-pass with AAC 320 kbps, and (b) HEVC 2160p 20 Mbps, into ~/Watch/Social/Output/<preset name>/. Test it with fixtures/test_clip.mov.
- Platforms
mac· macOSwin· Windows- Applications
- Adobe Media Encoder
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
AME watch-folder prefs XML lists the folder with two presets; output folder contains the two encodes of test_clip with ffprobe matching spec (codec, size, fps, bitrate within 10%, audio).
Proposed partial credit
30% watch folder configured; 35% H.264 output spec; 35% HEVC output spec.
R06.04.02.04-T08 Build and verify an interop-free SMPTE DCP from a master
Original instruction
Using DCP-o-matic, create a SMPTE DCP from fixtures/feature_master.mov (24 fps, 5.1 WAVs in fixtures/audio/): 2K Flat 1998×1080, content kind 'feature', title per input/naming.txt (Digital Cinema Naming Convention). Write it to out/DCP/ and make it pass the DCP verifier.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- DCP-o-matic
- Interfaces
desk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP05· Time-based media- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
dcpverify (libdcp) reports no errors; CPL: SMPTE, 24 fps, 1998×1080 container, 6 audio channels mapped L,R,C,LFE,Ls,Rs (tone test file per channel); annotation text equals the naming-convention title.
Proposed partial credit
35% verifier passes; 20% picture format; 25% audio mapping; 20% title naming.
R06.04.02.04-T09 Fix color tags and audio layout without re-encoding
Original instruction
fixtures/deliverable.mov fails QC: wrong color tags (2-2-2 unspecified), audio channels labeled as 6 mono without layout, wrong field-order flag (should be progressive). Fix the metadata so it reads Rec.709 (1-1-1), stereo + 5.1 layout as specified in input/spec.pdf, progressive, without re-encoding video. Output out/deliverable_fixed.mov.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ffmpeg · MediaInfo
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP05· Time-based media- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Video stream bit-identical (packet MD5s match); colr atom 1-1-1; field_order progressive; audio channel layout tags match spec; MediaInfo confirms. Re-encoded video fails.
Proposed partial credit
30% color tags; 30% audio layout; 15% field order; 25% video untouched.
R06.04.02.04-T10 Archive a project with a checksum manifest
Original instruction
Archive Resolve project 'Promo_Final' with all used media to out/archive/ (Resolve .dra archive including media), then write out/archive/manifest.md5 with MD5 checksums of every media file inside the archive.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve · md5sum
- Interfaces
desk· Desktop GUIterm· Terminal- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickcode· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Restore the .dra on a clean Resolve: 0 offline clips, timeline renders identically (frame hashes); manifest lists every media file under the archive and all hashes verify.
Proposed partial credit
40% archive restores without offline media; 20% identical render; 40% manifest complete and valid.
R06.04.02.04-T11 Consolidate used media with handles and transcode for handoff
Original instruction
In Resolve, use Media Management to copy only the media used in timeline 'Doc_Lock' to out/handoff/, trimmed with 24-frame handles and transcoded to ProRes 422 HQ, then relink a duplicate timeline 'Doc_Lock_Handoff' to the new media.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clickcode· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Each used source range has a trimmed file covering [in−24, out+24] frames (or to file limits); files ProRes HQ; 'Doc_Lock_Handoff' references only out/handoff media; render matches 'Doc_Lock' frame-for-frame (hash).
Proposed partial credit
30% only used media copied; 25% handles correct; 20% codec; 25% relinked timeline renders identically.
R06.04.02.04-T12 Make externally generated proxies attach in Premiere Pro
Original instruction
fixtures/proxies/ holds proxies made with ffmpeg that Premiere refuses to attach (frame-rate, audio-channel and name mismatches). Regenerate or fix them so Premiere Pro's Attach Proxies accepts all 40 for the clips in project fixtures/series.prproj, then save the project.
- Platforms
mac· macOSwin· Windows- Applications
- Premiere Pro · ffmpeg
- Interfaces
desk· Desktop GUIterm· Terminal- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & clickmulti· Cross-app- Work product
WP09· Files & folders- Conditions
licensed· Licensed pro appmultiapp· Multi-app- Proposed difficulty
- 4 / 5
Proposed verifier
.prproj: all 40 clips have proxy paths that exist; proxies match source frame rate, frame count and audio channel count; names follow source names; toggling proxies shows matching frames (fingerprints at 5 points per clip).
Proposed partial credit
40% proxies technically matched; 40% attached in project; 20% frame-accurate correspondence.
R06.04.02.04-T13 Offload camera cards with verified checksums and an MHL
Original instruction
Copy fixtures/cards/CARD_A001 and CARD_A002 to two destinations (out/RAID/ and out/Shuttle/) preserving folder structure, verify every file with xxHash64, and write an ASC MHL manifest per destination.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ascmhl · rsync
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP09· Files & folders- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Both destinations contain identical trees to source (file count and bytes); ascmhl verify succeeds on each destination; hashes are xxh64 and match source.
Proposed partial credit
40% both copies complete; 40% MHL manifests verify; 20% hash type and structure.
R06.04.02.04-T14 Normalize a 5.1 mix to ATSC A/85 and make a stereo downmix
Original instruction
fixtures/show_51.wav (5.1) must be delivered to ATSC A/85: −24 LKFS ± 2 integrated (dialogue-gated), true peak ≤ −2 dBTP, plus a Lo/Ro stereo downmix meeting the same targets. Write out/show_51_a85.wav and out/show_stereo_a85.wav.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ffmpeg · sox
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP05· Time-based media- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Loudness per ITU-R BS.1770-4: 5.1 integrated −24 ± 2 LKFS, TP ≤ −2 dBTP; stereo same targets; channel order preserved in 5.1; downmix correlation with standard Lo/Ro coefficients ≥ 0.98; durations equal.
Proposed partial credit
35% 5.1 loudness and TP; 35% stereo loudness and TP; 15% channel order; 15% downmix correctness.
R06.04.02.04-T15 Lay off a broadcast MXF with bars, slate and an 8-track layout
Original instruction
From Resolve timeline 'Ep8_Final' produce out/EP8_XDCAM.mxf (XDCAM HD422 50 Mbps, 1080i50 upper field first, MXF OP1a) starting at 09:59:30:00 with 20 s bars and 1 kHz tone at −18 dBFS, 8 s slate from input/slate.txt, 2 s black, program at 10:00:00:00. Audio: 8 mono tracks per input/track_layout.csv.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve
- Interfaces
desk· Desktop GUIapi· API/SDK- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formscode· Code & commands- Work product
WP05· Time-based media- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
MediaInfo: codec XDCAM HD422 50 Mbps, interlaced TFF, OP1a, start TC 09:59:30:00; bars (pattern match) and tone (−18 ± 0.5 dBFS, 1 kHz) in first 20 s; slate OCR matches text; program first frame at 10:00:00:00; 8 audio tracks mapped per CSV (per-track signal check).
Proposed partial credit
25% codec/wrapper/field order; 20% countdown structure; 30% slate and program TC; 25% audio track layout.
R06.04.02.04-T16 Conform an offline EDL to camera originals and report misses
Original instruction
Import input/offline_reel2.edl (84 events from an Avid offline) into Resolve project 'Online_R2', relink events to camera originals in fixtures/OCN/ by reel name and source timecode, and write out/offline_report.csv listing any events that could not be matched with reason.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve
- Interfaces
api· API/SDKdesk· Desktop GUI- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & click- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Timeline via API: 81 GT-matchable events linked to correct OCN files with source TC equal to EDL (±0); 3 GT unmatchable events listed in CSV with reasons (missing reel / TC out of range); no wrong links.
Proposed partial credit
60% events linked correctly; 25% unmatched report; 15% no wrong links.
R06.04.02.04-T17 QC a rejected deliverable, fix every fault and report
Original instruction
fixtures/rejected_spot.mov was rejected by a broadcaster. Find all faults (GT: 7, including a flash frame, an inverted-phase audio channel, sub-black luma, wrong color tags, a dropped audio channel segment, wrong frame rate flag, missing 2 s head), write out/qc_findings.csv, and deliver out/spot_fixed.mov fixing all of them.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- ffmpeg · DaVinci Resolve · MediaInfo
- Interfaces
term· Terminaldesk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsvis· Visual judgmentav· Audio/video over time- Work product
WP05· Time-based media- Conditions
hidden· Hidden/stale statemultiapp· Multi-app- Proposed difficulty
- 5 / 5
Proposed verifier
Findings CSV vs 7 GT faults (type + timecode ±2 frames): recall/precision. Fixed file re-run through the same QC script: 0 faults; program content otherwise matches original (SSIM ≥ 0.98 on unaffected frames).
Proposed partial credit
35% faults found; 50% faults fixed (pro rata per fault); 15% content preserved.
R06.04.02.04-T18 Queue four platform deliverables from one timeline
Original instruction
From Resolve timeline 'Launch_v9', add four render jobs per input/spec_sheet.xlsx (YouTube 4K H.265 HDR off, Instagram 1080×1350 H.264, broadcast ProRes 422 HQ 1080p25, archive DNxHR 444 with alpha off) with file names per the sheet, render them, and verify each against the sheet.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve
- Interfaces
api· API/SDKdesk· Desktop GUI- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & click- Work product
WP05· Time-based media- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
ffprobe each output vs sheet (codec, profile, resolution, fps, bitrate range, audio, color tags); file names exact; durations equal timeline.
Proposed partial credit
80% four deliverables to spec (20 points each); 20% naming and durations.
R06.04.02.04-T19 Package an IMF App 2E with an HDR master and validate it
Original instruction
From Resolve project 'Doc_HDR', export an IMF Application #2E package (JPEG 2000 lossless or HT, PQ P3-D65, 3840×2160 24 fps, 5.1 + stereo audio tracks, English subtitles as IMSC1) to out/IMF/, with CPL title per input/imf_naming.txt, and make it pass Netflix Photon validation.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve · Photon
- Interfaces
desk· Desktop GUIterm· Terminal- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickcode· Code & commandstype· Text & forms- Work product
WP05· Time-based media- Conditions
long· Long-horizontutorial· Follow docs/tutorial- Proposed difficulty
- 5 / 5
Proposed verifier
Photon reports 0 errors; CPL: App 2E, correct essence descriptors (PQ, P3-D65), two audio virtual tracks with correct channel labels, subtitle track IMSC1; MaxCLL metadata present; title per naming file.
Proposed partial credit
35% Photon passes; 25% video essence descriptors; 20% audio tracks; 20% subtitles and naming.
R06.04.02.04-T20 Build a dailies pipeline with CDLs, burn-ins and an ALE
Original instruction
For fixtures/day12_cards/ (30 clips) and input/onset_cdls.ale, produce dailies: apply each clip's CDL, burn in source TC, clip name and scene/take, render H.264 1080p to out/dailies/ named by clip, and export out/day12.ale with scene, take, camera and dailies filename columns.
- Platforms
mac· macOSwin· Windowslin· Linux- Applications
- DaVinci Resolve · ffmpeg
- Interfaces
api· API/SDKterm· Terminal- GUI need · task setting
AP· API-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP05· Time-based media- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Per clip: color of a GT patch matches CDL-applied reference (ΔE2000 ≤ 2); burn-in OCR shows TC (first frame equals source start TC), clip name and scene/take; 30 files named correctly; ALE parses with required columns filled and correct values.
Proposed partial credit
30% CDLs applied; 30% burn-ins correct; 20% files/naming; 20% ALE.
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.