[{"data":1,"prerenderedAt":5917},["ShallowReactive",2],{"articles-list-en":3},[4,1089,1756,2560,3166,3880,4312,4724,5137,5477],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"slug":11,"date":12,"category":13,"tags":14,"body":19,"_type":1083,"_id":1084,"_source":1085,"_file":1086,"_stem":1087,"_extension":1088},"/articles/en/frame-rate-basics","en",false,"","Frame Rate, From the Ground Up — Why 24fps Looks Like Film and 29.97 Has a Decimal","Open the frame rate menu on any camera and you'll see 24 / 25 / 29.97 / 30 / 50 / 59.94 / 60 / 120 / 240 — and no obvious guidance on what to pick. Each number carries history, intent, and a specific feel. Here's the whole map in one sitting.","frame-rate-basics","2026-05-20","article",[15,16,17,18],"fundamentals","frame-rate","motion","broadcast",{"type":20,"children":21,"toc":1065},"root",[22,38,43,50,64,79,91,96,102,119,130,153,173,179,189,207,219,225,230,240,252,264,317,328,334,347,365,370,384,395,406,416,457,469,475,480,523,542,552,558,563,586,607,612,618,637,660,672,704,715,721,726,841,853,859,871,894,904,910,938,956,969,975,986,1004,1016,1022,1060],{"type":23,"tag":24,"props":25,"children":26},"element","p",{},[27,30,36],{"type":28,"value":29},"text","Open the frame rate menu on any modern camera and you're confronted with ",{"type":23,"tag":31,"props":32,"children":33},"strong",{},[34],{"type":28,"value":35},"24 / 25 / 29.97 / 30 / 50 / 59.94 / 60 / 120 / 240",{"type":28,"value":37},". Why so many options? Which one are you supposed to pick? Surprisingly few shooters can answer that off the cuff.",{"type":23,"tag":24,"props":39,"children":40},{},[41],{"type":28,"value":42},"Each of those numbers carries some mix of film-era mechanical history, broadcast TV politics, properties of human vision, and an aesthetic intent for how motion should feel. This post walks the whole map: where each frame rate came from, what it's actually used for, and how to pick one on purpose.",{"type":23,"tag":44,"props":45,"children":47},"h2",{"id":46},"what-a-frame-rate-even-is",[48],{"type":28,"value":49},"What a Frame Rate Even Is",{"type":23,"tag":24,"props":51,"children":52},{},[53,55,62],{"type":28,"value":54},"Frame rate is \"how many still images per second you're showing the viewer.\" Unit: ",{"type":23,"tag":56,"props":57,"children":59},"code",{"className":58},[],[60],{"type":28,"value":61},"fps",{"type":28,"value":63},".",{"type":23,"tag":65,"props":66,"children":67},"ul",{},[68,74],{"type":23,"tag":69,"props":70,"children":71},"li",{},[72],{"type":28,"value":73},"24fps → 24 frames per second",{"type":23,"tag":69,"props":75,"children":76},{},[77],{"type":28,"value":78},"60fps → 60 frames per second",{"type":23,"tag":24,"props":80,"children":81},{},[82,84,89],{"type":28,"value":83},"More frames = smoother motion. Fewer frames = choppier motion. But this is ",{"type":23,"tag":31,"props":85,"children":86},{},[87],{"type":28,"value":88},"not",{"type":28,"value":90}," a \"more is better\" situation — the number you choose sets the tone of the footage.",{"type":23,"tag":24,"props":92,"children":93},{},[94],{"type":28,"value":95},"The human visual system starts perceiving \"motion\" rather than discrete still images somewhere around 10–12fps (apparent motion). That's the floor for the brain to fuse frames. Everything from there up is aesthetic, not perceptual necessity.",{"type":23,"tag":44,"props":97,"children":99},{"id":98},"_24fps-the-cinema-standard",[100],{"type":28,"value":101},"24fps — the Cinema Standard",{"type":23,"tag":24,"props":103,"children":104},{},[105,110,112,117],{"type":23,"tag":31,"props":106,"children":107},{},[108],{"type":28,"value":109},"24fps is the cinema standard",{"type":28,"value":111},". Silent film ran around 16–18fps, but when talkies arrived in the late 1920s, frame rate had to lock to a number that synced cleanly with the audio track on the film strip — ",{"type":23,"tag":31,"props":113,"children":114},{},[115],{"type":28,"value":116},"24",{"type":28,"value":118}," won out as a practical compromise between mechanical cost and acceptable motion.",{"type":23,"tag":24,"props":120,"children":121},{},[122,124,129],{"type":28,"value":123},"The reason 24fps survived into the streaming era isn't technical. It's ",{"type":23,"tag":31,"props":125,"children":126},{},[127],{"type":28,"value":128},"cultural",{"type":28,"value":63},{"type":23,"tag":65,"props":131,"children":132},{},[133,143,148],{"type":23,"tag":69,"props":134,"children":135},{},[136,138],{"type":28,"value":137},"A century of cinema-going has trained audiences to read the slight juddery quality of 24fps as ",{"type":23,"tag":31,"props":139,"children":140},{},[141],{"type":28,"value":142},"\"cinematic\"",{"type":23,"tag":69,"props":144,"children":145},{},[146],{"type":28,"value":147},"Streamers and theatrical distribution still master at 24fps for film",{"type":23,"tag":69,"props":149,"children":150},{},[151],{"type":28,"value":152},"Music videos, commercials, and documentaries reach for 24fps when they want that \"movie feel\"",{"type":23,"tag":24,"props":154,"children":155},{},[156,158,163,165,171],{"type":28,"value":157},"The weird part: 24fps is ",{"type":23,"tag":31,"props":159,"children":160},{},[161],{"type":28,"value":162},"not actually smooth",{"type":28,"value":164},". Pan a camera horizontally and the judder is visible to anyone paying attention. But the cultural association is strong enough that the choppiness reads as ",{"type":23,"tag":166,"props":167,"children":168},"em",{},[169],{"type":28,"value":170},"intentional",{"type":28,"value":172}," — even desirable. A frame rate frozen in place by aesthetics, not engineering.",{"type":23,"tag":44,"props":174,"children":176},{"id":175},"_25fps-the-pal-standard",[177],{"type":28,"value":178},"25fps — the PAL Standard",{"type":23,"tag":24,"props":180,"children":181},{},[182,187],{"type":23,"tag":31,"props":183,"children":184},{},[185],{"type":28,"value":186},"25fps was the broadcast standard for 50Hz electrical regions",{"type":28,"value":188}," — Europe, Australia, parts of Japan (eastern), and many others.",{"type":23,"tag":65,"props":190,"children":191},{},[192,197,202],{"type":23,"tag":69,"props":193,"children":194},{},[195],{"type":28,"value":196},"The PAL (Phase Alternating Line) color TV standard ran at half the mains frequency: 50Hz ÷ 2 = 25fps",{"type":23,"tag":69,"props":198,"children":199},{},[200],{"type":28,"value":201},"Synchronizing to mains frequency made flicker handling under fluorescent lighting easier",{"type":23,"tag":69,"props":203,"children":204},{},[205],{"type":28,"value":206},"25fps reads visually close to 24fps, so European productions could approximate the cinema look without conversion gymnastics",{"type":23,"tag":24,"props":208,"children":209},{},[210,212,217],{"type":28,"value":211},"Digital distribution has loosened the broadcast tether, but ",{"type":23,"tag":31,"props":213,"children":214},{},[215],{"type":28,"value":216},"for content aimed at European markets, 25fps still makes sense",{"type":28,"value":218}," — both for ingestion into broadcast pipelines and for cultural familiarity.",{"type":23,"tag":44,"props":220,"children":222},{"id":221},"_2997fps-and-30fps-the-ntsc-inheritance",[223],{"type":28,"value":224},"29.97fps and 30fps — the NTSC Inheritance",{"type":23,"tag":24,"props":226,"children":227},{},[228],{"type":28,"value":229},"Here's where things get weird.",{"type":23,"tag":24,"props":231,"children":232},{},[233,238],{"type":23,"tag":31,"props":234,"children":235},{},[236],{"type":28,"value":237},"30fps was the broadcast standard for 60Hz regions",{"type":28,"value":239}," — North America, western Japan, parts of South America. Half the mains frequency (60Hz ÷ 2 = 30) made early black-and-white TV electrically clean.",{"type":23,"tag":24,"props":241,"children":242},{},[243,245,251],{"type":28,"value":244},"When color TV arrived, color information had to be squeezed into the existing signal without disrupting the audio carrier. The mathematical solution was to nudge the frame rate down by a tiny amount: ",{"type":23,"tag":56,"props":246,"children":248},{"className":247},[],[249],{"type":28,"value":250},"30 × 1000 / 1001 ≈ 29.97fps",{"type":28,"value":63},{"type":23,"tag":24,"props":253,"children":254},{},[255,257,262],{"type":28,"value":256},"That's where the ",{"type":23,"tag":31,"props":258,"children":259},{},[260],{"type":28,"value":261},"29.97",{"type":28,"value":263}," comes from. A compromise to keep audio and color subcarriers from interfering.",{"type":23,"tag":265,"props":266,"children":267},"table",{},[268,287],{"type":23,"tag":269,"props":270,"children":271},"thead",{},[272],{"type":23,"tag":273,"props":274,"children":275},"tr",{},[276,282],{"type":23,"tag":277,"props":278,"children":279},"th",{},[280],{"type":28,"value":281},"Number",{"type":23,"tag":277,"props":283,"children":284},{},[285],{"type":28,"value":286},"How it came about",{"type":23,"tag":288,"props":289,"children":290},"tbody",{},[291,305],{"type":23,"tag":273,"props":292,"children":293},{},[294,300],{"type":23,"tag":295,"props":296,"children":297},"td",{},[298],{"type":28,"value":299},"30",{"type":23,"tag":295,"props":301,"children":302},{},[303],{"type":28,"value":304},"Black-and-white NTSC broadcast (mains 60Hz ÷ 2)",{"type":23,"tag":273,"props":306,"children":307},{},[308,312],{"type":23,"tag":295,"props":309,"children":310},{},[311],{"type":28,"value":261},{"type":23,"tag":295,"props":313,"children":314},{},[315],{"type":28,"value":316},"The same standard, nudged down to make room for color",{"type":23,"tag":24,"props":318,"children":319},{},[320,322,326],{"type":28,"value":321},"In practice, when a camera or NLE says \"30p,\" it almost always means ",{"type":23,"tag":31,"props":323,"children":324},{},[325],{"type":28,"value":261},{"type":28,"value":327},". True 30.0fps is mostly relevant for web-only or monitor-display content where no broadcast pipeline is involved.",{"type":23,"tag":44,"props":329,"children":331},{"id":330},"_23976fps-the-24-youll-actually-get",[332],{"type":28,"value":333},"23.976fps — the 24 You'll Actually Get",{"type":23,"tag":24,"props":335,"children":336},{},[337,339,345],{"type":28,"value":338},"The same NTSC dance produced another oddball: ",{"type":23,"tag":56,"props":340,"children":342},{"className":341},[],[343],{"type":28,"value":344},"24 × 1000 / 1001 ≈ 23.976",{"type":28,"value":346},". This is \"24fps, NTSC-compatible.\"",{"type":23,"tag":65,"props":348,"children":349},{},[350,355,360],{"type":23,"tag":69,"props":351,"children":352},{},[353],{"type":28,"value":354},"Theatrical projection → exact 24fps",{"type":23,"tag":69,"props":356,"children":357},{},[358],{"type":28,"value":359},"Broadcast / streaming distribution → 23.976",{"type":23,"tag":69,"props":361,"children":362},{},[363],{"type":28,"value":364},"Edit timelines → almost always 23.976 in NTSC-territory production",{"type":23,"tag":24,"props":366,"children":367},{},[368],{"type":28,"value":369},"Most cameras labeled \"24p\" actually output 23.976. NLEs separate \"24p\" and \"23.976p\" in their timeline settings because the two are distinguishable when timecode and audio sync enter the picture, even though they look identical.",{"type":23,"tag":44,"props":371,"children":373},{"id":372},"drop-frame-timecode-what-the-means",[374,376,382],{"type":28,"value":375},"Drop-Frame Timecode — What the ",{"type":23,"tag":56,"props":377,"children":379},{"className":378},[],[380],{"type":28,"value":381},";",{"type":28,"value":383}," Means",{"type":23,"tag":24,"props":385,"children":386},{},[387,389,394],{"type":28,"value":388},"29.97fps creates an additional headache: ",{"type":23,"tag":31,"props":390,"children":391},{},[392],{"type":28,"value":393},"real time and frame count drift apart",{"type":28,"value":63},{"type":23,"tag":24,"props":396,"children":397},{},[398,400,405],{"type":28,"value":399},"In one hour (3600 seconds), you actually capture 29.97 × 3600 = 107,892 frames. If your timecode counts up like it was 30fps, you'd label frame 108,000 — ",{"type":23,"tag":31,"props":401,"children":402},{},[403],{"type":28,"value":404},"3.6 seconds ahead of wall-clock",{"type":28,"value":63},{"type":23,"tag":24,"props":407,"children":408},{},[409,414],{"type":23,"tag":31,"props":410,"children":411},{},[412],{"type":28,"value":413},"Drop-frame timecode",{"type":28,"value":415}," is the fix:",{"type":23,"tag":65,"props":417,"children":418},{},[419,432,445],{"type":23,"tag":69,"props":420,"children":421},{},[422,424,430],{"type":28,"value":423},"Notation: ",{"type":23,"tag":56,"props":425,"children":427},{"className":426},[],[428],{"type":28,"value":429},"01:00:00;00",{"type":28,"value":431}," (semicolon)",{"type":23,"tag":69,"props":433,"children":434},{},[435,437,443],{"type":28,"value":436},"Non-drop notation: ",{"type":23,"tag":56,"props":438,"children":440},{"className":439},[],[441],{"type":28,"value":442},"01:00:00:00",{"type":28,"value":444}," (colon)",{"type":23,"tag":69,"props":446,"children":447},{},[448,450,455],{"type":28,"value":449},"Periodically, frame ",{"type":23,"tag":166,"props":451,"children":452},{},[453],{"type":28,"value":454},"numbers",{"type":28,"value":456}," are skipped to keep the clock honest. No actual frames are discarded — just the labels.",{"type":23,"tag":24,"props":458,"children":459},{},[460,462,467],{"type":28,"value":461},"Broadcast delivery, where program lengths have to land on the second, requires drop-frame. ",{"type":23,"tag":31,"props":463,"children":464},{},[465],{"type":28,"value":466},"Web delivery and personal projects are fine with non-drop",{"type":28,"value":468}," — the convenience of integer counting beats the wall-clock drift.",{"type":23,"tag":44,"props":470,"children":472},{"id":471},"_60fps-5994fps-smoothness-with-a-catch",[473],{"type":28,"value":474},"60fps (59.94fps) — Smoothness with a Catch",{"type":23,"tag":24,"props":476,"children":477},{},[478],{"type":28,"value":479},"60fps (in NTSC territory, usually 59.94) is what you choose when smooth motion matters more than cinematic feel.",{"type":23,"tag":65,"props":481,"children":482},{},[483,493,503,513],{"type":23,"tag":69,"props":484,"children":485},{},[486,491],{"type":23,"tag":31,"props":487,"children":488},{},[489],{"type":28,"value":490},"Sports broadcasting",{"type":28,"value":492}," — fast motion stays legible",{"type":23,"tag":69,"props":494,"children":495},{},[496,501],{"type":23,"tag":31,"props":497,"children":498},{},[499],{"type":28,"value":500},"Game streaming and Let's Plays",{"type":28,"value":502}," — anything less and the gameplay looks broken",{"type":23,"tag":69,"props":504,"children":505},{},[506,511],{"type":23,"tag":31,"props":507,"children":508},{},[509],{"type":28,"value":510},"Action cameras",{"type":28,"value":512}," — handles shake and fast subjects gracefully",{"type":23,"tag":69,"props":514,"children":515},{},[516,521],{"type":23,"tag":31,"props":517,"children":518},{},[519],{"type":28,"value":520},"iPhone HDR video",{"type":28,"value":522}," — often defaults to 60fps",{"type":23,"tag":24,"props":524,"children":525},{},[526,528,533,535,540],{"type":28,"value":527},"There's a catch: 60fps footage often reads as ",{"type":23,"tag":31,"props":529,"children":530},{},[531],{"type":28,"value":532},"\"too real,\" \"soap-opera-like,\" \"home-video-ish.\"",{"type":28,"value":534}," This is the ",{"type":23,"tag":31,"props":536,"children":537},{},[538],{"type":28,"value":539},"soap opera effect",{"type":28,"value":541},". Audiences trained on a century of 24fps film find 60fps smoothness uncanny — not lifelike, but cheap.",{"type":23,"tag":24,"props":543,"children":544},{},[545,547],{"type":28,"value":546},"This is why TV store demo reels showing \"frame interpolated\" content feel off. The TV is faking 60fps from 24fps source, and the eye reads it as wrong. ",{"type":23,"tag":31,"props":548,"children":549},{},[550],{"type":28,"value":551},"60fps for the wrong project actively damages the look.",{"type":23,"tag":44,"props":553,"children":555},{"id":554},"_120fps-and-240fps-capture-for-slow-motion",[556],{"type":28,"value":557},"120fps and 240fps — Capture for Slow Motion",{"type":23,"tag":24,"props":559,"children":560},{},[561],{"type":28,"value":562},"120 and 240fps exist primarily so you can play frames back slower than they were captured.",{"type":23,"tag":65,"props":564,"children":565},{},[566,576],{"type":23,"tag":69,"props":567,"children":568},{},[569,571],{"type":28,"value":570},"Shoot 120fps, play 24fps → ",{"type":23,"tag":31,"props":572,"children":573},{},[574],{"type":28,"value":575},"5× slow motion",{"type":23,"tag":69,"props":577,"children":578},{},[579,581],{"type":28,"value":580},"Shoot 240fps, play 24fps → ",{"type":23,"tag":31,"props":582,"children":583},{},[584],{"type":28,"value":585},"10× slow motion",{"type":23,"tag":24,"props":587,"children":588},{},[589,591,596,598,605],{"type":28,"value":590},"The trade-off at high frame rate is exposure: each frame gets a much shorter slice of light, so ",{"type":23,"tag":31,"props":592,"children":593},{},[594],{"type":28,"value":595},"low-light gets hard fast",{"type":28,"value":597},". The 180° shutter angle rule still applies for natural motion blur per frame (see ",{"type":23,"tag":599,"props":600,"children":602},"a",{"href":601},"/articles/shutter-angle-explained",[603],{"type":28,"value":604},"Shutter Angle, Explained",{"type":28,"value":606},").",{"type":23,"tag":24,"props":608,"children":609},{},[610],{"type":28,"value":611},"Shooting 120fps for real-time playback is rarely useful. You get smoothness, but the soap-opera effect hits even harder than 60fps.",{"type":23,"tag":44,"props":613,"children":615},{"id":614},"vfr-vs-cfr-the-smartphone-trap",[616],{"type":28,"value":617},"VFR vs CFR — the Smartphone Trap",{"type":23,"tag":24,"props":619,"children":620},{},[621,623,628,630,635],{"type":28,"value":622},"Everything above assumes a ",{"type":23,"tag":31,"props":624,"children":625},{},[626],{"type":28,"value":627},"constant frame rate (CFR)",{"type":28,"value":629},": each second, the camera writes the exact number of frames you set. Some devices — smartphones especially — use ",{"type":23,"tag":31,"props":631,"children":632},{},[633],{"type":28,"value":634},"variable frame rate (VFR)",{"type":28,"value":636}," instead: frames-per-second floats in real time based on scene brightness or processing load.",{"type":23,"tag":65,"props":638,"children":639},{},[640,650],{"type":23,"tag":69,"props":641,"children":642},{},[643,648],{"type":23,"tag":31,"props":644,"children":645},{},[646],{"type":28,"value":647},"CFR",{"type":28,"value":649}," — locked output, e.g., exactly 30 frames per second",{"type":23,"tag":69,"props":651,"children":652},{},[653,658],{"type":23,"tag":31,"props":654,"children":655},{},[656],{"type":28,"value":657},"VFR",{"type":28,"value":659}," — output rate drifts; the file might average 30fps but vary frame-to-frame",{"type":23,"tag":24,"props":661,"children":662},{},[663,665,670],{"type":28,"value":664},"VFR is fine for playback. ",{"type":23,"tag":31,"props":666,"children":667},{},[668],{"type":28,"value":669},"It is a nightmare in an edit",{"type":28,"value":671},":",{"type":23,"tag":65,"props":673,"children":674},{},[675,680,685],{"type":23,"tag":69,"props":676,"children":677},{},[678],{"type":28,"value":679},"iPhone 4K 60fps recordings often land as VFR",{"type":23,"tag":69,"props":681,"children":682},{},[683],{"type":28,"value":684},"DaVinci Resolve and Premiere Pro interpret VFR as the closest CFR, which can cause audio drift and frame-accurate cuts to miss",{"type":23,"tag":69,"props":686,"children":687},{},[688,690,696,698],{"type":28,"value":689},"The safe move: convert VFR to CFR before ingesting, using ",{"type":23,"tag":56,"props":691,"children":693},{"className":692},[],[694],{"type":28,"value":695},"HandBrake",{"type":28,"value":697}," or ",{"type":23,"tag":56,"props":699,"children":701},{"className":700},[],[702],{"type":28,"value":703},"FFmpeg",{"type":23,"tag":24,"props":705,"children":706},{},[707,709,714],{"type":28,"value":708},"If your library mixes phone footage with camera footage, ",{"type":23,"tag":31,"props":710,"children":711},{},[712],{"type":28,"value":713},"knowing which clips are VFR vs CFR is as important as knowing their frame rate",{"type":28,"value":63},{"type":23,"tag":44,"props":716,"children":718},{"id":717},"how-to-choose",[719],{"type":28,"value":720},"How to Choose",{"type":23,"tag":24,"props":722,"children":723},{},[724],{"type":28,"value":725},"When in doubt, pick by use case:",{"type":23,"tag":265,"props":727,"children":728},{},[729,745],{"type":23,"tag":269,"props":730,"children":731},{},[732],{"type":23,"tag":273,"props":733,"children":734},{},[735,740],{"type":23,"tag":277,"props":736,"children":737},{},[738],{"type":28,"value":739},"Use case",{"type":23,"tag":277,"props":741,"children":742},{},[743],{"type":28,"value":744},"Frame rate",{"type":23,"tag":288,"props":746,"children":747},{},[748,764,780,796,812,828],{"type":23,"tag":273,"props":749,"children":750},{},[751,756],{"type":23,"tag":295,"props":752,"children":753},{},[754],{"type":28,"value":755},"Cinematic look",{"type":23,"tag":295,"props":757,"children":758},{},[759],{"type":23,"tag":31,"props":760,"children":761},{},[762],{"type":28,"value":763},"24fps (or 23.976)",{"type":23,"tag":273,"props":765,"children":766},{},[767,772],{"type":23,"tag":295,"props":768,"children":769},{},[770],{"type":28,"value":771},"European broadcast / distribution",{"type":23,"tag":295,"props":773,"children":774},{},[775],{"type":23,"tag":31,"props":776,"children":777},{},[778],{"type":28,"value":779},"25fps",{"type":23,"tag":273,"props":781,"children":782},{},[783,788],{"type":23,"tag":295,"props":784,"children":785},{},[786],{"type":28,"value":787},"North American, YouTube default",{"type":23,"tag":295,"props":789,"children":790},{},[791],{"type":23,"tag":31,"props":792,"children":793},{},[794],{"type":28,"value":795},"29.97 or 30fps",{"type":23,"tag":273,"props":797,"children":798},{},[799,804],{"type":23,"tag":295,"props":800,"children":801},{},[802],{"type":28,"value":803},"Sports, gaming, action",{"type":23,"tag":295,"props":805,"children":806},{},[807],{"type":23,"tag":31,"props":808,"children":809},{},[810],{"type":28,"value":811},"60fps (59.94)",{"type":23,"tag":273,"props":813,"children":814},{},[815,820],{"type":23,"tag":295,"props":816,"children":817},{},[818],{"type":28,"value":819},"Slow-motion source material",{"type":23,"tag":295,"props":821,"children":822},{},[823],{"type":23,"tag":31,"props":824,"children":825},{},[826],{"type":28,"value":827},"120 / 240fps",{"type":23,"tag":273,"props":829,"children":830},{},[831,836],{"type":23,"tag":295,"props":832,"children":833},{},[834],{"type":28,"value":835},"Documentary",{"type":23,"tag":295,"props":837,"children":838},{},[839],{"type":28,"value":840},"24 or 30 — pick one and lock it for the whole piece",{"type":23,"tag":24,"props":842,"children":843},{},[844,846,851],{"type":28,"value":845},"The single most important rule: ",{"type":23,"tag":31,"props":847,"children":848},{},[849],{"type":28,"value":850},"don't mix frame rates carelessly within one project",{"type":28,"value":852},". When you must (e.g., 24fps base with 120fps slow-motion inserts), set the timeline to your base rate and conform the high-fps clips into it.",{"type":23,"tag":44,"props":854,"children":856},{"id":855},"frame-rate-is-locked-to-shutter-speed",[857],{"type":28,"value":858},"Frame Rate Is Locked to Shutter Speed",{"type":23,"tag":24,"props":860,"children":861},{},[862,864,869],{"type":28,"value":863},"Frame rate and shutter speed are not independent settings. They travel together. Following the ",{"type":23,"tag":31,"props":865,"children":866},{},[867],{"type":28,"value":868},"180° rule",{"type":28,"value":870}," (shutter denominator = double the frame rate) preserves the natural motion feel across whichever frame rate you pick.",{"type":23,"tag":65,"props":872,"children":873},{},[874,879,884,889],{"type":23,"tag":69,"props":875,"children":876},{},[877],{"type":28,"value":878},"24fps + 1/50 sec",{"type":23,"tag":69,"props":880,"children":881},{},[882],{"type":28,"value":883},"30fps + 1/60 sec",{"type":23,"tag":69,"props":885,"children":886},{},[887],{"type":28,"value":888},"60fps + 1/120 sec",{"type":23,"tag":69,"props":890,"children":891},{},[892],{"type":28,"value":893},"120fps + 1/240 sec",{"type":23,"tag":24,"props":895,"children":896},{},[897,899,903],{"type":28,"value":898},"Once this pairing is in your hands, the \"I bumped shutter and now motion stutters\" mistake stops happening. Full treatment in the companion piece: ",{"type":23,"tag":599,"props":900,"children":901},{"href":601},[902],{"type":28,"value":604},{"type":28,"value":63},{"type":23,"tag":44,"props":905,"children":907},{"id":906},"frame-rate-lives-in-the-metadata",[908],{"type":28,"value":909},"Frame Rate Lives in the Metadata",{"type":23,"tag":24,"props":911,"children":912},{},[913,915,920,922,928,930,936],{"type":28,"value":914},"Whatever frame rate you shoot at is recorded at the ",{"type":23,"tag":31,"props":916,"children":917},{},[918],{"type":28,"value":919},"container level",{"type":28,"value":921}," of the video file, reliably. ",{"type":23,"tag":56,"props":923,"children":925},{"className":924},[],[926],{"type":28,"value":927},"ffprobe",{"type":28,"value":929}," and ",{"type":23,"tag":56,"props":931,"children":933},{"className":932},[],[934],{"type":28,"value":935},"ExifTool",{"type":28,"value":937}," will read it back in seconds.",{"type":23,"tag":65,"props":939,"children":940},{},[941,946,951],{"type":23,"tag":69,"props":942,"children":943},{},[944],{"type":28,"value":945},"Nominal frame rate (what the menu said)",{"type":23,"tag":69,"props":947,"children":948},{},[949],{"type":28,"value":950},"Average frame rate (the real number, especially for VFR)",{"type":23,"tag":69,"props":952,"children":953},{},[954],{"type":28,"value":955},"Timecode base frame rate",{"type":23,"tag":24,"props":957,"children":958},{},[959,961,967],{"type":28,"value":960},"The broader story on container metadata is in ",{"type":23,"tag":599,"props":962,"children":964},{"href":963},"/articles/video-metadata-and-exif",[965],{"type":28,"value":966},"Do Videos Have EXIF?",{"type":28,"value":968},". Frame rate is among the most reliably preserved fields — it's how library tools can sort and filter across your archive.",{"type":23,"tag":44,"props":970,"children":972},{"id":971},"videotagger-filters-your-library-by-fps",[973],{"type":28,"value":974},"VideoTagger Filters Your Library by FPS",{"type":23,"tag":24,"props":976,"children":977},{},[978,980,985],{"type":28,"value":979},"VideoTagger reads the frame rate of every clip at ingestion and lets you filter the whole library by ",{"type":23,"tag":31,"props":981,"children":982},{},[983],{"type":28,"value":984},"FPS range",{"type":28,"value":63},{"type":23,"tag":65,"props":987,"children":988},{},[989,994,999],{"type":23,"tag":69,"props":990,"children":991},{},[992],{"type":28,"value":993},"\"Pull every 24fps clip in the library for the cinematic project\"",{"type":23,"tag":69,"props":995,"children":996},{},[997],{"type":28,"value":998},"\"Surface only the 60fps coverage from that event for the slow-motion edit\"",{"type":23,"tag":69,"props":1000,"children":1001},{},[1002],{"type":28,"value":1003},"\"Find me the exact-30fps clips in a library that's mostly 29.97\"",{"type":23,"tag":24,"props":1005,"children":1006},{},[1007,1009,1014],{"type":28,"value":1008},"These queries are essentially impossible by folder structure or filename. ",{"type":23,"tag":31,"props":1010,"children":1011},{},[1012],{"type":28,"value":1013},"The moment frame rate becomes a filter, your library becomes navigable",{"type":28,"value":1015}," — especially when you've got multiple cameras and operators feeding the same archive.",{"type":23,"tag":44,"props":1017,"children":1019},{"id":1018},"summary",[1020],{"type":28,"value":1021},"Summary",{"type":23,"tag":65,"props":1023,"children":1024},{},[1025,1030,1035,1040,1045,1050,1055],{"type":23,"tag":69,"props":1026,"children":1027},{},[1028],{"type":28,"value":1029},"24fps is the cinema standard, kept alive by culture rather than engineering",{"type":23,"tag":69,"props":1031,"children":1032},{},[1033],{"type":28,"value":1034},"25 / 29.97 / 30 come from broadcast TV, especially the NTSC color-television compromise",{"type":23,"tag":69,"props":1036,"children":1037},{},[1038],{"type":28,"value":1039},"23.976 and 29.97 are the NTSC color adjustments — the decimal isn't a typo",{"type":23,"tag":69,"props":1041,"children":1042},{},[1043],{"type":28,"value":1044},"60fps is smooth but reads as \"soap opera\" in the wrong context",{"type":23,"tag":69,"props":1046,"children":1047},{},[1048],{"type":28,"value":1049},"120 / 240fps is for slow motion, not real-time playback",{"type":23,"tag":69,"props":1051,"children":1052},{},[1053],{"type":28,"value":1054},"VFR is the smartphone trap — convert to CFR before editing",{"type":23,"tag":69,"props":1056,"children":1057},{},[1058],{"type":28,"value":1059},"Don't mix frame rates within a project, and when you must, conform to the timeline",{"type":23,"tag":24,"props":1061,"children":1062},{},[1063],{"type":28,"value":1064},"Frame rate is an expressive choice as much as a technical one. Once you know what each number means, picking one on purpose changes the tone of the whole project before a single shot is taken.",{"title":8,"searchDepth":1066,"depth":1066,"links":1067},2,[1068,1069,1070,1071,1072,1073,1075,1076,1077,1078,1079,1080,1081,1082],{"id":46,"depth":1066,"text":49},{"id":98,"depth":1066,"text":101},{"id":175,"depth":1066,"text":178},{"id":221,"depth":1066,"text":224},{"id":330,"depth":1066,"text":333},{"id":372,"depth":1066,"text":1074},"Drop-Frame Timecode — What the ; Means",{"id":471,"depth":1066,"text":474},{"id":554,"depth":1066,"text":557},{"id":614,"depth":1066,"text":617},{"id":717,"depth":1066,"text":720},{"id":855,"depth":1066,"text":858},{"id":906,"depth":1066,"text":909},{"id":971,"depth":1066,"text":974},{"id":1018,"depth":1066,"text":1021},"markdown","content:articles:en:frame-rate-basics.md","content","articles/en/frame-rate-basics.md","articles/en/frame-rate-basics","md",{"_path":1090,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1091,"description":1092,"slug":1093,"date":1094,"category":13,"tags":1095,"body":1098,"_type":1083,"_id":1753,"_source":1085,"_file":1754,"_stem":1755,"_extension":1088},"/articles/en/shutter-angle-explained","Shutter Angle, Explained — The 180° Rule and How Motion Feels in Video","You bumped the shutter speed to 1/1000 the way you would for a photo, and now the footage looks stuttery on playback. In video, shutter doesn't control brightness — it controls how motion reads. Here's shutter angle, the 180° rule, and frame rate, in one sitting.","shutter-angle-explained","2026-05-19",[15,1096,1097,17],"cinematography","shutter",{"type":20,"children":1099,"toc":1737},[1100,1105,1117,1123,1128,1166,1171,1180,1185,1193,1198,1204,1216,1221,1226,1232,1237,1329,1348,1354,1359,1366,1396,1402,1427,1437,1443,1448,1457,1476,1488,1494,1499,1527,1532,1538,1550,1563,1568,1586,1596,1602,1630,1641,1647,1659,1677,1682,1686,1732],{"type":23,"tag":24,"props":1101,"children":1102},{},[1103],{"type":28,"value":1104},"In stills, cranking the shutter speed freezes motion and gives you a sharp image. So you set 1/1000 on the camera, hit record, and play it back — and the result looks bizarrely staccato, almost video-game-like.",{"type":23,"tag":24,"props":1106,"children":1107},{},[1108,1110,1115],{"type":28,"value":1109},"In video, shutter speed isn't really about brightness. It controls ",{"type":23,"tag":31,"props":1111,"children":1112},{},[1113],{"type":28,"value":1114},"how motion reads on screen",{"type":28,"value":1116},". This post walks through shutter angle, the 180° rule, and how the whole thing relates to frame rate, until you can make the call on set without thinking.",{"type":23,"tag":44,"props":1118,"children":1120},{"id":1119},"shutter-speed-and-shutter-angle-describe-the-same-thing",[1121],{"type":28,"value":1122},"Shutter Speed and Shutter Angle Describe the Same Thing",{"type":23,"tag":24,"props":1124,"children":1125},{},[1126],{"type":28,"value":1127},"The cinema world talks about \"shutter angle,\" while photographers talk about \"shutter speed.\" They're the same physical phenomenon, expressed in different units.",{"type":23,"tag":65,"props":1129,"children":1130},{},[1131,1149],{"type":23,"tag":69,"props":1132,"children":1133},{},[1134,1139,1141,1147],{"type":23,"tag":31,"props":1135,"children":1136},{},[1137],{"type":28,"value":1138},"Shutter speed",{"type":28,"value":1140}," — fraction of a second of exposure per frame (e.g., ",{"type":23,"tag":56,"props":1142,"children":1144},{"className":1143},[],[1145],{"type":28,"value":1146},"1/50",{"type":28,"value":1148},")",{"type":23,"tag":69,"props":1150,"children":1151},{},[1152,1157,1159,1165],{"type":23,"tag":31,"props":1153,"children":1154},{},[1155],{"type":28,"value":1156},"Shutter angle",{"type":28,"value":1158}," — degrees of rotation a film-era rotary shutter would be open (e.g., ",{"type":23,"tag":56,"props":1160,"children":1162},{"className":1161},[],[1163],{"type":28,"value":1164},"180°",{"type":28,"value":1148},{"type":23,"tag":24,"props":1167,"children":1168},{},[1169],{"type":28,"value":1170},"The conversion:",{"type":23,"tag":1172,"props":1173,"children":1175},"pre",{"code":1174},"shutter speed = 1 / (frame rate × 360 / shutter angle)\n",[1176],{"type":23,"tag":56,"props":1177,"children":1178},{"__ignoreMap":8},[1179],{"type":28,"value":1174},{"type":23,"tag":24,"props":1181,"children":1182},{},[1183],{"type":28,"value":1184},"At 24fps with a 180° shutter:",{"type":23,"tag":1172,"props":1186,"children":1188},{"code":1187},"1 / (24 × 360 / 180) = 1 / 48 ≈ 1/50 sec\n",[1189],{"type":23,"tag":56,"props":1190,"children":1191},{"__ignoreMap":8},[1192],{"type":28,"value":1187},{"type":23,"tag":24,"props":1194,"children":1195},{},[1196],{"type":28,"value":1197},"So \"24fps at 180°\" and \"24fps at 1/50\" are roughly the same setting. The angle vocabulary survives because mechanical rotary shutters were literal discs with a sector cut out. 180° meant the disc was half open.",{"type":23,"tag":44,"props":1199,"children":1201},{"id":1200},"the-180-rule-the-cinema-default",[1202],{"type":28,"value":1203},"The 180° Rule — the Cinema Default",{"type":23,"tag":24,"props":1205,"children":1206},{},[1207,1209,1214],{"type":28,"value":1208},"There's a long-standing convention: ",{"type":23,"tag":31,"props":1210,"children":1211},{},[1212],{"type":28,"value":1213},"shoot at 180°",{"type":28,"value":1215},". People call this the \"180° rule.\"",{"type":23,"tag":24,"props":1217,"children":1218},{},[1219],{"type":28,"value":1220},"The reason: short shutter (= small angle) freezes each frame sharply, and the brain reads a sequence of frozen frames as choppy, animated, slightly unreal. Long shutter (= large angle) smears the motion, sometimes too much to read.",{"type":23,"tag":24,"props":1222,"children":1223},{},[1224],{"type":28,"value":1225},"180° lands in the middle. It's where motion picks up enough blur to feel natural across frames but not so much that it's mushy. Decades of footage have used it as the baseline for \"film-looking\" or just \"video-looking\" motion. Start here, deviate on purpose.",{"type":23,"tag":44,"props":1227,"children":1229},{"id":1228},"the-cheat-sheet-by-frame-rate",[1230],{"type":28,"value":1231},"The Cheat Sheet by Frame Rate",{"type":23,"tag":24,"props":1233,"children":1234},{},[1235],{"type":28,"value":1236},"Following the 180° rule:",{"type":23,"tag":265,"props":1238,"children":1239},{},[1240,1255],{"type":23,"tag":269,"props":1241,"children":1242},{},[1243],{"type":23,"tag":273,"props":1244,"children":1245},{},[1246,1250],{"type":23,"tag":277,"props":1247,"children":1248},{},[1249],{"type":28,"value":744},{"type":23,"tag":277,"props":1251,"children":1252},{},[1253],{"type":28,"value":1254},"Shutter at 180°",{"type":23,"tag":288,"props":1256,"children":1257},{},[1258,1275,1290,1303,1316],{"type":23,"tag":273,"props":1259,"children":1260},{},[1261,1266],{"type":23,"tag":295,"props":1262,"children":1263},{},[1264],{"type":28,"value":1265},"24 fps",{"type":23,"tag":295,"props":1267,"children":1268},{},[1269,1271],{"type":28,"value":1270},"1/48 ≈ ",{"type":23,"tag":31,"props":1272,"children":1273},{},[1274],{"type":28,"value":1146},{"type":23,"tag":273,"props":1276,"children":1277},{},[1278,1283],{"type":23,"tag":295,"props":1279,"children":1280},{},[1281],{"type":28,"value":1282},"25 fps (PAL)",{"type":23,"tag":295,"props":1284,"children":1285},{},[1286],{"type":23,"tag":31,"props":1287,"children":1288},{},[1289],{"type":28,"value":1146},{"type":23,"tag":273,"props":1291,"children":1292},{},[1293,1298],{"type":23,"tag":295,"props":1294,"children":1295},{},[1296],{"type":28,"value":1297},"30 fps (NTSC, 29.97)",{"type":23,"tag":295,"props":1299,"children":1300},{},[1301],{"type":28,"value":1302},"1/60",{"type":23,"tag":273,"props":1304,"children":1305},{},[1306,1311],{"type":23,"tag":295,"props":1307,"children":1308},{},[1309],{"type":28,"value":1310},"60 fps",{"type":23,"tag":295,"props":1312,"children":1313},{},[1314],{"type":28,"value":1315},"1/120",{"type":23,"tag":273,"props":1317,"children":1318},{},[1319,1324],{"type":23,"tag":295,"props":1320,"children":1321},{},[1322],{"type":28,"value":1323},"120 fps",{"type":23,"tag":295,"props":1325,"children":1326},{},[1327],{"type":28,"value":1328},"1/240",{"type":23,"tag":24,"props":1330,"children":1331},{},[1332,1334,1339,1341,1347],{"type":28,"value":1333},"The shortcut: ",{"type":23,"tag":31,"props":1335,"children":1336},{},[1337],{"type":28,"value":1338},"double the frame rate",{"type":28,"value":1340}," for the shutter's denominator. Works at every common frame rate. For the frame rate side of the equation — what each number means and how to pick one — see the companion piece: ",{"type":23,"tag":599,"props":1342,"children":1344},{"href":1343},"/articles/frame-rate-basics",[1345],{"type":28,"value":1346},"Frame Rate, From the Ground Up",{"type":28,"value":63},{"type":23,"tag":44,"props":1349,"children":1351},{"id":1350},"what-happens-when-you-break-the-rule",[1352],{"type":28,"value":1353},"What Happens When You Break the Rule",{"type":23,"tag":24,"props":1355,"children":1356},{},[1357],{"type":28,"value":1358},"The rule is a starting point. Breaking it on purpose is a real tool.",{"type":23,"tag":1360,"props":1361,"children":1363},"h3",{"id":1362},"smaller-angle-faster-shutter-eg-45-90",[1364],{"type":28,"value":1365},"Smaller angle / faster shutter (e.g., 45°, 90°)",{"type":23,"tag":65,"props":1367,"children":1368},{},[1369,1379,1391],{"type":23,"tag":69,"props":1370,"children":1371},{},[1372,1374],{"type":28,"value":1373},"Each frame is sharper. Motion reads ",{"type":23,"tag":31,"props":1375,"children":1376},{},[1377],{"type":28,"value":1378},"staccato, percussive",{"type":23,"tag":69,"props":1380,"children":1381},{},[1382,1384,1389],{"type":28,"value":1383},"Used for combat, explosions, and tension (the opening of ",{"type":23,"tag":166,"props":1385,"children":1386},{},[1387],{"type":28,"value":1388},"Saving Private Ryan",{"type":28,"value":1390}," is the famous example)",{"type":23,"tag":69,"props":1392,"children":1393},{},[1394],{"type":28,"value":1395},"Sports broadcasts also lean faster to keep slow-motion replays crisp",{"type":23,"tag":1360,"props":1397,"children":1399},{"id":1398},"larger-angle-slower-shutter-eg-270-360",[1400],{"type":28,"value":1401},"Larger angle / slower shutter (e.g., 270°, 360°)",{"type":23,"tag":65,"props":1403,"children":1404},{},[1405,1417,1422],{"type":23,"tag":69,"props":1406,"children":1407},{},[1408,1410,1415],{"type":28,"value":1409},"Motion ",{"type":23,"tag":31,"props":1411,"children":1412},{},[1413],{"type":28,"value":1414},"smears",{"type":28,"value":1416},", the image feels dreamy, drunk, dissociated",{"type":23,"tag":69,"props":1418,"children":1419},{},[1420],{"type":28,"value":1421},"Sometimes used just to gain a stop of brightness in low light",{"type":23,"tag":69,"props":1423,"children":1424},{},[1425],{"type":28,"value":1426},"Push it too far and the picture just looks like camera shake",{"type":23,"tag":24,"props":1428,"children":1429},{},[1430,1432],{"type":28,"value":1431},"The mental model: 180° is the default look. 45–90° is anxious and sharp. 270–360° is woozy and surreal. ",{"type":23,"tag":31,"props":1433,"children":1434},{},[1435],{"type":28,"value":1436},"Pick on purpose, with the story in mind.",{"type":23,"tag":44,"props":1438,"children":1440},{"id":1439},"the-photographers-trap",[1441],{"type":28,"value":1442},"The Photographer's Trap",{"type":23,"tag":24,"props":1444,"children":1445},{},[1446],{"type":28,"value":1447},"This is where stills-trained shooters routinely get bitten:",{"type":23,"tag":1449,"props":1450,"children":1451},"blockquote",{},[1452],{"type":23,"tag":24,"props":1453,"children":1454},{},[1455],{"type":28,"value":1456},"Outdoor scene is too bright → reach for the shutter speed dial → motion now stutters",{"type":23,"tag":24,"props":1458,"children":1459},{},[1460,1462,1467,1469,1474],{"type":28,"value":1461},"The right move is to leave the shutter alone and ",{"type":23,"tag":31,"props":1463,"children":1464},{},[1465],{"type":28,"value":1466},"add an ND filter",{"type":28,"value":1468},". Shutter in video isn't a free exposure parameter the way aperture or ISO are; it's the knob that decides ",{"type":23,"tag":31,"props":1470,"children":1471},{},[1472],{"type":28,"value":1473},"what motion looks like",{"type":28,"value":1475},". You shouldn't be touching it for brightness.",{"type":23,"tag":24,"props":1477,"children":1478},{},[1479,1481,1486],{"type":28,"value":1480},"This is also why cinema cameras and high-end mirrorless bodies ship with ",{"type":23,"tag":31,"props":1482,"children":1483},{},[1484],{"type":28,"value":1485},"built-in ND",{"type":28,"value":1487},". The intent is for you to keep shutter at 180° and adjust light entering the sensor by some other means.",{"type":23,"tag":44,"props":1489,"children":1491},{"id":1490},"high-frame-rate-capture",[1492],{"type":28,"value":1493},"High-Frame-Rate Capture",{"type":23,"tag":24,"props":1495,"children":1496},{},[1497],{"type":28,"value":1498},"When you're shooting slow motion at 120 or 240fps, the 180° rule still applies.",{"type":23,"tag":65,"props":1500,"children":1501},{},[1502,1507,1512,1517],{"type":23,"tag":69,"props":1503,"children":1504},{},[1505],{"type":28,"value":1506},"120fps → 1/240 sec",{"type":23,"tag":69,"props":1508,"children":1509},{},[1510],{"type":28,"value":1511},"240fps → 1/480 sec",{"type":23,"tag":69,"props":1513,"children":1514},{},[1515],{"type":28,"value":1516},"Motion blur per frame is naturally short — that's fine, you're going to play those frames back at 24/30fps anyway",{"type":23,"tag":69,"props":1518,"children":1519},{},[1520,1522],{"type":28,"value":1521},"Low light gets harder fast; add light or push ISO, ",{"type":23,"tag":31,"props":1523,"children":1524},{},[1525],{"type":28,"value":1526},"don't lower the shutter",{"type":23,"tag":24,"props":1528,"children":1529},{},[1530],{"type":28,"value":1531},"Slow-motion playback shows each frame for longer, which makes sharper-per-frame capture look better, not worse. The \"fast shutter\" you're getting at 1/480 is the right outcome here.",{"type":23,"tag":44,"props":1533,"children":1535},{"id":1534},"flicker-where-the-rule-bends",[1536],{"type":28,"value":1537},"Flicker — Where the Rule Bends",{"type":23,"tag":24,"props":1539,"children":1540},{},[1541,1543,1548],{"type":28,"value":1542},"Fluorescent and some LED lights flicker at twice the ",{"type":23,"tag":31,"props":1544,"children":1545},{},[1546],{"type":28,"value":1547},"electrical mains frequency",{"type":28,"value":1549},". Mismatch the shutter and you'll see brightness pulse in the image.",{"type":23,"tag":65,"props":1551,"children":1552},{},[1553,1558],{"type":23,"tag":69,"props":1554,"children":1555},{},[1556],{"type":28,"value":1557},"50Hz regions (Europe, eastern Japan): 1/50 and 1/100 are safe",{"type":23,"tag":69,"props":1559,"children":1560},{},[1561],{"type":28,"value":1562},"60Hz regions (North America, western Japan): 1/60 and 1/120 are safe",{"type":23,"tag":24,"props":1564,"children":1565},{},[1566],{"type":28,"value":1567},"The conflict surfaces when 180° rule and mains frequency disagree — e.g., 24fps in a 60Hz region wants 1/50, but that's not flicker-safe. Your options:",{"type":23,"tag":65,"props":1569,"children":1570},{},[1571,1576,1581],{"type":23,"tag":69,"props":1572,"children":1573},{},[1574],{"type":28,"value":1575},"Shift the frame rate to PAL (25fps)",{"type":23,"tag":69,"props":1577,"children":1578},{},[1579],{"type":28,"value":1580},"Move the shutter a notch off 180° (close to it, but flicker-safe)",{"type":23,"tag":69,"props":1582,"children":1583},{},[1584],{"type":28,"value":1585},"Change the lighting on set",{"type":23,"tag":24,"props":1587,"children":1588},{},[1589,1594],{"type":23,"tag":31,"props":1590,"children":1591},{},[1592],{"type":28,"value":1593},"Which lever to pull depends on the project.",{"type":28,"value":1595}," If the look is critical and you control the lights, change the lights. If you're on location with mixed sources, the shutter is the lever you have.",{"type":23,"tag":44,"props":1597,"children":1599},{"id":1598},"shutter-settings-often-live-in-the-metadata",[1600],{"type":28,"value":1601},"Shutter Settings Often Live in the Metadata",{"type":23,"tag":24,"props":1603,"children":1604},{},[1605,1607,1612,1614,1620,1622,1628],{"type":28,"value":1606},"Many pro cameras and cinema bodies ",{"type":23,"tag":31,"props":1608,"children":1609},{},[1610],{"type":28,"value":1611},"embed the shutter speed (or angle) as metadata",{"type":28,"value":1613}," at capture. Sony pro cameras write it in ",{"type":23,"tag":56,"props":1615,"children":1617},{"className":1616},[],[1618],{"type":28,"value":1619},".XML",{"type":28,"value":1621}," sidecars, ARRI in ",{"type":23,"tag":56,"props":1623,"children":1625},{"className":1624},[],[1626],{"type":28,"value":1627},".ALE",{"type":28,"value":1629},", and some mirrorless bodies put it inside MP4 metadata.",{"type":23,"tag":24,"props":1631,"children":1632},{},[1633,1635,1639],{"type":28,"value":1634},"We cover the broader picture in the sister piece ",{"type":23,"tag":599,"props":1636,"children":1637},{"href":963},[1638],{"type":28,"value":966},{"type":28,"value":1640},". The short version: when capture-side decisions are preserved on disk, you can audit them later from the edit, the grade, or even a library tool.",{"type":23,"tag":44,"props":1642,"children":1644},{"id":1643},"videotagger-lets-you-slice-footage-by-motion-settings",[1645],{"type":28,"value":1646},"VideoTagger Lets You Slice Footage by Motion Settings",{"type":23,"tag":24,"props":1648,"children":1649},{},[1650,1652,1657],{"type":28,"value":1651},"Beyond the basics (frame rate, codec, resolution), VideoTagger extracts whatever capture metadata is available — ",{"type":23,"tag":31,"props":1653,"children":1654},{},[1655],{"type":28,"value":1656},"shutter speed, capture date, camera model",{"type":28,"value":1658}," — and makes it searchable.",{"type":23,"tag":65,"props":1660,"children":1661},{},[1662,1667,1672],{"type":23,"tag":69,"props":1663,"children":1664},{},[1665],{"type":28,"value":1666},"\"Pull every 24fps clip across the library for the cinema-look project\"",{"type":23,"tag":69,"props":1668,"children":1669},{},[1670],{"type":28,"value":1671},"\"Show me only the 60fps coverage from that event for the slow-motion edit\"",{"type":23,"tag":69,"props":1673,"children":1674},{},[1675],{"type":28,"value":1676},"\"Surface clips where the shutter setting is recorded, so I can verify motion consistency\"",{"type":23,"tag":24,"props":1678,"children":1679},{},[1680],{"type":28,"value":1681},"Filename and folder are blunt tools. Metadata-driven filtering is how you keep motion intent coherent across a large library, especially when multiple cameras and operators shot the same job.",{"type":23,"tag":44,"props":1683,"children":1684},{"id":1018},[1685],{"type":28,"value":1021},{"type":23,"tag":65,"props":1687,"children":1688},{},[1689,1694,1705,1710,1722,1727],{"type":23,"tag":69,"props":1690,"children":1691},{},[1692],{"type":28,"value":1693},"Shutter speed and shutter angle are the same setting in different units",{"type":23,"tag":69,"props":1695,"children":1696},{},[1697,1699,1703],{"type":28,"value":1698},"The ",{"type":23,"tag":31,"props":1700,"children":1701},{},[1702],{"type":28,"value":868},{"type":28,"value":1704}," — shutter denominator = double the frame rate — is the default look",{"type":23,"tag":69,"props":1706,"children":1707},{},[1708],{"type":28,"value":1709},"Change the angle to change motion, never to change brightness",{"type":23,"tag":69,"props":1711,"children":1712},{},[1713,1715,1720],{"type":28,"value":1714},"For brightness, use ",{"type":23,"tag":31,"props":1716,"children":1717},{},[1718],{"type":28,"value":1719},"ND filters",{"type":28,"value":1721},". Built-in ND exists for this reason",{"type":23,"tag":69,"props":1723,"children":1724},{},[1725],{"type":28,"value":1726},"Keep 180° even at high frame rates",{"type":23,"tag":69,"props":1728,"children":1729},{},[1730],{"type":28,"value":1731},"Flicker forces tradeoffs in artificial-light environments",{"type":23,"tag":24,"props":1733,"children":1734},{},[1735],{"type":28,"value":1736},"\"Shutter is the motion knob.\" Once that lodges, the photo-trained instinct to crank shutter for brightness goes away — and your footage starts looking like footage instead of fast burst stills.",{"title":8,"searchDepth":1066,"depth":1066,"links":1738},[1739,1740,1741,1742,1747,1748,1749,1750,1751,1752],{"id":1119,"depth":1066,"text":1122},{"id":1200,"depth":1066,"text":1203},{"id":1228,"depth":1066,"text":1231},{"id":1350,"depth":1066,"text":1353,"children":1743},[1744,1746],{"id":1362,"depth":1745,"text":1365},3,{"id":1398,"depth":1745,"text":1401},{"id":1439,"depth":1066,"text":1442},{"id":1490,"depth":1066,"text":1493},{"id":1534,"depth":1066,"text":1537},{"id":1598,"depth":1066,"text":1601},{"id":1643,"depth":1066,"text":1646},{"id":1018,"depth":1066,"text":1021},"content:articles:en:shutter-angle-explained.md","articles/en/shutter-angle-explained.md","articles/en/shutter-angle-explained",{"_path":1757,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1758,"description":1759,"slug":1760,"date":1094,"category":13,"tags":1761,"body":1765,"_type":1083,"_id":2557,"_source":1085,"_file":2558,"_stem":2559,"_extension":1088},"/articles/en/video-metadata-and-exif","Do Videos Have EXIF? — What's Actually Buried Inside MP4 and MOV Files","You open a JPEG and EXIF tells you the camera, lens, and exposure. Videos seem to give you almost nothing — but the information is in there. Strictly speaking there's no EXIF in a video file, but its equivalents are absolutely present. Here's where to look.","video-metadata-and-exif",[15,1762,1763,1764],"metadata","exif","workflow",{"type":20,"children":1766,"toc":2546},[1767,1780,1792,1798,1810,1971,1983,1989,1994,2075,2085,2091,2096,2145,2161,2167,2178,2196,2215,2241,2253,2340,2367,2373,2390,2413,2418,2424,2436,2454,2459,2463,2541],{"type":23,"tag":24,"props":1768,"children":1769},{},[1770,1772,1778],{"type":28,"value":1771},"Open a ",{"type":23,"tag":56,"props":1773,"children":1775},{"className":1774},[],[1776],{"type":28,"value":1777},"JPEG",{"type":28,"value":1779}," and you'll see capture date, camera body, lens, aperture, ISO — EXIF lays it all out. Right-click a video file and the system properties give you size, length, maybe a codec name. That's it.",{"type":23,"tag":24,"props":1781,"children":1782},{},[1783,1785,1790],{"type":28,"value":1784},"The information is actually in there. It's just stored under different names, in different places, using different conventions. This post walks through ",{"type":23,"tag":31,"props":1786,"children":1787},{},[1788],{"type":28,"value":1789},"what's really inside a video file's metadata",{"type":28,"value":1791},": where it lives, what you can read out, and why so much of it goes missing by the time the file lands in your edit.",{"type":23,"tag":44,"props":1793,"children":1795},{"id":1794},"the-short-answer-no-exif-but-equivalents-exist",[1796],{"type":28,"value":1797},"The Short Answer — No EXIF, But Equivalents Exist",{"type":23,"tag":24,"props":1799,"children":1800},{},[1801,1803,1808],{"type":28,"value":1802},"First, the vocabulary. ",{"type":23,"tag":31,"props":1804,"children":1805},{},[1806],{"type":28,"value":1807},"EXIF (Exchangeable Image File Format) is a still-image specification.",{"type":28,"value":1809}," It's not embedded as-is inside an MP4 or MOV. Video uses different mechanisms to carry equivalent information.",{"type":23,"tag":265,"props":1811,"children":1812},{},[1813,1834],{"type":23,"tag":269,"props":1814,"children":1815},{},[1816],{"type":23,"tag":273,"props":1817,"children":1818},{},[1819,1824,1829],{"type":23,"tag":277,"props":1820,"children":1821},{},[1822],{"type":28,"value":1823},"Mechanism",{"type":23,"tag":277,"props":1825,"children":1826},{},[1827],{"type":28,"value":1828},"Where you'll find it",{"type":23,"tag":277,"props":1830,"children":1831},{},[1832],{"type":28,"value":1833},"Typical contents",{"type":23,"tag":288,"props":1835,"children":1836},{},[1837,1873,1894,1915,1936],{"type":23,"tag":273,"props":1838,"children":1839},{},[1840,1863,1868],{"type":23,"tag":295,"props":1841,"children":1842},{},[1843],{"type":23,"tag":31,"props":1844,"children":1845},{},[1846,1848,1854,1856,1862],{"type":28,"value":1847},"ISO BMFF metadata (",{"type":23,"tag":56,"props":1849,"children":1851},{"className":1850},[],[1852],{"type":28,"value":1853},"udta",{"type":28,"value":1855}," / ",{"type":23,"tag":56,"props":1857,"children":1859},{"className":1858},[],[1860],{"type":28,"value":1861},"meta",{"type":28,"value":1148},{"type":23,"tag":295,"props":1864,"children":1865},{},[1866],{"type":28,"value":1867},"MP4, MOV",{"type":23,"tag":295,"props":1869,"children":1870},{},[1871],{"type":28,"value":1872},"Camera model, capture date, GPS, comments",{"type":23,"tag":273,"props":1874,"children":1875},{},[1876,1884,1889],{"type":23,"tag":295,"props":1877,"children":1878},{},[1879],{"type":23,"tag":31,"props":1880,"children":1881},{},[1882],{"type":28,"value":1883},"QuickTime metadata atoms",{"type":23,"tag":295,"props":1885,"children":1886},{},[1887],{"type":28,"value":1888},"MOV (QuickTime)",{"type":23,"tag":295,"props":1890,"children":1891},{},[1892],{"type":28,"value":1893},"Copyright, model, software, Apple-specific data",{"type":23,"tag":273,"props":1895,"children":1896},{},[1897,1905,1910],{"type":23,"tag":295,"props":1898,"children":1899},{},[1900],{"type":23,"tag":31,"props":1901,"children":1902},{},[1903],{"type":28,"value":1904},"XMP (Adobe-origin)",{"type":23,"tag":295,"props":1906,"children":1907},{},[1908],{"type":28,"value":1909},"Multiple containers",{"type":23,"tag":295,"props":1911,"children":1912},{},[1913],{"type":28,"value":1914},"Ratings, tags, editor information",{"type":23,"tag":273,"props":1916,"children":1917},{},[1918,1926,1931],{"type":23,"tag":295,"props":1919,"children":1920},{},[1921],{"type":23,"tag":31,"props":1922,"children":1923},{},[1924],{"type":28,"value":1925},"Vendor-specific schemas",{"type":23,"tag":295,"props":1927,"children":1928},{},[1929],{"type":28,"value":1930},"Sony XAVC, Canon XF-AVC, etc.",{"type":23,"tag":295,"props":1932,"children":1933},{},[1934],{"type":28,"value":1935},"Camera settings, lens info, scene data",{"type":23,"tag":273,"props":1937,"children":1938},{},[1939,1947,1966],{"type":23,"tag":295,"props":1940,"children":1941},{},[1942],{"type":23,"tag":31,"props":1943,"children":1944},{},[1945],{"type":28,"value":1946},"Sidecar files",{"type":23,"tag":295,"props":1948,"children":1949},{},[1950,1952,1957,1959,1964],{"type":28,"value":1951},"Sony ",{"type":23,"tag":56,"props":1953,"children":1955},{"className":1954},[],[1956],{"type":28,"value":1619},{"type":28,"value":1958},", ARRI ",{"type":23,"tag":56,"props":1960,"children":1962},{"className":1961},[],[1963],{"type":28,"value":1627},{"type":28,"value":1965},", etc.",{"type":23,"tag":295,"props":1967,"children":1968},{},[1969],{"type":28,"value":1970},"Metadata stored alongside the video file",{"type":23,"tag":24,"props":1972,"children":1973},{},[1974,1976,1981],{"type":28,"value":1975},"If by \"EXIF\" you mean \"the camera and capture info from when this was shot,\" the answer is ",{"type":23,"tag":31,"props":1977,"children":1978},{},[1979],{"type":28,"value":1980},"yes, it's in there",{"type":28,"value":1982}," — just not under that name. On pro gear, the metadata can be richer than what stills typically carry.",{"type":23,"tag":44,"props":1984,"children":1986},{"id":1985},"whats-actually-stored",[1987],{"type":28,"value":1988},"What's Actually Stored",{"type":23,"tag":24,"props":1990,"children":1991},{},[1992],{"type":28,"value":1993},"Common items you can extract from a video file:",{"type":23,"tag":65,"props":1995,"children":1996},{},[1997,2007,2015,2025,2035,2045,2055,2065],{"type":23,"tag":69,"props":1998,"children":1999},{},[2000,2005],{"type":23,"tag":31,"props":2001,"children":2002},{},[2003],{"type":28,"value":2004},"Capture date and time",{"type":28,"value":2006}," — almost always present (time zone handling varies by camera)",{"type":23,"tag":69,"props":2008,"children":2009},{},[2010],{"type":23,"tag":31,"props":2011,"children":2012},{},[2013],{"type":28,"value":2014},"Camera make, model, firmware/software version",{"type":23,"tag":69,"props":2016,"children":2017},{},[2018,2023],{"type":23,"tag":31,"props":2019,"children":2020},{},[2021],{"type":28,"value":2022},"GPS coordinates",{"type":28,"value":2024}," — common on phones, action cams, and recent mirrorless bodies",{"type":23,"tag":69,"props":2026,"children":2027},{},[2028,2033],{"type":23,"tag":31,"props":2029,"children":2030},{},[2031],{"type":28,"value":2032},"Resolution, frame rate, codec, bitrate",{"type":28,"value":2034}," — strictly container-level rather than \"metadata,\" but readable the same way",{"type":23,"tag":69,"props":2036,"children":2037},{},[2038,2043],{"type":23,"tag":31,"props":2039,"children":2040},{},[2041],{"type":28,"value":2042},"Color space, color matrix, transfer characteristics",{"type":28,"value":2044}," (Rec.709, Rec.2020, HLG, PQ)",{"type":23,"tag":69,"props":2046,"children":2047},{},[2048,2053],{"type":23,"tag":31,"props":2049,"children":2050},{},[2051],{"type":28,"value":2052},"SMPTE timecode",{"type":28,"value":2054}," — effectively mandatory on broadcast gear",{"type":23,"tag":69,"props":2056,"children":2057},{},[2058,2063],{"type":23,"tag":31,"props":2059,"children":2060},{},[2061],{"type":28,"value":2062},"Lens info, aperture, shutter speed, ISO",{"type":28,"value":2064}," — usually in vendor-specific regions",{"type":23,"tag":69,"props":2066,"children":2067},{},[2068,2073],{"type":23,"tag":31,"props":2069,"children":2070},{},[2071],{"type":28,"value":2072},"White balance, picture profile",{"type":28,"value":2074}," — same caveat as above",{"type":23,"tag":24,"props":2076,"children":2077},{},[2078,2080],{"type":28,"value":2079},"That last category is where the inconsistency lives. Pro Sony XML output is astonishingly detailed; a consumer Canon MP4 might omit the same fields entirely. ",{"type":23,"tag":31,"props":2081,"children":2082},{},[2083],{"type":28,"value":2084},"Whether a field exists depends heavily on the camera, the recording format, and the firmware version.",{"type":23,"tag":44,"props":2086,"children":2088},{"id":2087},"how-to-look-inside",[2089],{"type":28,"value":2090},"How to Look Inside",{"type":23,"tag":24,"props":2092,"children":2093},{},[2094],{"type":28,"value":2095},"A few tools handle this well:",{"type":23,"tag":65,"props":2097,"children":2098},{},[2099,2112,2125,2135],{"type":23,"tag":69,"props":2100,"children":2101},{},[2102,2110],{"type":23,"tag":31,"props":2103,"children":2104},{},[2105],{"type":23,"tag":56,"props":2106,"children":2108},{"className":2107},[],[2109],{"type":28,"value":927},{"type":28,"value":2111}," (ships with FFmpeg) — perfect for container-level info: resolution, frame rate, codec, bitrate, color space",{"type":23,"tag":69,"props":2113,"children":2114},{},[2115,2123],{"type":23,"tag":31,"props":2116,"children":2117},{},[2118],{"type":23,"tag":56,"props":2119,"children":2121},{"className":2120},[],[2122],{"type":28,"value":935},{"type":28,"value":2124}," — yes, the name is misleading. It reads video metadata too, including most vendor-specific extensions. The de facto standard",{"type":23,"tag":69,"props":2126,"children":2127},{},[2128,2133],{"type":23,"tag":31,"props":2129,"children":2130},{},[2131],{"type":28,"value":2132},"macOS \"Get Info\"",{"type":28,"value":2134}," — shows a sliver of QuickTime metadata. Fine for a glance, not enough for real work",{"type":23,"tag":69,"props":2136,"children":2137},{},[2138,2143],{"type":23,"tag":31,"props":2139,"children":2140},{},[2141],{"type":28,"value":2142},"NLE clip properties",{"type":28,"value":2144}," (Premiere Pro, DaVinci Resolve, FCP) — surfaces what matters during the edit: timecode, color tags, frame rate",{"type":23,"tag":1449,"props":2146,"children":2147},{},[2148],{"type":23,"tag":24,"props":2149,"children":2150},{},[2151,2153,2159],{"type":28,"value":2152},"Try running ",{"type":23,"tag":56,"props":2154,"children":2156},{"className":2155},[],[2157],{"type":28,"value":2158},"exiftool",{"type":28,"value":2160}," on one of your own clips. Most people are surprised how much of the shoot is still embedded.",{"type":23,"tag":44,"props":2162,"children":2164},{"id":2163},"metadata-that-disappears-during-editing",[2165],{"type":28,"value":2166},"Metadata That Disappears During Editing",{"type":23,"tag":24,"props":2168,"children":2169},{},[2170,2172,2177],{"type":28,"value":2171},"This is where it gets practical. No matter how much your camera embedded at capture, ",{"type":23,"tag":31,"props":2173,"children":2174},{},[2175],{"type":28,"value":2176},"most of it doesn't survive the round trip through an NLE",{"type":28,"value":63},{"type":23,"tag":65,"props":2179,"children":2180},{},[2181,2186,2191],{"type":23,"tag":69,"props":2182,"children":2183},{},[2184],{"type":28,"value":2185},"Vendor-specific metadata is mostly stripped the moment a clip enters a project",{"type":23,"tag":69,"props":2187,"children":2188},{},[2189],{"type":28,"value":2190},"What makes it to export depends on the container (MP4 / MOV / MKV) and the encoder",{"type":23,"tag":69,"props":2192,"children":2193},{},[2194],{"type":28,"value":2195},"Some editors don't preserve even GPS or capture date",{"type":23,"tag":24,"props":2197,"children":2198},{},[2199,2201,2206,2208,2214],{"type":28,"value":2200},"The result: ",{"type":23,"tag":31,"props":2202,"children":2203},{},[2204],{"type":28,"value":2205},"a camera original and an exported delivery file carry vastly different amounts of metadata.",{"type":28,"value":2207}," This is one more reason not to throw away your camera originals (see the archive section in ",{"type":23,"tag":599,"props":2209,"children":2211},{"href":2210},"/articles/video-codec-comparison",[2212],{"type":28,"value":2213},"the codec article",{"type":28,"value":606},{"type":23,"tag":44,"props":2216,"children":2218},{"id":2217},"sidecars-the-xml-ale-csv-world",[2219,2221,2226,2227,2232,2233,2239],{"type":28,"value":2220},"Sidecars — the ",{"type":23,"tag":56,"props":2222,"children":2224},{"className":2223},[],[2225],{"type":28,"value":1619},{"type":28,"value":1855},{"type":23,"tag":56,"props":2228,"children":2230},{"className":2229},[],[2231],{"type":28,"value":1627},{"type":28,"value":1855},{"type":23,"tag":56,"props":2234,"children":2236},{"className":2235},[],[2237],{"type":28,"value":2238},".CSV",{"type":28,"value":2240}," World",{"type":23,"tag":24,"props":2242,"children":2243},{},[2244,2246,2251],{"type":28,"value":2245},"In broadcast and cinema workflows, it's normal to put significant metadata in ",{"type":23,"tag":31,"props":2247,"children":2248},{},[2249],{"type":28,"value":2250},"separate files",{"type":28,"value":2252}," alongside the video.",{"type":23,"tag":65,"props":2254,"children":2255},{},[2256,2273,2296,2317],{"type":23,"tag":69,"props":2257,"children":2258},{},[2259,2264,2266,2271],{"type":23,"tag":31,"props":2260,"children":2261},{},[2262],{"type":28,"value":2263},"Sony",{"type":28,"value":2265}," — ",{"type":23,"tag":56,"props":2267,"children":2269},{"className":2268},[],[2270],{"type":28,"value":1619},{"type":28,"value":2272}," sidecars with capture info, timecode, picture profile",{"type":23,"tag":69,"props":2274,"children":2275},{},[2276,2281,2282,2288,2289,2294],{"type":23,"tag":31,"props":2277,"children":2278},{},[2279],{"type":28,"value":2280},"ARRI",{"type":28,"value":2265},{"type":23,"tag":56,"props":2283,"children":2285},{"className":2284},[],[2286],{"type":28,"value":2287},".ARI",{"type":28,"value":1855},{"type":23,"tag":56,"props":2290,"children":2292},{"className":2291},[],[2293],{"type":28,"value":1627},{"type":28,"value":2295},", the latter bridges to Avid-centric edits",{"type":23,"tag":69,"props":2297,"children":2298},{},[2299,2304,2305,2311,2312],{"type":23,"tag":31,"props":2300,"children":2301},{},[2302],{"type":28,"value":2303},"Canon",{"type":28,"value":2265},{"type":23,"tag":56,"props":2306,"children":2308},{"className":2307},[],[2309],{"type":28,"value":2310},".CPF",{"type":28,"value":1855},{"type":23,"tag":56,"props":2313,"children":2315},{"className":2314},[],[2316],{"type":28,"value":1619},{"type":23,"tag":69,"props":2318,"children":2319},{},[2320,2325,2326,2331,2332,2338],{"type":23,"tag":31,"props":2321,"children":2322},{},[2323],{"type":28,"value":2324},"Script supervisors on set",{"type":28,"value":2265},{"type":23,"tag":56,"props":2327,"children":2329},{"className":2328},[],[2330],{"type":28,"value":2238},{"type":28,"value":929},{"type":23,"tag":56,"props":2333,"children":2335},{"className":2334},[],[2336],{"type":28,"value":2337},".EDL",{"type":28,"value":2339}," files with shot notes",{"type":23,"tag":24,"props":2341,"children":2342},{},[2343,2345,2351,2353,2358,2360,2365],{"type":28,"value":2344},"Sidecars are easy to lose. Copying a single ",{"type":23,"tag":56,"props":2346,"children":2348},{"className":2347},[],[2349],{"type":28,"value":2350},".MP4",{"type":28,"value":2352}," out of a card structure and leaving the ",{"type":23,"tag":56,"props":2354,"children":2356},{"className":2355},[],[2357],{"type":28,"value":1619},{"type":28,"value":2359}," behind is a classic accident. ",{"type":23,"tag":31,"props":2361,"children":2362},{},[2363],{"type":28,"value":2364},"Always copy by folder, preserving the original card layout",{"type":28,"value":2366},", until you're sure you've harvested everything the camera wrote.",{"type":23,"tag":44,"props":2368,"children":2370},{"id":2369},"phone-footage-is-surprisingly-rich",[2371],{"type":28,"value":2372},"Phone Footage Is Surprisingly Rich",{"type":23,"tag":24,"props":2374,"children":2375},{},[2376,2382,2383,2388],{"type":23,"tag":56,"props":2377,"children":2379},{"className":2378},[],[2380],{"type":28,"value":2381},".MOV",{"type":28,"value":929},{"type":23,"tag":56,"props":2384,"children":2386},{"className":2385},[],[2387],{"type":28,"value":2350},{"type":28,"value":2389}," files from a recent iPhone or Android pack more metadata than you'd expect.",{"type":23,"tag":65,"props":2391,"children":2392},{},[2393,2398,2403,2408],{"type":23,"tag":69,"props":2394,"children":2395},{},[2396],{"type":28,"value":2397},"Capture date, GPS, device model",{"type":23,"tag":69,"props":2399,"children":2400},{},[2401],{"type":28,"value":2402},"Orientation flag (this is how players auto-rotate vertical footage)",{"type":23,"tag":69,"props":2404,"children":2405},{},[2406],{"type":28,"value":2407},"Apple HEVC / HEIF gyro and motion data (raw signal behind on-device stabilization)",{"type":23,"tag":69,"props":2409,"children":2410},{},[2411],{"type":28,"value":2412},"HDR flags (Dolby Vision adds its own metadata track)",{"type":23,"tag":24,"props":2414,"children":2415},{},[2416],{"type":28,"value":2417},"If a library mixes phone footage with pro camera footage, knowing what each side exposes makes a huge difference in how well you can search the result later.",{"type":23,"tag":44,"props":2419,"children":2421},{"id":2420},"videotagger-reads-this-video-exif-automatically",[2422],{"type":28,"value":2423},"VideoTagger Reads This \"Video EXIF\" Automatically",{"type":23,"tag":24,"props":2425,"children":2426},{},[2427,2429,2434],{"type":28,"value":2428},"VideoTagger pulls metadata out of every clip it imports. Beyond container basics (codec, resolution, frame rate, bitrate, color space), it extracts ",{"type":23,"tag":31,"props":2430,"children":2431},{},[2432],{"type":28,"value":2433},"capture date, camera make and model, GPS, timecode",{"type":28,"value":2435}," and similar fields whenever the file carries them — and makes all of it searchable and filterable.",{"type":23,"tag":65,"props":2437,"children":2438},{},[2439,2444,2449],{"type":23,"tag":69,"props":2440,"children":2441},{},[2442],{"type":28,"value":2443},"\"Show me only clips shot on a Sony α7S III in 2024\"",{"type":23,"tag":69,"props":2445,"children":2446},{},[2447],{"type":28,"value":2448},"\"Pull every clip with GPS data and group them by location\"",{"type":23,"tag":69,"props":2450,"children":2451},{},[2452],{"type":28,"value":2453},"\"Find every 4K ProRes master tagged Rec.2020\"",{"type":23,"tag":24,"props":2455,"children":2456},{},[2457],{"type":28,"value":2458},"These queries run against extracted metadata, not against filenames or folder structure. Teams that didn't realize how much info their footage already carried tend to feel the biggest jump when they switch.",{"type":23,"tag":44,"props":2460,"children":2461},{"id":1018},[2462],{"type":28,"value":1021},{"type":23,"tag":65,"props":2464,"children":2465},{},[2466,2491,2496,2506,2525],{"type":23,"tag":69,"props":2467,"children":2468},{},[2469,2471,2476,2477,2482,2484,2489],{"type":28,"value":2470},"There's no literal EXIF inside a video file. But MP4 ",{"type":23,"tag":56,"props":2472,"children":2474},{"className":2473},[],[2475],{"type":28,"value":1853},{"type":28,"value":1855},{"type":23,"tag":56,"props":2478,"children":2480},{"className":2479},[],[2481],{"type":28,"value":1861},{"type":28,"value":2483},", QuickTime atoms, XMP, and vendor schemas carry ",{"type":23,"tag":31,"props":2485,"children":2486},{},[2487],{"type":28,"value":2488},"equivalent or richer",{"type":28,"value":2490}," information",{"type":23,"tag":69,"props":2492,"children":2493},{},[2494],{"type":28,"value":2495},"Capture date, GPS, camera model, timecode, color space — all of it can be there, depending on the camera",{"type":23,"tag":69,"props":2497,"children":2498},{},[2499,2501],{"type":28,"value":2500},"Most of it gets stripped during editing and export. ",{"type":23,"tag":31,"props":2502,"children":2503},{},[2504],{"type":28,"value":2505},"Keep your camera originals.",{"type":23,"tag":69,"props":2507,"children":2508},{},[2509,2511,2516,2518,2523],{"type":28,"value":2510},"Pro cameras add sidecar files (",{"type":23,"tag":56,"props":2512,"children":2514},{"className":2513},[],[2515],{"type":28,"value":1619},{"type":28,"value":2517},", ",{"type":23,"tag":56,"props":2519,"children":2521},{"className":2520},[],[2522],{"type":28,"value":1627},{"type":28,"value":2524},"). Copy by folder, never by single file",{"type":23,"tag":69,"props":2526,"children":2527},{},[2528,2533,2534,2539],{"type":23,"tag":56,"props":2529,"children":2531},{"className":2530},[],[2532],{"type":28,"value":935},{"type":28,"value":929},{"type":23,"tag":56,"props":2535,"children":2537},{"className":2536},[],[2538],{"type":28,"value":927},{"type":28,"value":2540}," will show you what's actually inside",{"type":23,"tag":24,"props":2542,"children":2543},{},[2544],{"type":28,"value":2545},"The metadata is there. Once you start treating it as a first-class asset — not just a curiosity — the library you've been building suddenly becomes a lot more valuable.",{"title":8,"searchDepth":1066,"depth":1066,"links":2547},[2548,2549,2550,2551,2552,2554,2555,2556],{"id":1794,"depth":1066,"text":1797},{"id":1985,"depth":1066,"text":1988},{"id":2087,"depth":1066,"text":2090},{"id":2163,"depth":1066,"text":2166},{"id":2217,"depth":1066,"text":2553},"Sidecars — the .XML / .ALE / .CSV World",{"id":2369,"depth":1066,"text":2372},{"id":2420,"depth":1066,"text":2423},{"id":1018,"depth":1066,"text":1021},"content:articles:en:video-metadata-and-exif.md","articles/en/video-metadata-and-exif.md","articles/en/video-metadata-and-exif",{"_path":2561,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2562,"description":2563,"slug":2564,"date":2565,"category":13,"tags":2566,"body":2570,"_type":1083,"_id":3163,"_source":1085,"_file":3164,"_stem":3165,"_extension":1088},"/articles/en/bit-depth-chroma-subsampling","Why 10-bit 4:2:2 Matters — Bit Depth and Chroma Subsampling, Demystified","Everyone tells you to shoot 10-bit 4:2:2, but what does it actually buy you? Here's where those numbers show up in the picture, why they pair with log, and when 8-bit 4:2:0 is still the right call.","bit-depth-chroma-subsampling","2026-05-18",[15,2567,2568,2569],"bit-depth","chroma-subsampling","color",{"type":20,"children":2571,"toc":3155},[2572,2584,2589,2595,2600,2633,2652,2657,2663,2675,2780,2790,2823,2828,2834,2839,2890,2895,2901,2906,3047,3059,3072,3078,3083,3088,3106,3112,3150],{"type":23,"tag":24,"props":2573,"children":2574},{},[2575,2577,2582],{"type":28,"value":2576},"You've seen the labels — 10-bit 4:2:2, 8-bit 4:2:0 — and you probably know more is generally better. But more ",{"type":23,"tag":166,"props":2578,"children":2579},{},[2580],{"type":28,"value":2581},"what",{"type":28,"value":2583},", exactly, and when does it stop mattering?",{"type":23,"tag":24,"props":2585,"children":2586},{},[2587],{"type":28,"value":2588},"This post pulls the two numbers apart, shows where each shows up in the picture, and lays out what you actually want for different kinds of work.",{"type":23,"tag":44,"props":2590,"children":2592},{"id":2591},"bit-depth-how-finely-tones-are-sliced",[2593],{"type":28,"value":2594},"Bit Depth — How Finely Tones Are Sliced",{"type":23,"tag":24,"props":2596,"children":2597},{},[2598],{"type":28,"value":2599},"Bit depth is the number of steps used to represent brightness on each channel.",{"type":23,"tag":65,"props":2601,"children":2602},{},[2603,2613,2623],{"type":23,"tag":69,"props":2604,"children":2605},{},[2606,2611],{"type":23,"tag":31,"props":2607,"children":2608},{},[2609],{"type":28,"value":2610},"8-bit",{"type":28,"value":2612}," — 256 steps per channel ≈ 16.7 million colors total",{"type":23,"tag":69,"props":2614,"children":2615},{},[2616,2621],{"type":23,"tag":31,"props":2617,"children":2618},{},[2619],{"type":28,"value":2620},"10-bit",{"type":28,"value":2622}," — 1,024 steps per channel ≈ 1 billion colors total",{"type":23,"tag":69,"props":2624,"children":2625},{},[2626,2631],{"type":23,"tag":31,"props":2627,"children":2628},{},[2629],{"type":28,"value":2630},"12-bit",{"type":28,"value":2632}," — 4,096 steps per channel ≈ 68 billion colors total",{"type":23,"tag":24,"props":2634,"children":2635},{},[2636,2638,2643,2645,2650],{"type":28,"value":2637},"In isolation, 8-bit sounds like plenty. The problem shows up ",{"type":23,"tag":31,"props":2639,"children":2640},{},[2641],{"type":28,"value":2642},"after grading",{"type":28,"value":2644},". When you stretch contrast or push color in post, anywhere the tonal steps are coarse turns into visible ",{"type":23,"tag":31,"props":2646,"children":2647},{},[2648],{"type":28,"value":2649},"banding",{"type":28,"value":2651}," — those soft rings you see in skies, on cheeks, on walls.",{"type":23,"tag":24,"props":2653,"children":2654},{},[2655],{"type":28,"value":2656},"10-bit is four times finer than 8-bit. The same amount of grading on 10-bit material holds together; on 8-bit it can fall apart. This is why log shooting all but requires 10-bit — log compresses the image at capture so it can be re-expanded later, and if the underlying steps are coarse, that re-expansion is exactly where banding lives.",{"type":23,"tag":44,"props":2658,"children":2660},{"id":2659},"chroma-subsampling-throwing-away-some-color-on-purpose",[2661],{"type":28,"value":2662},"Chroma Subsampling — Throwing Away Some Color on Purpose",{"type":23,"tag":24,"props":2664,"children":2665},{},[2666,2668,2673],{"type":28,"value":2667},"Human vision is much more sensitive to brightness than to color. Video compression takes advantage of this by storing ",{"type":23,"tag":31,"props":2669,"children":2670},{},[2671],{"type":28,"value":2672},"fewer color samples than brightness samples",{"type":28,"value":2674},". The \"4:2:2\" and \"4:2:0\" labels describe how aggressively the color information is thinned.",{"type":23,"tag":265,"props":2676,"children":2677},{},[2678,2702],{"type":23,"tag":269,"props":2679,"children":2680},{},[2681],{"type":23,"tag":273,"props":2682,"children":2683},{},[2684,2687,2692,2697],{"type":23,"tag":277,"props":2685,"children":2686},{},[],{"type":23,"tag":277,"props":2688,"children":2689},{},[2690],{"type":28,"value":2691},"Luma (brightness)",{"type":23,"tag":277,"props":2693,"children":2694},{},[2695],{"type":28,"value":2696},"Chroma (color)",{"type":23,"tag":277,"props":2698,"children":2699},{},[2700],{"type":28,"value":2701},"Typical use",{"type":23,"tag":288,"props":2703,"children":2704},{},[2705,2730,2755],{"type":23,"tag":273,"props":2706,"children":2707},{},[2708,2716,2721,2725],{"type":23,"tag":295,"props":2709,"children":2710},{},[2711],{"type":23,"tag":31,"props":2712,"children":2713},{},[2714],{"type":28,"value":2715},"4:4:4",{"type":23,"tag":295,"props":2717,"children":2718},{},[2719],{"type":28,"value":2720},"Full",{"type":23,"tag":295,"props":2722,"children":2723},{},[2724],{"type":28,"value":2720},{"type":23,"tag":295,"props":2726,"children":2727},{},[2728],{"type":28,"value":2729},"Cinema, VFX, keying",{"type":23,"tag":273,"props":2731,"children":2732},{},[2733,2741,2745,2750],{"type":23,"tag":295,"props":2734,"children":2735},{},[2736],{"type":23,"tag":31,"props":2737,"children":2738},{},[2739],{"type":28,"value":2740},"4:2:2",{"type":23,"tag":295,"props":2742,"children":2743},{},[2744],{"type":28,"value":2720},{"type":23,"tag":295,"props":2746,"children":2747},{},[2748],{"type":28,"value":2749},"Halved horizontally",{"type":23,"tag":295,"props":2751,"children":2752},{},[2753],{"type":28,"value":2754},"Broadcast, edit-friendly",{"type":23,"tag":273,"props":2756,"children":2757},{},[2758,2766,2770,2775],{"type":23,"tag":295,"props":2759,"children":2760},{},[2761],{"type":23,"tag":31,"props":2762,"children":2763},{},[2764],{"type":28,"value":2765},"4:2:0",{"type":23,"tag":295,"props":2767,"children":2768},{},[2769],{"type":28,"value":2720},{"type":23,"tag":295,"props":2771,"children":2772},{},[2773],{"type":28,"value":2774},"Halved both ways",{"type":23,"tag":295,"props":2776,"children":2777},{},[2778],{"type":28,"value":2779},"Streaming, capture defaults",{"type":23,"tag":24,"props":2781,"children":2782},{},[2783,2785],{"type":28,"value":2784},"For passive viewing, 4:2:0 looks fine. ",{"type":23,"tag":31,"props":2786,"children":2787},{},[2788],{"type":28,"value":2789},"The trouble shows up in post-production:",{"type":23,"tag":65,"props":2791,"children":2792},{},[2793,2803,2813],{"type":23,"tag":69,"props":2794,"children":2795},{},[2796,2801],{"type":23,"tag":31,"props":2797,"children":2798},{},[2799],{"type":28,"value":2800},"Green-screen / chroma key",{"type":28,"value":2802}," — coarse color = ragged, jagged edges",{"type":23,"tag":69,"props":2804,"children":2805},{},[2806,2811],{"type":23,"tag":31,"props":2807,"children":2808},{},[2809],{"type":28,"value":2810},"Strong color grading",{"type":28,"value":2812}," — color boundaries smear or bleed",{"type":23,"tag":69,"props":2814,"children":2815},{},[2816,2821],{"type":23,"tag":31,"props":2817,"children":2818},{},[2819],{"type":28,"value":2820},"Titles and fine colored lines",{"type":28,"value":2822}," — color appears slightly offset from luminance",{"type":23,"tag":24,"props":2824,"children":2825},{},[2826],{"type":28,"value":2827},"4:2:2 carries twice as much color information as 4:2:0, and the headroom is obvious the moment you start pushing.",{"type":23,"tag":44,"props":2829,"children":2831},{"id":2830},"what-goes-wrong-in-8-bit-420",[2832],{"type":28,"value":2833},"What Goes Wrong in 8-bit 4:2:0",{"type":23,"tag":24,"props":2835,"children":2836},{},[2837],{"type":28,"value":2838},"Phone footage and most consumer-camera output is 8-bit 4:2:0 by default. For straight cut-and-deliver editing, it's genuinely fine. The trouble arrives when you start changing things:",{"type":23,"tag":65,"props":2840,"children":2841},{},[2842,2854,2866,2878],{"type":23,"tag":69,"props":2843,"children":2844},{},[2845,2847,2852],{"type":28,"value":2846},"A clean sky develops ",{"type":23,"tag":31,"props":2848,"children":2849},{},[2850],{"type":28,"value":2851},"banded rings",{"type":28,"value":2853}," after a contrast grade",{"type":23,"tag":69,"props":2855,"children":2856},{},[2857,2859,2864],{"type":28,"value":2858},"Green-screen edges come out with ",{"type":23,"tag":31,"props":2860,"children":2861},{},[2862],{"type":28,"value":2863},"colored jaggies",{"type":28,"value":2865}," you can't fully clean up",{"type":23,"tag":69,"props":2867,"children":2868},{},[2869,2871,2876],{"type":28,"value":2870},"Lifting shadows reveals ",{"type":23,"tag":31,"props":2872,"children":2873},{},[2874],{"type":28,"value":2875},"chroma blotches",{"type":28,"value":2877}," in faces and dark areas",{"type":23,"tag":69,"props":2879,"children":2880},{},[2881,2883,2888],{"type":28,"value":2882},"Fine color tweaks make skin tones look ",{"type":23,"tag":31,"props":2884,"children":2885},{},[2886],{"type":28,"value":2887},"stepped",{"type":28,"value":2889}," instead of smooth",{"type":23,"tag":24,"props":2891,"children":2892},{},[2893],{"type":28,"value":2894},"Think of 8-bit 4:2:0 as a ceiling: \"fine for what you shoot, marginal for what you change.\" The more aggressive the post work, the more reason to step up.",{"type":23,"tag":44,"props":2896,"children":2898},{"id":2897},"practical-choices-by-use-case",[2899],{"type":28,"value":2900},"Practical Choices by Use Case",{"type":23,"tag":24,"props":2902,"children":2903},{},[2904],{"type":28,"value":2905},"Shooting at maximum spec all the time isn't realistic — it costs storage, time, and often the camera body itself. Here's what actually pays off:",{"type":23,"tag":265,"props":2907,"children":2908},{},[2909,2930],{"type":23,"tag":269,"props":2910,"children":2911},{},[2912],{"type":23,"tag":273,"props":2913,"children":2914},{},[2915,2920,2925],{"type":23,"tag":277,"props":2916,"children":2917},{},[2918],{"type":28,"value":2919},"Job",{"type":23,"tag":277,"props":2921,"children":2922},{},[2923],{"type":28,"value":2924},"Recommended",{"type":23,"tag":277,"props":2926,"children":2927},{},[2928],{"type":28,"value":2929},"Why",{"type":23,"tag":288,"props":2931,"children":2932},{},[2933,2951,2969,2993,3011,3029],{"type":23,"tag":273,"props":2934,"children":2935},{},[2936,2941,2946],{"type":23,"tag":295,"props":2937,"children":2938},{},[2939],{"type":28,"value":2940},"YouTube, straight cuts",{"type":23,"tag":295,"props":2942,"children":2943},{},[2944],{"type":28,"value":2945},"8-bit 4:2:0",{"type":23,"tag":295,"props":2947,"children":2948},{},[2949],{"type":28,"value":2950},"Minimal grading",{"type":23,"tag":273,"props":2952,"children":2953},{},[2954,2959,2964],{"type":23,"tag":295,"props":2955,"children":2956},{},[2957],{"type":28,"value":2958},"Interview, standard gamma",{"type":23,"tag":295,"props":2960,"children":2961},{},[2962],{"type":28,"value":2963},"8-bit 4:2:0 OK, 10-bit safer",{"type":23,"tag":295,"props":2965,"children":2966},{},[2967],{"type":28,"value":2968},"Light skin / shadow tweaks",{"type":23,"tag":273,"props":2970,"children":2971},{},[2972,2980,2988],{"type":23,"tag":295,"props":2973,"children":2974},{},[2975],{"type":23,"tag":31,"props":2976,"children":2977},{},[2978],{"type":28,"value":2979},"Log shooting",{"type":23,"tag":295,"props":2981,"children":2982},{},[2983],{"type":23,"tag":31,"props":2984,"children":2985},{},[2986],{"type":28,"value":2987},"10-bit 4:2:2 or higher",{"type":23,"tag":295,"props":2989,"children":2990},{},[2991],{"type":28,"value":2992},"Re-expanding the curve in post",{"type":23,"tag":273,"props":2994,"children":2995},{},[2996,3001,3006],{"type":23,"tag":295,"props":2997,"children":2998},{},[2999],{"type":28,"value":3000},"Product / food / art",{"type":23,"tag":295,"props":3002,"children":3003},{},[3004],{"type":28,"value":3005},"10-bit 4:2:2",{"type":23,"tag":295,"props":3007,"children":3008},{},[3009],{"type":28,"value":3010},"Color matters precisely",{"type":23,"tag":273,"props":3012,"children":3013},{},[3014,3019,3024],{"type":23,"tag":295,"props":3015,"children":3016},{},[3017],{"type":28,"value":3018},"Compositing / green screen",{"type":23,"tag":295,"props":3020,"children":3021},{},[3022],{"type":28,"value":3023},"4:2:2 minimum, 4:4:4 ideal",{"type":23,"tag":295,"props":3025,"children":3026},{},[3027],{"type":28,"value":3028},"Edges live or die here",{"type":23,"tag":273,"props":3030,"children":3031},{},[3032,3037,3042],{"type":23,"tag":295,"props":3033,"children":3034},{},[3035],{"type":28,"value":3036},"Cinema / broadcast delivery",{"type":23,"tag":295,"props":3038,"children":3039},{},[3040],{"type":28,"value":3041},"10/12-bit 4:2:2+",{"type":23,"tag":295,"props":3043,"children":3044},{},[3045],{"type":28,"value":3046},"Often required by spec",{"type":23,"tag":24,"props":3048,"children":3049},{},[3050,3052,3057],{"type":28,"value":3051},"The most useful question to ask: ",{"type":23,"tag":31,"props":3053,"children":3054},{},[3055],{"type":28,"value":3056},"how much will you push this in the grade?",{"type":28,"value":3058}," Not much → 8-bit 4:2:0 is fine. A real grade → 10-bit 4:2:2. Compositing → 4:4:4 if you can get it.",{"type":23,"tag":24,"props":3060,"children":3061},{},[3062,3064,3070],{"type":28,"value":3063},"See also the companion post on ",{"type":23,"tag":599,"props":3065,"children":3067},{"href":3066},"/articles/log-gamma-explained",[3068],{"type":28,"value":3069},"log gamma",{"type":28,"value":3071},", which is the workflow where this all matters most.",{"type":23,"tag":44,"props":3073,"children":3075},{"id":3074},"on-keeping-the-originals",[3076],{"type":28,"value":3077},"On Keeping the Originals",{"type":23,"tag":24,"props":3079,"children":3080},{},[3081],{"type":28,"value":3082},"10-bit 4:2:2 masters are heavy. There's a temptation, once a project is delivered, to keep only the 8-bit 4:2:0 export and toss the originals. Don't.",{"type":23,"tag":24,"props":3084,"children":3085},{},[3086],{"type":28,"value":3087},"Once you've collapsed footage to 8-bit 4:2:0, you can't recover what you threw away. If you want any chance of repurposing the material — a recut, a reframe for vertical, an upscale a few years from now — you need the original capture format on disk.",{"type":23,"tag":24,"props":3089,"children":3090},{},[3091,3093,3098,3100,3105],{"type":28,"value":3092},"This is also part of why an indexed archive matters: workflows like VideoTagger assume the originals stay around and stay searchable. The storage cost is real, but it's the cost of keeping footage ",{"type":23,"tag":166,"props":3094,"children":3095},{},[3096],{"type":28,"value":3097},"usable",{"type":28,"value":3099},", not just ",{"type":23,"tag":166,"props":3101,"children":3102},{},[3103],{"type":28,"value":3104},"kept",{"type":28,"value":63},{"type":23,"tag":44,"props":3107,"children":3109},{"id":3108},"wrapping-up",[3110],{"type":28,"value":3111},"Wrapping Up",{"type":23,"tag":65,"props":3113,"children":3114},{},[3115,3125,3135,3145],{"type":23,"tag":69,"props":3116,"children":3117},{},[3118,3123],{"type":23,"tag":31,"props":3119,"children":3120},{},[3121],{"type":28,"value":3122},"Bit depth",{"type":28,"value":3124}," controls how finely tones are sliced — it decides whether gradients survive the grade.",{"type":23,"tag":69,"props":3126,"children":3127},{},[3128,3133],{"type":23,"tag":31,"props":3129,"children":3130},{},[3131],{"type":28,"value":3132},"Chroma subsampling",{"type":28,"value":3134}," controls how much color you have to work with — it decides whether edges and color tweaks hold up.",{"type":23,"tag":69,"props":3136,"children":3137},{},[3138,3140],{"type":28,"value":3139},"8-bit 4:2:0 is fine for shoot-and-deliver. ",{"type":23,"tag":31,"props":3141,"children":3142},{},[3143],{"type":28,"value":3144},"10-bit 4:2:2 is the line where post work starts to feel safe.",{"type":23,"tag":69,"props":3146,"children":3147},{},[3148],{"type":28,"value":3149},"If you're shooting log, treat 10-bit 4:2:2 as effectively required.",{"type":23,"tag":24,"props":3151,"children":3152},{},[3153],{"type":28,"value":3154},"The spec sheet numbers aren't goals in themselves — pick them backwards from what you actually plan to do with the footage.",{"title":8,"searchDepth":1066,"depth":1066,"links":3156},[3157,3158,3159,3160,3161,3162],{"id":2591,"depth":1066,"text":2594},{"id":2659,"depth":1066,"text":2662},{"id":2830,"depth":1066,"text":2833},{"id":2897,"depth":1066,"text":2900},{"id":3074,"depth":1066,"text":3077},{"id":3108,"depth":1066,"text":3111},"content:articles:en:bit-depth-chroma-subsampling.md","articles/en/bit-depth-chroma-subsampling.md","articles/en/bit-depth-chroma-subsampling",{"_path":3167,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":3168,"description":3169,"slug":3170,"date":2565,"category":13,"tags":3171,"body":3174,"_type":1083,"_id":3877,"_source":1085,"_file":3878,"_stem":3879,"_extension":1088},"/articles/en/video-codec-comparison","Choosing a Video Codec — H.264, H.265, ProRes, and DNxHR in Plain Terms","If you've been exporting everything as H.264 by default, you're leaving choices on the table. Delivery codecs and edit codecs are built for opposite goals — here's how to pick the right one for capture, editing, delivery, and archive.","video-codec-comparison",[15,3172,3173,1764],"codec","encoding",{"type":20,"children":3175,"toc":3864},[3176,3187,3192,3198,3203,3318,3330,3336,3546,3552,3558,3577,3583,3588,3622,3627,3632,3637,3670,3682,3688,3700,3718,3723,3729,3734,3767,3779,3785,3804,3808,3813,3852],{"type":23,"tag":24,"props":3177,"children":3178},{},[3179,3181,3185],{"type":28,"value":3180},"\"Codec\" and \"container\" (MP4, MOV, MKV) get conflated all the time. The container is just the wrapper — what actually decides file size, quality, and how painful editing will be is the ",{"type":23,"tag":31,"props":3182,"children":3183},{},[3184],{"type":28,"value":3172},{"type":28,"value":3186}," inside it.",{"type":23,"tag":24,"props":3188,"children":3189},{},[3190],{"type":28,"value":3191},"This post lines up the codecs you'll actually encounter and walks through which to pick at each stage: capture, edit, delivery, and archive.",{"type":23,"tag":44,"props":3193,"children":3195},{"id":3194},"codecs-come-in-two-flavors",[3196],{"type":28,"value":3197},"Codecs Come in Two Flavors",{"type":23,"tag":24,"props":3199,"children":3200},{},[3201],{"type":28,"value":3202},"Every codec is optimized for one of two opposite goals.",{"type":23,"tag":265,"props":3204,"children":3205},{},[3206,3225],{"type":23,"tag":269,"props":3207,"children":3208},{},[3209],{"type":23,"tag":273,"props":3210,"children":3211},{},[3212,3215,3220],{"type":23,"tag":277,"props":3213,"children":3214},{},[],{"type":23,"tag":277,"props":3216,"children":3217},{},[3218],{"type":28,"value":3219},"Delivery codecs",{"type":23,"tag":277,"props":3221,"children":3222},{},[3223],{"type":28,"value":3224},"Intermediate (edit) codecs",{"type":23,"tag":288,"props":3226,"children":3227},{},[3228,3246,3264,3282,3300],{"type":23,"tag":273,"props":3229,"children":3230},{},[3231,3236,3241],{"type":23,"tag":295,"props":3232,"children":3233},{},[3234],{"type":28,"value":3235},"Goal",{"type":23,"tag":295,"props":3237,"children":3238},{},[3239],{"type":28,"value":3240},"Small file size",{"type":23,"tag":295,"props":3242,"children":3243},{},[3244],{"type":28,"value":3245},"Easy to scrub and cut",{"type":23,"tag":273,"props":3247,"children":3248},{},[3249,3254,3259],{"type":23,"tag":295,"props":3250,"children":3251},{},[3252],{"type":28,"value":3253},"Compression style",{"type":23,"tag":295,"props":3255,"children":3256},{},[3257],{"type":28,"value":3258},"Across time (Long-GOP)",{"type":23,"tag":295,"props":3260,"children":3261},{},[3262],{"type":28,"value":3263},"Per-frame (All-Intra)",{"type":23,"tag":273,"props":3265,"children":3266},{},[3267,3272,3277],{"type":23,"tag":295,"props":3268,"children":3269},{},[3270],{"type":28,"value":3271},"File size",{"type":23,"tag":295,"props":3273,"children":3274},{},[3275],{"type":28,"value":3276},"Small",{"type":23,"tag":295,"props":3278,"children":3279},{},[3280],{"type":28,"value":3281},"Large",{"type":23,"tag":273,"props":3283,"children":3284},{},[3285,3290,3295],{"type":23,"tag":295,"props":3286,"children":3287},{},[3288],{"type":28,"value":3289},"Editor load",{"type":23,"tag":295,"props":3291,"children":3292},{},[3293],{"type":28,"value":3294},"Heavy",{"type":23,"tag":295,"props":3296,"children":3297},{},[3298],{"type":28,"value":3299},"Light",{"type":23,"tag":273,"props":3301,"children":3302},{},[3303,3308,3313],{"type":23,"tag":295,"props":3304,"children":3305},{},[3306],{"type":28,"value":3307},"Examples",{"type":23,"tag":295,"props":3309,"children":3310},{},[3311],{"type":28,"value":3312},"H.264, H.265, AV1",{"type":23,"tag":295,"props":3314,"children":3315},{},[3316],{"type":28,"value":3317},"ProRes, DNxHR, Cineform",{"type":23,"tag":24,"props":3319,"children":3320},{},[3321,3323,3328],{"type":28,"value":3322},"This split is the foundation of every codec choice. Delivery codecs ",{"type":23,"tag":166,"props":3324,"children":3325},{},[3326],{"type":28,"value":3327},"work",{"type":28,"value":3329}," in your editor, but stuttering playback and slow renders are exactly what happens when you push them past their design intent.",{"type":23,"tag":44,"props":3331,"children":3333},{"id":3332},"the-main-codecs-at-a-glance",[3334],{"type":28,"value":3335},"The Main Codecs at a Glance",{"type":23,"tag":265,"props":3337,"children":3338},{},[3339,3365],{"type":23,"tag":269,"props":3340,"children":3341},{},[3342],{"type":23,"tag":273,"props":3343,"children":3344},{},[3345,3350,3355,3360],{"type":23,"tag":277,"props":3346,"children":3347},{},[3348],{"type":28,"value":3349},"Codec",{"type":23,"tag":277,"props":3351,"children":3352},{},[3353],{"type":28,"value":3354},"Type",{"type":23,"tag":277,"props":3356,"children":3357},{},[3358],{"type":28,"value":3359},"Strengths",{"type":23,"tag":277,"props":3361,"children":3362},{},[3363],{"type":28,"value":3364},"Weaknesses",{"type":23,"tag":288,"props":3366,"children":3367},{},[3368,3394,3419,3444,3470,3495,3520],{"type":23,"tag":273,"props":3369,"children":3370},{},[3371,3379,3384,3389],{"type":23,"tag":295,"props":3372,"children":3373},{},[3374],{"type":23,"tag":31,"props":3375,"children":3376},{},[3377],{"type":28,"value":3378},"H.264 (AVC)",{"type":23,"tag":295,"props":3380,"children":3381},{},[3382],{"type":28,"value":3383},"Delivery",{"type":23,"tag":295,"props":3385,"children":3386},{},[3387],{"type":28,"value":3388},"Plays everywhere; the de facto standard",{"type":23,"tag":295,"props":3390,"children":3391},{},[3392],{"type":28,"value":3393},"Inefficient at high resolutions / bitrates",{"type":23,"tag":273,"props":3395,"children":3396},{},[3397,3405,3409,3414],{"type":23,"tag":295,"props":3398,"children":3399},{},[3400],{"type":23,"tag":31,"props":3401,"children":3402},{},[3403],{"type":28,"value":3404},"H.265 (HEVC)",{"type":23,"tag":295,"props":3406,"children":3407},{},[3408],{"type":28,"value":3383},{"type":23,"tag":295,"props":3410,"children":3411},{},[3412],{"type":28,"value":3413},"Roughly half the file of H.264 at the same look",{"type":23,"tag":295,"props":3415,"children":3416},{},[3417],{"type":28,"value":3418},"Compatibility gaps on older devices; slow to encode",{"type":23,"tag":273,"props":3420,"children":3421},{},[3422,3430,3434,3439],{"type":23,"tag":295,"props":3423,"children":3424},{},[3425],{"type":23,"tag":31,"props":3426,"children":3427},{},[3428],{"type":28,"value":3429},"AV1",{"type":23,"tag":295,"props":3431,"children":3432},{},[3433],{"type":28,"value":3383},{"type":23,"tag":295,"props":3435,"children":3436},{},[3437],{"type":28,"value":3438},"Better than H.265, royalty-free",{"type":23,"tag":295,"props":3440,"children":3441},{},[3442],{"type":28,"value":3443},"Very slow to encode; ecosystem still maturing",{"type":23,"tag":273,"props":3445,"children":3446},{},[3447,3455,3460,3465],{"type":23,"tag":295,"props":3448,"children":3449},{},[3450],{"type":23,"tag":31,"props":3451,"children":3452},{},[3453],{"type":28,"value":3454},"ProRes 422 / 422 HQ / 4444",{"type":23,"tag":295,"props":3456,"children":3457},{},[3458],{"type":28,"value":3459},"Edit",{"type":23,"tag":295,"props":3461,"children":3462},{},[3463],{"type":28,"value":3464},"Industry-standard, Mac and Windows",{"type":23,"tag":295,"props":3466,"children":3467},{},[3468],{"type":28,"value":3469},"Large files",{"type":23,"tag":273,"props":3471,"children":3472},{},[3473,3481,3485,3490],{"type":23,"tag":295,"props":3474,"children":3475},{},[3476],{"type":23,"tag":31,"props":3477,"children":3478},{},[3479],{"type":28,"value":3480},"DNxHR / DNxHD",{"type":23,"tag":295,"props":3482,"children":3483},{},[3484],{"type":28,"value":3459},{"type":23,"tag":295,"props":3486,"children":3487},{},[3488],{"type":28,"value":3489},"Avid heritage, common in broadcast",{"type":23,"tag":295,"props":3491,"children":3492},{},[3493],{"type":28,"value":3494},"Fewer encoder choices",{"type":23,"tag":273,"props":3496,"children":3497},{},[3498,3506,3510,3515],{"type":23,"tag":295,"props":3499,"children":3500},{},[3501],{"type":23,"tag":31,"props":3502,"children":3503},{},[3504],{"type":28,"value":3505},"Cineform",{"type":23,"tag":295,"props":3507,"children":3508},{},[3509],{"type":28,"value":3459},{"type":23,"tag":295,"props":3511,"children":3512},{},[3513],{"type":28,"value":3514},"Cross-platform, lightweight",{"type":23,"tag":295,"props":3516,"children":3517},{},[3518],{"type":28,"value":3519},"Limited adoption",{"type":23,"tag":273,"props":3521,"children":3522},{},[3523,3531,3536,3541],{"type":23,"tag":295,"props":3524,"children":3525},{},[3526],{"type":23,"tag":31,"props":3527,"children":3528},{},[3529],{"type":28,"value":3530},"XAVC (Sony)",{"type":23,"tag":295,"props":3532,"children":3533},{},[3534],{"type":28,"value":3535},"Camera recording",{"type":23,"tag":295,"props":3537,"children":3538},{},[3539],{"type":28,"value":3540},"High bitrate, 10-bit 4:2:2 capable",{"type":23,"tag":295,"props":3542,"children":3543},{},[3544],{"type":28,"value":3545},"H.264/H.265 internally — still heavy to edit",{"type":23,"tag":44,"props":3547,"children":3549},{"id":3548},"the-right-pick-by-stage",[3550],{"type":28,"value":3551},"The Right Pick by Stage",{"type":23,"tag":1360,"props":3553,"children":3555},{"id":3554},"capture",[3556],{"type":28,"value":3557},"Capture",{"type":23,"tag":24,"props":3559,"children":3560},{},[3561,3563,3568,3570,3575],{"type":28,"value":3562},"You mostly take what the camera gives you. When the camera offers a choice, the rule of thumb is to pick whatever has the ",{"type":23,"tag":31,"props":3564,"children":3565},{},[3566],{"type":28,"value":3567},"higher bit depth and richer chroma subsampling",{"type":28,"value":3569},". See the companion post on ",{"type":23,"tag":599,"props":3571,"children":3573},{"href":3572},"/articles/bit-depth-chroma-subsampling",[3574],{"type":28,"value":3005},{"type":28,"value":3576}," for why.",{"type":23,"tag":1360,"props":3578,"children":3580},{"id":3579},"editing",[3581],{"type":28,"value":3582},"Editing",{"type":23,"tag":24,"props":3584,"children":3585},{},[3586],{"type":28,"value":3587},"This is where codec choice gets genuinely consequential. Three approaches:",{"type":23,"tag":3589,"props":3590,"children":3591},"ol",{},[3592,3602,3612],{"type":23,"tag":69,"props":3593,"children":3594},{},[3595,3600],{"type":23,"tag":31,"props":3596,"children":3597},{},[3598],{"type":28,"value":3599},"Edit camera originals directly.",{"type":28,"value":3601}," Smallest disk footprint. Works fine on modern, capable machines — especially for H.264.",{"type":23,"tag":69,"props":3603,"children":3604},{},[3605,3610],{"type":23,"tag":31,"props":3606,"children":3607},{},[3608],{"type":28,"value":3609},"Transcode to an edit codec first.",{"type":28,"value":3611}," Convert to ProRes 422 or DNxHR HQ, then edit. Smoothest experience, but files balloon 3–5×.",{"type":23,"tag":69,"props":3613,"children":3614},{},[3615,3620],{"type":23,"tag":31,"props":3616,"children":3617},{},[3618],{"type":28,"value":3619},"Proxy editing.",{"type":28,"value":3621}," Keep the originals; edit with low-res stand-ins; conform back to originals at export. Hybrid — storage stays sane and performance stays great. Best for long-form or large-shoot projects.",{"type":23,"tag":24,"props":3623,"children":3624},{},[3625],{"type":28,"value":3626},"If your editor starts hiccuping, that's the cue to move from approach 1 to 2 or 3.",{"type":23,"tag":1360,"props":3628,"children":3630},{"id":3629},"delivery",[3631],{"type":28,"value":3383},{"type":23,"tag":24,"props":3633,"children":3634},{},[3635],{"type":28,"value":3636},"The delivery target dictates the codec. Without a spec, sensible defaults look like:",{"type":23,"tag":65,"props":3638,"children":3639},{},[3640,3650,3660],{"type":23,"tag":69,"props":3641,"children":3642},{},[3643,3648],{"type":23,"tag":31,"props":3644,"children":3645},{},[3646],{"type":28,"value":3647},"Web / social / YouTube",{"type":28,"value":3649}," — H.264 (8–12 Mbps for 1080p, 35–50 Mbps for 4K)",{"type":23,"tag":69,"props":3651,"children":3652},{},[3653,3658],{"type":23,"tag":31,"props":3654,"children":3655},{},[3656],{"type":28,"value":3657},"Broadcast / theatrical",{"type":28,"value":3659}," — ProRes 422 HQ or DNxHR HQ",{"type":23,"tag":69,"props":3661,"children":3662},{},[3663,3668],{"type":23,"tag":31,"props":3664,"children":3665},{},[3666],{"type":28,"value":3667},"Client review",{"type":28,"value":3669}," — H.264 with size weighted over quality",{"type":23,"tag":24,"props":3671,"children":3672},{},[3673,3674,3680],{"type":28,"value":1698},{"type":23,"tag":599,"props":3675,"children":3677},{"href":3676},"/articles/video-bitrate-basics",[3678],{"type":28,"value":3679},"bitrate post",{"type":28,"value":3681}," goes deeper into the numbers.",{"type":23,"tag":1360,"props":3683,"children":3685},{"id":3684},"archive",[3686],{"type":28,"value":3687},"Archive",{"type":23,"tag":24,"props":3689,"children":3690},{},[3691,3693,3698],{"type":28,"value":3692},"Long-term storage runs on its own logic. The rule for anything you might ",{"type":23,"tag":31,"props":3694,"children":3695},{},[3696],{"type":28,"value":3697},"want to use again",{"type":28,"value":3699}," is to keep the camera original.",{"type":23,"tag":65,"props":3701,"children":3702},{},[3703,3708,3713],{"type":23,"tag":69,"props":3704,"children":3705},{},[3706],{"type":28,"value":3707},"Don't transcode camera originals just to save space.",{"type":23,"tag":69,"props":3709,"children":3710},{},[3711],{"type":28,"value":3712},"Intermediate edit-codec files can be deleted at end of project.",{"type":23,"tag":69,"props":3714,"children":3715},{},[3716],{"type":28,"value":3717},"Keeping only the delivery file is the same as throwing away your options.",{"type":23,"tag":24,"props":3719,"children":3720},{},[3721],{"type":28,"value":3722},"When disk reality bites, a mix of external drives plus cloud cold storage is the realistic compromise. Workflows like VideoTagger assume those originals stay around — and stay searchable — so they can be pulled back into the next project years later.",{"type":23,"tag":44,"props":3724,"children":3726},{"id":3725},"why-not-just-use-h265-for-everything",[3727],{"type":28,"value":3728},"\"Why Not Just Use H.265 for Everything?\"",{"type":23,"tag":24,"props":3730,"children":3731},{},[3732],{"type":28,"value":3733},"H.265 is roughly half the size of H.264 at equivalent quality. Sounds like a slam dunk, and often it is — but there are costs.",{"type":23,"tag":65,"props":3735,"children":3736},{},[3737,3747,3757],{"type":23,"tag":69,"props":3738,"children":3739},{},[3740,3745],{"type":23,"tag":31,"props":3741,"children":3742},{},[3743],{"type":28,"value":3744},"Encoding is much slower",{"type":28,"value":3746}," than H.264 at comparable settings.",{"type":23,"tag":69,"props":3748,"children":3749},{},[3750,3755],{"type":23,"tag":31,"props":3751,"children":3752},{},[3753],{"type":28,"value":3754},"Compatibility is uneven",{"type":28,"value":3756}," — older devices, some browsers, and some social platforms still stumble on H.265.",{"type":23,"tag":69,"props":3758,"children":3759},{},[3760,3765],{"type":23,"tag":31,"props":3761,"children":3762},{},[3763],{"type":28,"value":3764},"Editing is heavier",{"type":28,"value":3766}," than H.264. Proxy workflows are nearly mandatory.",{"type":23,"tag":24,"props":3768,"children":3769},{},[3770,3772,3777],{"type":28,"value":3771},"The honest answer: H.265 is the better choice ",{"type":23,"tag":31,"props":3773,"children":3774},{},[3775],{"type":28,"value":3776},"when you control the audience's playback environment",{"type":28,"value":3778},". Sharing internally or with editors? Go ahead. Distributing to an unknown public audience? H.264 is still the safer default.",{"type":23,"tag":44,"props":3780,"children":3782},{"id":3781},"videotagger-already-knows-the-codec",[3783],{"type":28,"value":3784},"VideoTagger Already Knows the Codec",{"type":23,"tag":24,"props":3786,"children":3787},{},[3788,3790,3795,3797,3802],{"type":28,"value":3789},"VideoTagger analyzes each video as it enters the library and pulls the ",{"type":23,"tag":31,"props":3791,"children":3792},{},[3793],{"type":28,"value":3794},"codec (H.264, HEVC, ProRes, and friends), bitrate, resolution, and frame rate",{"type":28,"value":3796}," straight from the file. The codec shows up in the file info panel, and you can ",{"type":23,"tag":31,"props":3798,"children":3799},{},[3800],{"type":28,"value":3801},"filter the whole library by codec",{"type":28,"value":3803}," in a click — surfacing \"every ProRes master\" or \"every H.265 delivery file\" without ever manually tagging them. The more codecs your library mixes across capture, edit, delivery, and archive, the more this pays off.",{"type":23,"tag":44,"props":3805,"children":3806},{"id":3108},[3807],{"type":28,"value":3111},{"type":23,"tag":24,"props":3809,"children":3810},{},[3811],{"type":28,"value":3812},"Codec choice gets simpler when you map it stage by stage.",{"type":23,"tag":65,"props":3814,"children":3815},{},[3816,3825,3834,3843],{"type":23,"tag":69,"props":3817,"children":3818},{},[3819,3823],{"type":23,"tag":31,"props":3820,"children":3821},{},[3822],{"type":28,"value":3557},{"type":28,"value":3824}," — highest bit depth and chroma the camera offers.",{"type":23,"tag":69,"props":3826,"children":3827},{},[3828,3832],{"type":23,"tag":31,"props":3829,"children":3830},{},[3831],{"type":28,"value":3459},{"type":28,"value":3833}," — if the editor strains, switch to ProRes / DNxHR or proxies.",{"type":23,"tag":69,"props":3835,"children":3836},{},[3837,3841],{"type":23,"tag":31,"props":3838,"children":3839},{},[3840],{"type":28,"value":3383},{"type":28,"value":3842}," — follow the spec. No spec? H.264.",{"type":23,"tag":69,"props":3844,"children":3845},{},[3846,3850],{"type":23,"tag":31,"props":3847,"children":3848},{},[3849],{"type":28,"value":3687},{"type":28,"value":3851}," — keep camera originals. Don't archive just the delivery file.",{"type":23,"tag":24,"props":3853,"children":3854},{},[3855,3857,3862],{"type":28,"value":3856},"H.264, H.265, ProRes, and DNxHR aren't competitors — they're ",{"type":23,"tag":31,"props":3858,"children":3859},{},[3860],{"type":28,"value":3861},"different tools for different stages",{"type":28,"value":3863},". A normal production uses several of them across one project, and that's the point.",{"title":8,"searchDepth":1066,"depth":1066,"links":3865},[3866,3867,3868,3874,3875,3876],{"id":3194,"depth":1066,"text":3197},{"id":3332,"depth":1066,"text":3335},{"id":3548,"depth":1066,"text":3551,"children":3869},[3870,3871,3872,3873],{"id":3554,"depth":1745,"text":3557},{"id":3579,"depth":1745,"text":3582},{"id":3629,"depth":1745,"text":3383},{"id":3684,"depth":1745,"text":3687},{"id":3725,"depth":1066,"text":3728},{"id":3781,"depth":1066,"text":3784},{"id":3108,"depth":1066,"text":3111},"content:articles:en:video-codec-comparison.md","articles/en/video-codec-comparison.md","articles/en/video-codec-comparison",{"_path":3881,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":3882,"description":3883,"slug":3884,"date":3885,"category":13,"tags":3886,"body":3889,"_type":1083,"_id":4309,"_source":1085,"_file":4310,"_stem":4311,"_extension":1088},"/articles/en/log-gamma-explained","What Log Footage Actually Is — Making Sense of S-Log, V-Log, and N-Log","Switched to S-Log and ended up with flat, lifeless footage? That's the point. Here's what log gamma is for, what you need around it to make it work, and when not to bother.","log-gamma-explained","2026-05-15",[15,3887,2569,3888],"log","sony-slog",{"type":20,"children":3890,"toc":4297},[3891,3903,3908,3914,3926,3931,4028,4033,4039,4044,4105,4110,4116,4121,4127,4132,4138,4150,4156,4161,4167,4241,4253,4259,4264,4276,4280,4292],{"type":23,"tag":24,"props":3892,"children":3893},{},[3894,3896,3901],{"type":28,"value":3895},"Almost everyone who picks up their first Sony camera and tries S-Log3 has the same moment: \"Why does this look so flat and gray?\" The answer is that log footage isn't meant to look right out of camera. It's meant to look ",{"type":23,"tag":31,"props":3897,"children":3898},{},[3899],{"type":28,"value":3900},"wrong on purpose",{"type":28,"value":3902}," — so you have room to fix it later.",{"type":23,"tag":24,"props":3904,"children":3905},{},[3906],{"type":28,"value":3907},"This is a practical primer on what log gamma is, when it earns its keep, and when it's just adding work.",{"type":23,"tag":44,"props":3909,"children":3911},{"id":3910},"log-exists-to-preserve-dynamic-range",[3912],{"type":28,"value":3913},"Log Exists to Preserve Dynamic Range",{"type":23,"tag":24,"props":3915,"children":3916},{},[3917,3919,3924],{"type":28,"value":3918},"A standard camera profile (Rec.709, \"normal\" gamma) bakes in contrast and saturation at capture time. The result looks good immediately, but you pay for that in ",{"type":23,"tag":31,"props":3920,"children":3921},{},[3922],{"type":28,"value":3923},"highlights and shadows that clip early",{"type":28,"value":3925},". Once an area is blown out white or crushed to black, you can never get it back.",{"type":23,"tag":24,"props":3927,"children":3928},{},[3929],{"type":28,"value":3930},"A log gamma curve is a way of storing far more of the highlight-to-shadow range in the file, so the picture stays workable later.",{"type":23,"tag":265,"props":3932,"children":3933},{},[3934,3953],{"type":23,"tag":269,"props":3935,"children":3936},{},[3937],{"type":23,"tag":273,"props":3938,"children":3939},{},[3940,3943,3948],{"type":23,"tag":277,"props":3941,"children":3942},{},[],{"type":23,"tag":277,"props":3944,"children":3945},{},[3946],{"type":28,"value":3947},"Standard (Rec.709)",{"type":23,"tag":277,"props":3949,"children":3950},{},[3951],{"type":28,"value":3952},"Log (e.g. S-Log3)",{"type":23,"tag":288,"props":3954,"children":3955},{},[3956,3974,3992,4010],{"type":23,"tag":273,"props":3957,"children":3958},{},[3959,3964,3969],{"type":23,"tag":295,"props":3960,"children":3961},{},[3962],{"type":28,"value":3963},"Dynamic range",{"type":23,"tag":295,"props":3965,"children":3966},{},[3967],{"type":28,"value":3968},"~6 stops",{"type":23,"tag":295,"props":3970,"children":3971},{},[3972],{"type":28,"value":3973},"~14 stops",{"type":23,"tag":273,"props":3975,"children":3976},{},[3977,3982,3987],{"type":23,"tag":295,"props":3978,"children":3979},{},[3980],{"type":28,"value":3981},"Looks",{"type":23,"tag":295,"props":3983,"children":3984},{},[3985],{"type":28,"value":3986},"Contrasty, saturated",{"type":23,"tag":295,"props":3988,"children":3989},{},[3990],{"type":28,"value":3991},"Flat, washed out",{"type":23,"tag":273,"props":3993,"children":3994},{},[3995,4000,4005],{"type":23,"tag":295,"props":3996,"children":3997},{},[3998],{"type":28,"value":3999},"Ready to deliver",{"type":23,"tag":295,"props":4001,"children":4002},{},[4003],{"type":28,"value":4004},"Yes",{"type":23,"tag":295,"props":4006,"children":4007},{},[4008],{"type":28,"value":4009},"No — must be graded",{"type":23,"tag":273,"props":4011,"children":4012},{},[4013,4018,4023],{"type":23,"tag":295,"props":4014,"children":4015},{},[4016],{"type":28,"value":4017},"Highlights / shadows",{"type":23,"tag":295,"props":4019,"children":4020},{},[4021],{"type":28,"value":4022},"Clip early",{"type":23,"tag":295,"props":4024,"children":4025},{},[4026],{"type":28,"value":4027},"Hold detail",{"type":23,"tag":24,"props":4029,"children":4030},{},[4031],{"type":28,"value":4032},"The \"ugly\" appearance of log footage isn't a bug. It's the trade you make for keeping the latitude to grade it later.",{"type":23,"tag":44,"props":4034,"children":4036},{"id":4035},"the-major-log-variants",[4037],{"type":28,"value":4038},"The Major Log Variants",{"type":23,"tag":24,"props":4040,"children":4041},{},[4042],{"type":28,"value":4043},"Every manufacturer has their own log curve. The underlying idea is the same; the details differ.",{"type":23,"tag":65,"props":4045,"children":4046},{},[4047,4056,4066,4076,4085,4095],{"type":23,"tag":69,"props":4048,"children":4049},{},[4050,4054],{"type":23,"tag":31,"props":4051,"children":4052},{},[4053],{"type":28,"value":2263},{"type":28,"value":4055}," — S-Log2 / S-Log3. S-Log3 is the current standard, paired with the S-Gamut3 or S-Gamut3.Cine color space.",{"type":23,"tag":69,"props":4057,"children":4058},{},[4059,4064],{"type":23,"tag":31,"props":4060,"children":4061},{},[4062],{"type":28,"value":4063},"Panasonic",{"type":28,"value":4065}," — V-Log / V-Log L (L being the limited consumer version on the GH-series).",{"type":23,"tag":69,"props":4067,"children":4068},{},[4069,4074],{"type":23,"tag":31,"props":4070,"children":4071},{},[4072],{"type":28,"value":4073},"Nikon",{"type":28,"value":4075}," — N-Log. Available on the Z-series bodies.",{"type":23,"tag":69,"props":4077,"children":4078},{},[4079,4083],{"type":23,"tag":31,"props":4080,"children":4081},{},[4082],{"type":28,"value":2303},{"type":28,"value":4084}," — Canon Log / Log 2 / Log 3. Log 3 is the friendliest to grade.",{"type":23,"tag":69,"props":4086,"children":4087},{},[4088,4093],{"type":23,"tag":31,"props":4089,"children":4090},{},[4091],{"type":28,"value":4092},"FUJIFILM",{"type":28,"value":4094}," — F-Log / F-Log2.",{"type":23,"tag":69,"props":4096,"children":4097},{},[4098,4103],{"type":23,"tag":31,"props":4099,"children":4100},{},[4101],{"type":28,"value":4102},"DJI / Blackmagic",{"type":28,"value":4104}," — D-Log, BMD Film, etc.",{"type":23,"tag":24,"props":4106,"children":4107},{},[4108],{"type":28,"value":4109},"The capture characteristic varies slightly, but the pattern is consistent: wide dynamic range, flat-looking files, grading required.",{"type":23,"tag":44,"props":4111,"children":4113},{"id":4112},"three-things-log-needs-around-it",[4114],{"type":28,"value":4115},"Three Things Log Needs Around It",{"type":23,"tag":24,"props":4117,"children":4118},{},[4119],{"type":28,"value":4120},"Turning on log by itself doesn't get you better-looking video. In some setups, it can actively make things worse. Three pieces matter before you commit to it.",{"type":23,"tag":1360,"props":4122,"children":4124},{"id":4123},"_1-at-least-10-bit-422",[4125],{"type":28,"value":4126},"1. At Least 10-bit 4:2:2",{"type":23,"tag":24,"props":4128,"children":4129},{},[4130],{"type":28,"value":4131},"Log compresses tonal information into a narrower-looking signal that gets stretched back out in post. If you don't have enough bits to do that with, you get banding — visible stepping in skies and skin tones — the moment you start grading. 10-bit 4:2:2 is the practical floor. 8-bit 4:2:0 log is technically possible but requires very delicate handling.",{"type":23,"tag":1360,"props":4133,"children":4135},{"id":4134},"_2-expose-slightly-hot",[4136],{"type":28,"value":4137},"2. Expose Slightly Hot",{"type":23,"tag":24,"props":4139,"children":4140},{},[4141,4143,4148],{"type":28,"value":4142},"Log curves put a lot of detail in the shadows, but they're also noisy down there. The standard practice is to expose ",{"type":23,"tag":31,"props":4144,"children":4145},{},[4146],{"type":28,"value":4147},"about one stop over",{"type":28,"value":4149}," what the meter recommends, then bring it back down in the grade (\"Expose To The Right\" or ETTR). Each manufacturer publishes their own recommended exposure, and going a touch above it consistently gives cleaner results.",{"type":23,"tag":1360,"props":4151,"children":4153},{"id":4152},"_3-a-real-grading-workflow",[4154],{"type":28,"value":4155},"3. A Real Grading Workflow",{"type":23,"tag":24,"props":4157,"children":4158},{},[4159],{"type":28,"value":4160},"At minimum, you'll need to apply a conversion LUT to bring the footage back to Rec.709 and then adjust contrast and saturation. If you don't have time for that on every job, you may genuinely be better off shooting standard gamma — or HLG, which gives you some extra range without requiring a full grade.",{"type":23,"tag":44,"props":4162,"children":4164},{"id":4163},"when-to-use-log-when-to-skip-it",[4165],{"type":28,"value":4166},"When to Use Log, When to Skip It",{"type":23,"tag":265,"props":4168,"children":4169},{},[4170,4186],{"type":23,"tag":269,"props":4171,"children":4172},{},[4173],{"type":23,"tag":273,"props":4174,"children":4175},{},[4176,4181],{"type":23,"tag":277,"props":4177,"children":4178},{},[4179],{"type":28,"value":4180},"Good for",{"type":23,"tag":277,"props":4182,"children":4183},{},[4184],{"type":28,"value":4185},"Bad for",{"type":23,"tag":288,"props":4187,"children":4188},{},[4189,4202,4215,4228],{"type":23,"tag":273,"props":4190,"children":4191},{},[4192,4197],{"type":23,"tag":295,"props":4193,"children":4194},{},[4195],{"type":28,"value":4196},"Outdoor, high-contrast, backlit",{"type":23,"tag":295,"props":4198,"children":4199},{},[4200],{"type":28,"value":4201},"Lit indoor interviews",{"type":23,"tag":273,"props":4203,"children":4204},{},[4205,4210],{"type":23,"tag":295,"props":4206,"children":4207},{},[4208],{"type":28,"value":4209},"Projects where you'll grade carefully",{"type":23,"tag":295,"props":4211,"children":4212},{},[4213],{"type":28,"value":4214},"Live or fast-turnaround work",{"type":23,"tag":273,"props":4216,"children":4217},{},[4218,4223],{"type":23,"tag":295,"props":4219,"children":4220},{},[4221],{"type":28,"value":4222},"10-bit 4:2:2 capable cameras",{"type":23,"tag":295,"props":4224,"children":4225},{},[4226],{"type":28,"value":4227},"8-bit 4:2:0 only",{"type":23,"tag":273,"props":4229,"children":4230},{},[4231,4236],{"type":23,"tag":295,"props":4232,"children":4233},{},[4234],{"type":28,"value":4235},"Footage you want to color-match later",{"type":23,"tag":295,"props":4237,"children":4238},{},[4239],{"type":28,"value":4240},"High-volume work with no post time",{"type":23,"tag":24,"props":4242,"children":4243},{},[4244,4246,4251],{"type":28,"value":4245},"Log isn't a badge of being a serious shooter — it's a choice that only pays off when the ",{"type":23,"tag":31,"props":4247,"children":4248},{},[4249],{"type":28,"value":4250},"rest of your workflow",{"type":28,"value":4252}," can support it.",{"type":23,"tag":44,"props":4254,"children":4256},{"id":4255},"a-quiet-side-effect-log-footage-is-hard-to-browse",[4257],{"type":28,"value":4258},"A Quiet Side Effect: Log Footage Is Hard to Browse",{"type":23,"tag":24,"props":4260,"children":4261},{},[4262],{"type":28,"value":4263},"One understated annoyance of log: every clip looks roughly the same when you scrub through it — flat, gray, low-contrast. Telling shots apart at a glance gets harder, especially when you come back to old footage months later.",{"type":23,"tag":24,"props":4265,"children":4266},{},[4267,4269,4274],{"type":28,"value":4268},"Some teams solve this with disciplined slating and naming. Others lean on tools like VideoTagger that index what's actually inside each clip rather than relying on how the thumbnail looks. Either way, the log workflow really runs from capture through grade through ",{"type":23,"tag":31,"props":4270,"children":4271},{},[4272],{"type":28,"value":4273},"the search you'll do six months later",{"type":28,"value":4275}," — plan for the whole arc, not just the shoot day.",{"type":23,"tag":44,"props":4277,"children":4278},{"id":3108},[4279],{"type":28,"value":3111},{"type":23,"tag":24,"props":4281,"children":4282},{},[4283,4285,4290],{"type":28,"value":4284},"Log isn't a way to make footage look better. It's a way to ",{"type":23,"tag":31,"props":4286,"children":4287},{},[4288],{"type":28,"value":4289},"keep your options open",{"type":28,"value":4291},". If you know how you want it to look in the end, log gives you the room to get there. If you don't, it just adds work between you and a usable deliverable.",{"type":23,"tag":24,"props":4293,"children":4294},{},[4295],{"type":28,"value":4296},"The fastest way to internalize this is to shoot the same scene twice — once in Rec.709, once in S-Log3 — and finish both. Five minutes of grading does more for understanding log than any amount of reading.",{"title":8,"searchDepth":1066,"depth":1066,"links":4298},[4299,4300,4301,4306,4307,4308],{"id":3910,"depth":1066,"text":3913},{"id":4035,"depth":1066,"text":4038},{"id":4112,"depth":1066,"text":4115,"children":4302},[4303,4304,4305],{"id":4123,"depth":1745,"text":4126},{"id":4134,"depth":1745,"text":4137},{"id":4152,"depth":1745,"text":4155},{"id":4163,"depth":1066,"text":4166},{"id":4255,"depth":1066,"text":4258},{"id":3108,"depth":1066,"text":3111},"content:articles:en:log-gamma-explained.md","articles/en/log-gamma-explained.md","articles/en/log-gamma-explained",{"_path":4313,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4314,"description":4315,"slug":4316,"date":3885,"category":13,"tags":4317,"body":4319,"_type":1083,"_id":4721,"_source":1085,"_file":4722,"_stem":4723,"_extension":1088},"/articles/en/video-bitrate-basics","Understanding Video Bitrate — Why the Number Alone Doesn't Tell You the Quality","\"Just export at a high bitrate and it'll look great\" is only half right. VBR vs CBR, the codec you're using, and realistic numbers for real use cases — here's what bitrate actually controls.","video-bitrate-basics",[15,4318,3173],"bitrate",{"type":20,"children":4320,"toc":4712},[4321,4326,4331,4337,4342,4355,4360,4366,4385,4390,4414,4426,4432,4437,4533,4538,4544,4549,4602,4607,4613,4624,4656,4668,4674,4686,4691,4695,4707],{"type":23,"tag":24,"props":4322,"children":4323},{},[4324],{"type":28,"value":4325},"If you've ever exported a video and just left the bitrate at whatever the preset suggested — or bumped it up \"to be safe\" — you're not alone. It's one of the settings most people touch the least and worry about the most.",{"type":23,"tag":24,"props":4327,"children":4328},{},[4329],{"type":28,"value":4330},"This post is a practical look at what bitrate actually controls, when raising it helps, and when it stops doing anything at all.",{"type":23,"tag":44,"props":4332,"children":4334},{"id":4333},"bitrate-is-how-much-data-per-second",[4335],{"type":28,"value":4336},"Bitrate Is \"How Much Data per Second\"",{"type":23,"tag":24,"props":4338,"children":4339},{},[4340],{"type":28,"value":4341},"Bitrate, at its most literal, is the amount of data allocated to one second of video. The usual unit is Mbps (megabits per second).",{"type":23,"tag":65,"props":4343,"children":4344},{},[4345,4350],{"type":23,"tag":69,"props":4346,"children":4347},{},[4348],{"type":28,"value":4349},"50 Mbps of 4K = 50 megabits ≈ 6.25 megabytes per second",{"type":23,"tag":69,"props":4351,"children":4352},{},[4353],{"type":28,"value":4354},"A 10-minute clip at 50 Mbps ≈ 3.75 GB",{"type":23,"tag":24,"props":4356,"children":4357},{},[4358],{"type":28,"value":4359},"That's just arithmetic. The interesting part starts when you notice that two videos at the same Mbps can look very different.",{"type":23,"tag":44,"props":4361,"children":4363},{"id":4362},"why-more-bitrate-isnt-always-more-quality",[4364],{"type":28,"value":4365},"Why More Bitrate Isn't Always More Quality",{"type":23,"tag":24,"props":4367,"children":4368},{},[4369,4371,4376,4378,4383],{"type":28,"value":4370},"Bitrate is a ",{"type":23,"tag":31,"props":4372,"children":4373},{},[4374],{"type":28,"value":4375},"ceiling for data",{"type":28,"value":4377},", not a measurement of quality. What you actually see on screen is the combination of bitrate, ",{"type":23,"tag":31,"props":4379,"children":4380},{},[4381],{"type":28,"value":4382},"codec efficiency",{"type":28,"value":4384},", and how complex the footage is.",{"type":23,"tag":24,"props":4386,"children":4387},{},[4388],{"type":28,"value":4389},"A couple of examples:",{"type":23,"tag":65,"props":4391,"children":4392},{},[4393,4409],{"type":23,"tag":69,"props":4394,"children":4395},{},[4396,4401,4402,4407],{"type":23,"tag":31,"props":4397,"children":4398},{},[4399],{"type":28,"value":4400},"H.264 at 50 Mbps",{"type":28,"value":929},{"type":23,"tag":31,"props":4403,"children":4404},{},[4405],{"type":28,"value":4406},"H.265 (HEVC) at 25 Mbps",{"type":28,"value":4408}," look about the same. Newer codecs are designed to reach the same picture using less data.",{"type":23,"tag":69,"props":4410,"children":4411},{},[4412],{"type":28,"value":4413},"A quiet interview and a hockey game both at 30 Mbps will look different. The fast-moving one is far more likely to fall apart into block artifacts. The more motion in a frame, the more data the codec needs.",{"type":23,"tag":24,"props":4415,"children":4416},{},[4417,4419,4424],{"type":28,"value":4418},"The upshot: doubling the bitrate doesn't double the quality, and past a certain point it stops changing anything visible. What matters is whether the bitrate is ",{"type":23,"tag":31,"props":4420,"children":4421},{},[4422],{"type":28,"value":4423},"enough",{"type":28,"value":4425}," for the codec, resolution, and motion you're pushing through it.",{"type":23,"tag":44,"props":4427,"children":4429},{"id":4428},"cbr-vs-vbr",[4430],{"type":28,"value":4431},"CBR vs VBR",{"type":23,"tag":24,"props":4433,"children":4434},{},[4435],{"type":28,"value":4436},"There are two strategies for spending your bitrate budget.",{"type":23,"tag":265,"props":4438,"children":4439},{},[4440,4459],{"type":23,"tag":269,"props":4441,"children":4442},{},[4443],{"type":23,"tag":273,"props":4444,"children":4445},{},[4446,4449,4454],{"type":23,"tag":277,"props":4447,"children":4448},{},[],{"type":23,"tag":277,"props":4450,"children":4451},{},[4452],{"type":28,"value":4453},"CBR (Constant Bitrate)",{"type":23,"tag":277,"props":4455,"children":4456},{},[4457],{"type":28,"value":4458},"VBR (Variable Bitrate)",{"type":23,"tag":288,"props":4460,"children":4461},{},[4462,4480,4498,4515],{"type":23,"tag":273,"props":4463,"children":4464},{},[4465,4470,4475],{"type":23,"tag":295,"props":4466,"children":4467},{},[4468],{"type":28,"value":4469},"Distribution",{"type":23,"tag":295,"props":4471,"children":4472},{},[4473],{"type":28,"value":4474},"Same across all frames",{"type":23,"tag":295,"props":4476,"children":4477},{},[4478],{"type":28,"value":4479},"More on hard scenes, less on easy ones",{"type":23,"tag":273,"props":4481,"children":4482},{},[4483,4488,4493],{"type":23,"tag":295,"props":4484,"children":4485},{},[4486],{"type":28,"value":4487},"Efficiency",{"type":23,"tag":295,"props":4489,"children":4490},{},[4491],{"type":28,"value":4492},"Average",{"type":23,"tag":295,"props":4494,"children":4495},{},[4496],{"type":28,"value":4497},"Better",{"type":23,"tag":273,"props":4499,"children":4500},{},[4501,4506,4510],{"type":23,"tag":295,"props":4502,"children":4503},{},[4504],{"type":28,"value":4505},"Predictable file size",{"type":23,"tag":295,"props":4507,"children":4508},{},[4509],{"type":28,"value":4004},{"type":23,"tag":295,"props":4511,"children":4512},{},[4513],{"type":28,"value":4514},"Roughly",{"type":23,"tag":273,"props":4516,"children":4517},{},[4518,4523,4528],{"type":23,"tag":295,"props":4519,"children":4520},{},[4521],{"type":28,"value":4522},"Best for",{"type":23,"tag":295,"props":4524,"children":4525},{},[4526],{"type":28,"value":4527},"Live streams, fixed bandwidth",{"type":23,"tag":295,"props":4529,"children":4530},{},[4531],{"type":28,"value":4532},"Exports, archives",{"type":23,"tag":24,"props":4534,"children":4535},{},[4536],{"type":28,"value":4537},"Live streaming wants CBR — the bandwidth pipe is fixed, so a consistent feed matters more than peak efficiency. For exports, VBR (especially 2-Pass) wins almost every time. 2-Pass takes about twice as long but spends the budget more intelligently. For a final delivery the wait is worth it; for review copies, 1-Pass is fine.",{"type":23,"tag":44,"props":4539,"children":4541},{"id":4540},"reasonable-numbers-by-use-case",[4542],{"type":28,"value":4543},"Reasonable Numbers by Use Case",{"type":23,"tag":24,"props":4545,"children":4546},{},[4547],{"type":28,"value":4548},"There's no single right answer, but here are the ranges most editors actually use. These assume H.264 — if you're using H.265, you can roughly halve them.",{"type":23,"tag":65,"props":4550,"children":4551},{},[4552,4562,4572,4582,4592],{"type":23,"tag":69,"props":4553,"children":4554},{},[4555,4560],{"type":23,"tag":31,"props":4556,"children":4557},{},[4558],{"type":28,"value":4559},"YouTube 1080p, 30fps",{"type":28,"value":4561}," — 8–12 Mbps",{"type":23,"tag":69,"props":4563,"children":4564},{},[4565,4570],{"type":23,"tag":31,"props":4566,"children":4567},{},[4568],{"type":28,"value":4569},"YouTube 4K, 30fps",{"type":28,"value":4571}," — 35–50 Mbps",{"type":23,"tag":69,"props":4573,"children":4574},{},[4575,4580],{"type":23,"tag":31,"props":4576,"children":4577},{},[4578],{"type":28,"value":4579},"1080p master (ProRes 422 etc.)",{"type":28,"value":4581}," — 100+ Mbps",{"type":23,"tag":69,"props":4583,"children":4584},{},[4585,4590],{"type":23,"tag":31,"props":4586,"children":4587},{},[4588],{"type":28,"value":4589},"4K master (ProRes 422 / DNxHR HQ)",{"type":28,"value":4591}," — 400–500 Mbps",{"type":23,"tag":69,"props":4593,"children":4594},{},[4595,4600],{"type":23,"tag":31,"props":4596,"children":4597},{},[4598],{"type":28,"value":4599},"Proxy editing",{"type":28,"value":4601}," — 5–10 Mbps",{"type":23,"tag":24,"props":4603,"children":4604},{},[4605],{"type":28,"value":4606},"The huge gap between \"master\" and \"delivery\" is intentional. A master file holds enough overhead that you can grade, crop, and re-export without watching the image fall apart. Once you've exported at 8 Mbps H.264, you can never get back to a clean high-quality version.",{"type":23,"tag":44,"props":4608,"children":4610},{"id":4609},"a-note-on-archiving",[4611],{"type":28,"value":4612},"A Note on Archiving",{"type":23,"tag":24,"props":4614,"children":4615},{},[4616,4618,4623],{"type":28,"value":4617},"If you're thinking long-term, the question isn't really bitrate — it's ",{"type":23,"tag":31,"props":4619,"children":4620},{},[4621],{"type":28,"value":4622},"which codec you keep",{"type":28,"value":63},{"type":23,"tag":65,"props":4625,"children":4626},{},[4627,4636,4646],{"type":23,"tag":69,"props":4628,"children":4629},{},[4630,4634],{"type":23,"tag":31,"props":4631,"children":4632},{},[4633],{"type":28,"value":3219},{"type":28,"value":4635}," (H.264, H.265): great for storage size, painful to re-edit.",{"type":23,"tag":69,"props":4637,"children":4638},{},[4639,4644],{"type":23,"tag":31,"props":4640,"children":4641},{},[4642],{"type":28,"value":4643},"Edit-friendly codecs",{"type":28,"value":4645}," (ProRes, DNxHR): heavy on disk, kind to your timeline.",{"type":23,"tag":69,"props":4647,"children":4648},{},[4649,4654],{"type":23,"tag":31,"props":4650,"children":4651},{},[4652],{"type":28,"value":4653},"Camera-original",{"type":28,"value":4655}," (XAVC, H.265 from the camera): the realistic middle ground for most people.",{"type":23,"tag":24,"props":4657,"children":4658},{},[4659,4661,4666],{"type":28,"value":4660},"If you expect to come back to old footage — which is exactly what tools like VideoTagger are built for — the most balanced approach is to ",{"type":23,"tag":31,"props":4662,"children":4663},{},[4664],{"type":28,"value":4665},"keep camera originals as-is",{"type":28,"value":4667}," and transcode to an edit-friendly codec only when needed. You get reasonable storage now and full flexibility later.",{"type":23,"tag":44,"props":4669,"children":4671},{"id":4670},"videotagger-surfaces-these-numbers-automatically",[4672],{"type":28,"value":4673},"VideoTagger Surfaces These Numbers Automatically",{"type":23,"tag":24,"props":4675,"children":4676},{},[4677,4679,4684],{"type":28,"value":4678},"VideoTagger analyzes every video added to its library and shows the ",{"type":23,"tag":31,"props":4680,"children":4681},{},[4682],{"type":28,"value":4683},"overall and video-track bitrate, codec, resolution, and frame rate",{"type":28,"value":4685}," in its file info panel — no opening clips one by one in a media player just to check.",{"type":23,"tag":24,"props":4687,"children":4688},{},[4689],{"type":28,"value":4690},"Library-wide filters cover codec, resolution, frame rate, duration, and file size, so pulling out \"everything at master quality\" or \"every clip that matches a specific delivery spec\" is a quick query across the whole library rather than a manual scan.",{"type":23,"tag":44,"props":4692,"children":4693},{"id":3108},[4694],{"type":28,"value":3111},{"type":23,"tag":24,"props":4696,"children":4697},{},[4698,4700,4705],{"type":28,"value":4699},"A bitrate number on its own doesn't tell you whether the video will look good. You need four pieces together: ",{"type":23,"tag":31,"props":4701,"children":4702},{},[4703],{"type":28,"value":4704},"codec, resolution, motion, and intended use",{"type":28,"value":4706},". Once those are in view, \"enough\" versus \"wasted\" becomes obvious.",{"type":23,"tag":24,"props":4708,"children":4709},{},[4710],{"type":28,"value":4711},"When in doubt, decide the use case first. Streaming, master, or proxy — the bitrate setting follows naturally from there.",{"title":8,"searchDepth":1066,"depth":1066,"links":4713},[4714,4715,4716,4717,4718,4719,4720],{"id":4333,"depth":1066,"text":4336},{"id":4362,"depth":1066,"text":4365},{"id":4428,"depth":1066,"text":4431},{"id":4540,"depth":1066,"text":4543},{"id":4609,"depth":1066,"text":4612},{"id":4670,"depth":1066,"text":4673},{"id":3108,"depth":1066,"text":3111},"content:articles:en:video-bitrate-basics.md","articles/en/video-bitrate-basics.md","articles/en/video-bitrate-basics",{"_path":4725,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4726,"description":4727,"slug":4728,"date":4729,"category":13,"tags":4730,"body":4733,"_type":1083,"_id":5134,"_source":1085,"_file":5135,"_stem":5136,"_extension":1088},"/articles/en/tag-vocabulary","Building a Tag Vocabulary That Matches Your Work","AI tags get you 80% of the way. The last 20% — the part that makes your library actually searchable for *your* projects — comes from the vocabulary you build on top. Here is how to build one that lasts.","tag-vocabulary","2026-05-11",[1764,4731,4732],"tagging","tips",{"type":20,"children":4734,"toc":5124},[4735,4740,4752,4757,4763,4775,4780,4805,4817,4823,4828,4834,4839,4845,4850,4908,4913,4919,4924,4954,4959,4965,4970,5103,5109,5114,5119],{"type":23,"tag":24,"props":4736,"children":4737},{},[4738],{"type":28,"value":4739},"When you drop a folder of clips into VideoTagger, the AI does the heavy lifting: it recognizes people, objects, scenes, and actions, and tags every moment automatically. Most users are surprised at how much of the work is already done.",{"type":23,"tag":24,"props":4741,"children":4742},{},[4743,4745,4750],{"type":28,"value":4744},"But the AI does not know your projects. It does not know that \"the rooftop shot\" is the one you keep reusing, or that \"good B-roll\" means something specific to your style. That layer — your ",{"type":23,"tag":166,"props":4746,"children":4747},{},[4748],{"type":28,"value":4749},"own",{"type":28,"value":4751}," vocabulary — is what turns a tagged library into a useful one.",{"type":23,"tag":24,"props":4753,"children":4754},{},[4755],{"type":28,"value":4756},"This post is about how to build that vocabulary without overthinking it.",{"type":23,"tag":44,"props":4758,"children":4760},{"id":4759},"start-from-how-you-already-search",[4761],{"type":28,"value":4762},"Start From How You Already Search",{"type":23,"tag":24,"props":4764,"children":4765},{},[4766,4768,4773],{"type":28,"value":4767},"The most common mistake is to design a tag taxonomy ",{"type":23,"tag":166,"props":4769,"children":4770},{},[4771],{"type":28,"value":4772},"up front",{"type":28,"value":4774}," — sit down, draw a tree, and try to predict everything you will ever need. This almost always fails. You end up with categories you never use and gaps where the real searches happen.",{"type":23,"tag":24,"props":4776,"children":4777},{},[4778],{"type":28,"value":4779},"Try the opposite instead:",{"type":23,"tag":3589,"props":4781,"children":4782},{},[4783,4795,4800],{"type":23,"tag":69,"props":4784,"children":4785},{},[4786,4788,4793],{"type":28,"value":4787},"Use the library for a week with ",{"type":23,"tag":31,"props":4789,"children":4790},{},[4791],{"type":28,"value":4792},"only",{"type":28,"value":4794}," the AI tags.",{"type":23,"tag":69,"props":4796,"children":4797},{},[4798],{"type":28,"value":4799},"Notice every time you wish a tag existed. Write down the words you actually mouthed.",{"type":23,"tag":69,"props":4801,"children":4802},{},[4803],{"type":28,"value":4804},"After a week, add those words as custom tags. That is your real vocabulary.",{"type":23,"tag":24,"props":4806,"children":4807},{},[4808,4810,4815],{"type":28,"value":4809},"The vocabulary that emerges this way is short, specific, and unique to how ",{"type":23,"tag":166,"props":4811,"children":4812},{},[4813],{"type":28,"value":4814},"you",{"type":28,"value":4816}," think about footage.",{"type":23,"tag":44,"props":4818,"children":4820},{"id":4819},"three-layers-that-tend-to-work",[4821],{"type":28,"value":4822},"Three Layers That Tend to Work",{"type":23,"tag":24,"props":4824,"children":4825},{},[4826],{"type":28,"value":4827},"Across the workflows we have seen, useful tag vocabularies tend to sort into three layers. You do not need all three on day one — add them as you feel the need.",{"type":23,"tag":1360,"props":4829,"children":4831},{"id":4830},"layer-1-content-what-is-in-the-shot",[4832],{"type":28,"value":4833},"Layer 1 — Content (what is in the shot)",{"type":23,"tag":24,"props":4835,"children":4836},{},[4837],{"type":28,"value":4838},"This is what the AI already gives you for free: people, objects, settings, actions. You rarely need to add to this layer manually. When you do, it is usually to disambiguate — for example, naming a specific person the AI labeled generically, or distinguishing two locations that look similar on camera.",{"type":23,"tag":1360,"props":4840,"children":4842},{"id":4841},"layer-2-quality-and-intent-how-you-would-use-this-shot",[4843],{"type":28,"value":4844},"Layer 2 — Quality and intent (how you would use this shot)",{"type":23,"tag":24,"props":4846,"children":4847},{},[4848],{"type":28,"value":4849},"This is the layer the AI cannot fill in, and where the highest-value custom tags live. Examples:",{"type":23,"tag":65,"props":4851,"children":4852},{},[4853,4864,4875,4886,4897],{"type":23,"tag":69,"props":4854,"children":4855},{},[4856,4862],{"type":23,"tag":56,"props":4857,"children":4859},{"className":4858},[],[4860],{"type":28,"value":4861},"hero",{"type":28,"value":4863}," — the shot you would build a sequence around.",{"type":23,"tag":69,"props":4865,"children":4866},{},[4867,4873],{"type":23,"tag":56,"props":4868,"children":4870},{"className":4869},[],[4871],{"type":28,"value":4872},"b-roll",{"type":28,"value":4874}," — usable filler.",{"type":23,"tag":69,"props":4876,"children":4877},{},[4878,4884],{"type":23,"tag":56,"props":4879,"children":4881},{"className":4880},[],[4882],{"type":28,"value":4883},"cutaway-safe",{"type":28,"value":4885}," — works in a cutaway without needing context.",{"type":23,"tag":69,"props":4887,"children":4888},{},[4889,4895],{"type":23,"tag":56,"props":4890,"children":4892},{"className":4891},[],[4893],{"type":28,"value":4894},"audio-clean",{"type":28,"value":4896}," — usable for the dialogue, not just the picture.",{"type":23,"tag":69,"props":4898,"children":4899},{},[4900,4906],{"type":23,"tag":56,"props":4901,"children":4903},{"className":4902},[],[4904],{"type":28,"value":4905},"reject",{"type":28,"value":4907}," — known bad take; never use.",{"type":23,"tag":24,"props":4909,"children":4910},{},[4911],{"type":28,"value":4912},"These are subjective. That is the point — only you know them, and they are exactly what makes search powerful.",{"type":23,"tag":1360,"props":4914,"children":4916},{"id":4915},"layer-3-project-deliverable-where-this-shot-is-going",[4917],{"type":28,"value":4918},"Layer 3 — Project / deliverable (where this shot is going)",{"type":23,"tag":24,"props":4920,"children":4921},{},[4922],{"type":28,"value":4923},"This is the most ephemeral layer. Tags like:",{"type":23,"tag":65,"props":4925,"children":4926},{},[4927,4936,4945],{"type":23,"tag":69,"props":4928,"children":4929},{},[4930],{"type":23,"tag":56,"props":4931,"children":4933},{"className":4932},[],[4934],{"type":28,"value":4935},"proj-acme-launch",{"type":23,"tag":69,"props":4937,"children":4938},{},[4939],{"type":23,"tag":56,"props":4940,"children":4942},{"className":4941},[],[4943],{"type":28,"value":4944},"q3-newsletter",{"type":23,"tag":69,"props":4946,"children":4947},{},[4948],{"type":23,"tag":56,"props":4949,"children":4951},{"className":4950},[],[4952],{"type":28,"value":4953},"client-review-2026-05",{"type":23,"tag":24,"props":4955,"children":4956},{},[4957],{"type":28,"value":4958},"They have a short useful life but they save real time. When you ship the project, you can keep them as historical breadcrumbs or remove them — your call.",{"type":23,"tag":44,"props":4960,"children":4962},{"id":4961},"rules-of-thumb-that-save-pain-later",[4963],{"type":28,"value":4964},"Rules of Thumb That Save Pain Later",{"type":23,"tag":24,"props":4966,"children":4967},{},[4968],{"type":28,"value":4969},"A few small habits make a big difference six months in:",{"type":23,"tag":65,"props":4971,"children":4972},{},[4973,4999,5031,5055,5093],{"type":23,"tag":69,"props":4974,"children":4975},{},[4976,4981,4983,4989,4991,4997],{"type":23,"tag":31,"props":4977,"children":4978},{},[4979],{"type":28,"value":4980},"Lowercase, hyphenated.",{"type":28,"value":4982}," ",{"type":23,"tag":56,"props":4984,"children":4986},{"className":4985},[],[4987],{"type":28,"value":4988},"hero-shot",{"type":28,"value":4990}," not ",{"type":23,"tag":56,"props":4992,"children":4994},{"className":4993},[],[4995],{"type":28,"value":4996},"Hero Shot",{"type":28,"value":4998},". Tags become hard to clean up once you have hundreds of them in mixed styles.",{"type":23,"tag":69,"props":5000,"children":5001},{},[5002,5007,5008,5014,5015,5021,5023,5029],{"type":23,"tag":31,"props":5003,"children":5004},{},[5005],{"type":28,"value":5006},"One concept per tag.",{"type":28,"value":4982},{"type":23,"tag":56,"props":5009,"children":5011},{"className":5010},[],[5012],{"type":28,"value":5013},"interview",{"type":28,"value":929},{"type":23,"tag":56,"props":5016,"children":5018},{"className":5017},[],[5019],{"type":28,"value":5020},"outdoor",{"type":28,"value":5022}," separately, not ",{"type":23,"tag":56,"props":5024,"children":5026},{"className":5025},[],[5027],{"type":28,"value":5028},"outdoor-interview",{"type":28,"value":5030},". The two-tag combination is more flexible.",{"type":23,"tag":69,"props":5032,"children":5033},{},[5034,5039,5040,5046,5047,5053],{"type":23,"tag":31,"props":5035,"children":5036},{},[5037],{"type":28,"value":5038},"Prefix project tags.",{"type":28,"value":4982},{"type":23,"tag":56,"props":5041,"children":5043},{"className":5042},[],[5044],{"type":28,"value":5045},"proj-",{"type":28,"value":697},{"type":23,"tag":56,"props":5048,"children":5050},{"className":5049},[],[5051],{"type":28,"value":5052},"client-",{"type":28,"value":5054}," keeps them visually grouped and easy to retire.",{"type":23,"tag":69,"props":5056,"children":5057},{},[5058,5063,5065,5070,5071,5077,5078,5084,5086,5091],{"type":23,"tag":31,"props":5059,"children":5060},{},[5061],{"type":28,"value":5062},"Resist synonyms.",{"type":28,"value":5064}," Pick one of ",{"type":23,"tag":56,"props":5066,"children":5068},{"className":5067},[],[5069],{"type":28,"value":4861},{"type":28,"value":1855},{"type":23,"tag":56,"props":5072,"children":5074},{"className":5073},[],[5075],{"type":28,"value":5076},"pick",{"type":28,"value":1855},{"type":23,"tag":56,"props":5079,"children":5081},{"className":5080},[],[5082],{"type":28,"value":5083},"selects",{"type":28,"value":5085}," and stick with it. The AI tags can sprawl; ",{"type":23,"tag":166,"props":5087,"children":5088},{},[5089],{"type":28,"value":5090},"your",{"type":28,"value":5092}," tags should not.",{"type":23,"tag":69,"props":5094,"children":5095},{},[5096,5101],{"type":23,"tag":31,"props":5097,"children":5098},{},[5099],{"type":28,"value":5100},"Prune quarterly.",{"type":28,"value":5102}," Five minutes every three months removing dead project tags keeps the surface clean.",{"type":23,"tag":44,"props":5104,"children":5106},{"id":5105},"what-done-looks-like",[5107],{"type":28,"value":5108},"What \"Done\" Looks Like",{"type":23,"tag":24,"props":5110,"children":5111},{},[5112],{"type":28,"value":5113},"A mature vocabulary is smaller than people expect — usually 20 to 50 custom tags total, on top of the AI's content tags. If you find yourself adding new tags every week after the first month, you are probably overspecifying. If you are still scrolling past unrelated results, you are probably underspecifying.",{"type":23,"tag":24,"props":5115,"children":5116},{},[5117],{"type":28,"value":5118},"The signal you are looking for: searches that used to take minutes now take seconds, and the first three results are almost always what you wanted.",{"type":23,"tag":24,"props":5120,"children":5121},{},[5122],{"type":28,"value":5123},"That is the point at which the library has become a real tool, not just a pile of tagged files.",{"title":8,"searchDepth":1066,"depth":1066,"links":5125},[5126,5127,5132,5133],{"id":4759,"depth":1066,"text":4762},{"id":4819,"depth":1066,"text":4822,"children":5128},[5129,5130,5131],{"id":4830,"depth":1745,"text":4833},{"id":4841,"depth":1745,"text":4844},{"id":4915,"depth":1745,"text":4918},{"id":4961,"depth":1066,"text":4964},{"id":5105,"depth":1066,"text":5108},"content:articles:en:tag-vocabulary.md","articles/en/tag-vocabulary.md","articles/en/tag-vocabulary",{"_path":5138,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":5139,"description":5140,"slug":5141,"date":5142,"category":13,"tags":5143,"body":5146,"_type":1083,"_id":5474,"_source":1085,"_file":5475,"_stem":5476,"_extension":1088},"/articles/en/on-device-ai","Why VideoTagger Runs Entirely on Your Device","Most AI video tools send your footage to someone else's servers. VideoTagger doesn't. Here is what on-device AI actually means for your privacy, your speed, and your monthly bill.","on-device-ai","2026-05-08",[5144,5141,5145],"privacy","performance",{"type":20,"children":5147,"toc":5463},[5148,5158,5163,5169,5187,5284,5289,5295,5301,5306,5329,5334,5340,5352,5357,5363,5375,5380,5386,5391,5424,5429,5435,5447,5453,5458],{"type":23,"tag":24,"props":5149,"children":5150},{},[5151,5153],{"type":28,"value":5152},"When people first hear that VideoTagger uses AI, the next question is almost always the same: ",{"type":23,"tag":166,"props":5154,"children":5155},{},[5156],{"type":28,"value":5157},"\"So my footage gets uploaded somewhere?\"",{"type":23,"tag":24,"props":5159,"children":5160},{},[5161],{"type":28,"value":5162},"The answer is no. Nothing leaves your machine. This post explains why we built it that way — and what that means in practice.",{"type":23,"tag":44,"props":5164,"children":5166},{"id":5165},"what-on-device-actually-means",[5167],{"type":28,"value":5168},"What \"On-Device\" Actually Means",{"type":23,"tag":24,"props":5170,"children":5171},{},[5172,5174,5179,5181,5186],{"type":28,"value":5173},"There is a meaningful difference between a tool that ",{"type":23,"tag":166,"props":5175,"children":5176},{},[5177],{"type":28,"value":5178},"uses",{"type":28,"value":5180}," AI and a tool that ",{"type":23,"tag":166,"props":5182,"children":5183},{},[5184],{"type":28,"value":5185},"hands your data to a cloud AI service",{"type":28,"value":63},{"type":23,"tag":265,"props":5188,"children":5189},{},[5190,5209],{"type":23,"tag":269,"props":5191,"children":5192},{},[5193],{"type":23,"tag":273,"props":5194,"children":5195},{},[5196,5199,5204],{"type":23,"tag":277,"props":5197,"children":5198},{},[],{"type":23,"tag":277,"props":5200,"children":5201},{},[5202],{"type":28,"value":5203},"Cloud AI tools",{"type":23,"tag":277,"props":5205,"children":5206},{},[5207],{"type":28,"value":5208},"VideoTagger",{"type":23,"tag":288,"props":5210,"children":5211},{},[5212,5230,5248,5266],{"type":23,"tag":273,"props":5213,"children":5214},{},[5215,5220,5225],{"type":23,"tag":295,"props":5216,"children":5217},{},[5218],{"type":28,"value":5219},"Where the model runs",{"type":23,"tag":295,"props":5221,"children":5222},{},[5223],{"type":28,"value":5224},"Remote GPU servers",{"type":23,"tag":295,"props":5226,"children":5227},{},[5228],{"type":28,"value":5229},"Your CPU / GPU",{"type":23,"tag":273,"props":5231,"children":5232},{},[5233,5238,5243],{"type":23,"tag":295,"props":5234,"children":5235},{},[5236],{"type":28,"value":5237},"Where your video goes",{"type":23,"tag":295,"props":5239,"children":5240},{},[5241],{"type":28,"value":5242},"Uploaded to a third party",{"type":23,"tag":295,"props":5244,"children":5245},{},[5246],{"type":28,"value":5247},"Stays on your disk",{"type":23,"tag":273,"props":5249,"children":5250},{},[5251,5256,5261],{"type":23,"tag":295,"props":5252,"children":5253},{},[5254],{"type":28,"value":5255},"Network required",{"type":23,"tag":295,"props":5257,"children":5258},{},[5259],{"type":28,"value":5260},"Yes, for every analysis",{"type":23,"tag":295,"props":5262,"children":5263},{},[5264],{"type":28,"value":5265},"No — works fully offline",{"type":23,"tag":273,"props":5267,"children":5268},{},[5269,5274,5279],{"type":23,"tag":295,"props":5270,"children":5271},{},[5272],{"type":28,"value":5273},"Per-minute cost",{"type":23,"tag":295,"props":5275,"children":5276},{},[5277],{"type":28,"value":5278},"Often metered",{"type":23,"tag":295,"props":5280,"children":5281},{},[5282],{"type":28,"value":5283},"None after the license",{"type":23,"tag":24,"props":5285,"children":5286},{},[5287],{"type":28,"value":5288},"When VideoTagger analyzes a video, the model loads into your machine's memory and runs against the file in place. There is no upload step, no API call carrying your frames, no temporary copy sitting in a bucket somewhere.",{"type":23,"tag":44,"props":5290,"children":5292},{"id":5291},"why-this-matters-three-practical-wins",[5293],{"type":28,"value":5294},"Why This Matters: Three Practical Wins",{"type":23,"tag":1360,"props":5296,"children":5298},{"id":5297},"_1-footage-you-cannot-upload-stays-usable",[5299],{"type":28,"value":5300},"1. Footage You Cannot Upload Stays Usable",{"type":23,"tag":24,"props":5302,"children":5303},{},[5304],{"type":28,"value":5305},"A lot of useful footage is also footage you would never put on someone else's server:",{"type":23,"tag":65,"props":5307,"children":5308},{},[5309,5314,5319,5324],{"type":23,"tag":69,"props":5310,"children":5311},{},[5312],{"type":28,"value":5313},"Client material under NDA.",{"type":23,"tag":69,"props":5315,"children":5316},{},[5317],{"type":28,"value":5318},"Interview subjects who have not consented to cloud processing.",{"type":23,"tag":69,"props":5320,"children":5321},{},[5322],{"type":28,"value":5323},"Internal recordings — meetings, training, security cameras.",{"type":23,"tag":69,"props":5325,"children":5326},{},[5327],{"type":28,"value":5328},"Personal family videos.",{"type":23,"tag":24,"props":5330,"children":5331},{},[5332],{"type":28,"value":5333},"With a cloud-based tool, those clips are simply off-limits. With VideoTagger, they are just another file to drop in.",{"type":23,"tag":1360,"props":5335,"children":5337},{"id":5336},"_2-no-network-no-waiting-on-a-queue",[5338],{"type":28,"value":5339},"2. No Network, No Waiting on a Queue",{"type":23,"tag":24,"props":5341,"children":5342},{},[5343,5345,5350],{"type":28,"value":5344},"On-device processing has a less obvious benefit: ",{"type":23,"tag":31,"props":5346,"children":5347},{},[5348],{"type":28,"value":5349},"predictable throughput",{"type":28,"value":5351},". You are not sharing a GPU pool with thousands of other users, you are not rate-limited, and you are not affected by an outage on a vendor's status page.",{"type":23,"tag":24,"props":5353,"children":5354},{},[5355],{"type":28,"value":5356},"If your machine is fast, your indexing is fast. If you start a 200-clip batch overnight, it will be done in the morning — no surprises.",{"type":23,"tag":1360,"props":5358,"children":5360},{"id":5359},"_3-the-cost-stops-at-the-license",[5361],{"type":28,"value":5362},"3. The Cost Stops at the License",{"type":23,"tag":24,"props":5364,"children":5365},{},[5366,5368,5373],{"type":28,"value":5367},"Cloud AI services charge per minute of video, per API call, or per active user. Those costs scale with your archive — exactly the wrong direction, since the value of an index ",{"type":23,"tag":166,"props":5369,"children":5370},{},[5371],{"type":28,"value":5372},"also",{"type":28,"value":5374}," scales with your archive.",{"type":23,"tag":24,"props":5376,"children":5377},{},[5378],{"type":28,"value":5379},"VideoTagger has no per-minute fee. Whether you index a hundred clips or ten thousand, the cost is the same.",{"type":23,"tag":44,"props":5381,"children":5383},{"id":5382},"what-we-give-up-and-why-it-is-worth-it",[5384],{"type":28,"value":5385},"What We Give Up — And Why It Is Worth It",{"type":23,"tag":24,"props":5387,"children":5388},{},[5389],{"type":28,"value":5390},"Running locally is not free. We made some real trade-offs:",{"type":23,"tag":65,"props":5392,"children":5393},{},[5394,5404,5414],{"type":23,"tag":69,"props":5395,"children":5396},{},[5397,5402],{"type":23,"tag":31,"props":5398,"children":5399},{},[5400],{"type":28,"value":5401},"The app is larger.",{"type":28,"value":5403}," Models ship with the install rather than living on a server.",{"type":23,"tag":69,"props":5405,"children":5406},{},[5407,5412],{"type":23,"tag":31,"props":5408,"children":5409},{},[5410],{"type":28,"value":5411},"First-time setup uses some disk and memory.",{"type":28,"value":5413}," Modern laptops handle it fine, but it is not zero.",{"type":23,"tag":69,"props":5415,"children":5416},{},[5417,5422],{"type":23,"tag":31,"props":5418,"children":5419},{},[5420],{"type":28,"value":5421},"We cannot push instant model upgrades.",{"type":28,"value":5423}," New capabilities arrive through app updates, not silently overnight.",{"type":23,"tag":24,"props":5425,"children":5426},{},[5427],{"type":28,"value":5428},"In exchange, your footage stays yours, your workflow stays usable offline, and your costs stay flat. For the kind of work most of our users do, that is the right trade.",{"type":23,"tag":44,"props":5430,"children":5432},{"id":5431},"a-quick-note-on-telemetry",[5433],{"type":28,"value":5434},"A Quick Note on Telemetry",{"type":23,"tag":24,"props":5436,"children":5437},{},[5438,5440,5446],{"type":28,"value":5439},"\"On-device AI\" only matters if the rest of the app respects the same boundary. VideoTagger sends a minimal set of diagnostic events (crashes, basic usage signals) and nothing else — no frames, no filenames, no tags. You can opt out entirely in settings. The full list is in our ",{"type":23,"tag":599,"props":5441,"children":5443},{"href":5442},"/privacy",[5444],{"type":28,"value":5445},"privacy policy",{"type":28,"value":63},{"type":23,"tag":44,"props":5448,"children":5450},{"id":5449},"the-bottom-line",[5451],{"type":28,"value":5452},"The Bottom Line",{"type":23,"tag":24,"props":5454,"children":5455},{},[5456],{"type":28,"value":5457},"If you have ever held back from using an AI video tool because the upload step felt wrong, VideoTagger is built for that exact hesitation. The intelligence comes to your footage, not the other way around.",{"type":23,"tag":24,"props":5459,"children":5460},{},[5461],{"type":28,"value":5462},"Try it with your most sensitive material first. That is the test that matters.",{"title":8,"searchDepth":1066,"depth":1066,"links":5464},[5465,5466,5471,5472,5473],{"id":5165,"depth":1066,"text":5168},{"id":5291,"depth":1066,"text":5294,"children":5467},[5468,5469,5470],{"id":5297,"depth":1745,"text":5300},{"id":5336,"depth":1745,"text":5339},{"id":5359,"depth":1745,"text":5362},{"id":5382,"depth":1066,"text":5385},{"id":5431,"depth":1066,"text":5434},{"id":5449,"depth":1066,"text":5452},"content:articles:en:on-device-ai.md","articles/en/on-device-ai.md","articles/en/on-device-ai",{"_path":5478,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":5479,"description":5480,"slug":5481,"date":5482,"category":13,"tags":5483,"body":5486,"_type":1083,"_id":5914,"_source":1085,"_file":5915,"_stem":5916,"_extension":1088},"/articles/en/introducing-videotagger","Manage Your Videos Effectively — Introducing VideoTagger","Folders and filenames stop working once your video library grows. VideoTagger indexes the moments inside your videos so you can find, collect, and reuse them in seconds.","introducing-videotagger","2026-05-02",[5484,1764,5485],"introduction","ai-tagging",{"type":20,"children":5487,"toc":5906},[5488,5493,5499,5504,5529,5534,5540,5549,5554,5575,5580,5586,5591,5630,5635,5668,5674,5686,5810,5828,5834,5839,5882,5888,5901],{"type":23,"tag":24,"props":5489,"children":5490},{},[5491],{"type":28,"value":5492},"If you have ever spent twenty minutes scrubbing through a one-hour clip looking for a single shot, you already know the problem. As your video library grows, folders and filenames simply stop scaling.",{"type":23,"tag":44,"props":5494,"children":5496},{"id":5495},"the-problem-folders-were-never-designed-for-video",[5497],{"type":28,"value":5498},"The Problem: Folders Were Never Designed for Video",{"type":23,"tag":24,"props":5500,"children":5501},{},[5502],{"type":28,"value":5503},"The way most of us organize video has not really changed since the days of tape archives:",{"type":23,"tag":65,"props":5505,"children":5506},{},[5507,5512,5517],{"type":23,"tag":69,"props":5508,"children":5509},{},[5510],{"type":28,"value":5511},"Files live in nested folders by date, project, or camera.",{"type":23,"tag":69,"props":5513,"children":5514},{},[5515],{"type":28,"value":5516},"Filenames carry whatever metadata we manage to type in.",{"type":23,"tag":69,"props":5518,"children":5519},{},[5520,5522,5527],{"type":28,"value":5521},"Anything ",{"type":23,"tag":166,"props":5523,"children":5524},{},[5525],{"type":28,"value":5526},"inside",{"type":28,"value":5528}," the file — the actual moments — is invisible to the file system.",{"type":23,"tag":24,"props":5530,"children":5531},{},[5532],{"type":28,"value":5533},"This works fine for ten clips. It breaks down at a thousand. You remember a scene exists, but you cannot remember which file it is in, let alone where in the timeline. The footage is there, but it is unreachable.",{"type":23,"tag":44,"props":5535,"children":5537},{"id":5536},"the-resolution-index-the-moments-not-the-files",[5538],{"type":28,"value":5539},"The Resolution: Index the Moments, Not the Files",{"type":23,"tag":24,"props":5541,"children":5542},{},[5543,5547],{"type":23,"tag":31,"props":5544,"children":5545},{},[5546],{"type":28,"value":5208},{"type":28,"value":5548}," takes a different approach. Instead of treating a video as a single opaque file, it uses on-device AI to recognize what is happening inside — people, objects, scenes, actions — and indexes each moment as a searchable, taggable unit.",{"type":23,"tag":24,"props":5550,"children":5551},{},[5552],{"type":28,"value":5553},"The mental shift is simple but important:",{"type":23,"tag":1449,"props":5555,"children":5556},{},[5557],{"type":23,"tag":24,"props":5558,"children":5559},{},[5560,5562,5567,5569,5574],{"type":28,"value":5561},"You stop managing ",{"type":23,"tag":31,"props":5563,"children":5564},{},[5565],{"type":28,"value":5566},"files",{"type":28,"value":5568},". You start managing ",{"type":23,"tag":31,"props":5570,"children":5571},{},[5572],{"type":28,"value":5573},"moments",{"type":28,"value":63},{"type":23,"tag":24,"props":5576,"children":5577},{},[5578],{"type":28,"value":5579},"A 90-minute interview is no longer one row in a folder — it is dozens of tagged moments you can pull up individually.",{"type":23,"tag":44,"props":5581,"children":5583},{"id":5582},"how-you-are-meant-to-use-it",[5584],{"type":28,"value":5585},"How You Are Meant to Use It",{"type":23,"tag":24,"props":5587,"children":5588},{},[5589],{"type":28,"value":5590},"The intended workflow has three movements:",{"type":23,"tag":3589,"props":5592,"children":5593},{},[5594,5604,5620],{"type":23,"tag":69,"props":5595,"children":5596},{},[5597,5602],{"type":23,"tag":31,"props":5598,"children":5599},{},[5600],{"type":28,"value":5601},"Recognize",{"type":28,"value":5603}," — Drop your videos into VideoTagger. The AI runs locally and tags moments automatically. Your footage never leaves your machine.",{"type":23,"tag":69,"props":5605,"children":5606},{},[5607,5612,5614,5618],{"type":23,"tag":31,"props":5608,"children":5609},{},[5610],{"type":28,"value":5611},"Arrange",{"type":28,"value":5613}," — Browse, group, and add your own tags on top of the AI's. Build the vocabulary that matches ",{"type":23,"tag":166,"props":5615,"children":5616},{},[5617],{"type":28,"value":5090},{"type":28,"value":5619}," projects.",{"type":23,"tag":69,"props":5621,"children":5622},{},[5623,5628],{"type":23,"tag":31,"props":5624,"children":5625},{},[5626],{"type":28,"value":5627},"Find and reuse",{"type":28,"value":5629}," — Search by tag, person, scene, or any combination. The matching moments come back instantly.",{"type":23,"tag":24,"props":5631,"children":5632},{},[5633],{"type":28,"value":5634},"Once you have the moments you want, VideoTagger lets you:",{"type":23,"tag":65,"props":5636,"children":5637},{},[5638,5648,5658],{"type":23,"tag":69,"props":5639,"children":5640},{},[5641,5646],{"type":23,"tag":31,"props":5642,"children":5643},{},[5644],{"type":28,"value":5645},"Export selected moments as a new video segment",{"type":28,"value":5647}," — great for highlight reels, B-roll packs, or quick deliverables.",{"type":23,"tag":69,"props":5649,"children":5650},{},[5651,5656],{"type":23,"tag":31,"props":5652,"children":5653},{},[5654],{"type":28,"value":5655},"Replay them in sequence",{"type":28,"value":5657}," — review takes or scout footage without scrubbing.",{"type":23,"tag":69,"props":5659,"children":5660},{},[5661,5666],{"type":23,"tag":31,"props":5662,"children":5663},{},[5664],{"type":28,"value":5665},"Send them to your timeline",{"type":28,"value":5667}," — drop the curated clips into your editor of choice and start cutting.",{"type":23,"tag":44,"props":5669,"children":5671},{"id":5670},"fitting-it-into-your-existing-workflow",[5672],{"type":28,"value":5673},"Fitting It Into Your Existing Workflow",{"type":23,"tag":24,"props":5675,"children":5676},{},[5677,5679,5684],{"type":28,"value":5678},"VideoTagger is designed to slot in ",{"type":23,"tag":166,"props":5680,"children":5681},{},[5682],{"type":28,"value":5683},"before",{"type":28,"value":5685}," your editor, not replace it.",{"type":23,"tag":265,"props":5687,"children":5688},{},[5689,5710],{"type":23,"tag":269,"props":5690,"children":5691},{},[5692],{"type":23,"tag":273,"props":5693,"children":5694},{},[5695,5700,5705],{"type":23,"tag":277,"props":5696,"children":5697},{},[5698],{"type":28,"value":5699},"Stage",{"type":23,"tag":277,"props":5701,"children":5702},{},[5703],{"type":28,"value":5704},"Today",{"type":23,"tag":277,"props":5706,"children":5707},{},[5708],{"type":28,"value":5709},"With VideoTagger",{"type":23,"tag":288,"props":5711,"children":5712},{},[5713,5730,5753,5771,5788],{"type":23,"tag":273,"props":5714,"children":5715},{},[5716,5720,5725],{"type":23,"tag":295,"props":5717,"children":5718},{},[5719],{"type":28,"value":3557},{"type":23,"tag":295,"props":5721,"children":5722},{},[5723],{"type":28,"value":5724},"Camera → SD card",{"type":23,"tag":295,"props":5726,"children":5727},{},[5728],{"type":28,"value":5729},"Same",{"type":23,"tag":273,"props":5731,"children":5732},{},[5733,5738,5743],{"type":23,"tag":295,"props":5734,"children":5735},{},[5736],{"type":28,"value":5737},"Ingest",{"type":23,"tag":295,"props":5739,"children":5740},{},[5741],{"type":28,"value":5742},"Copy to folders",{"type":23,"tag":295,"props":5744,"children":5745},{},[5746,5748],{"type":28,"value":5747},"Copy to folders ",{"type":23,"tag":31,"props":5749,"children":5750},{},[5751],{"type":28,"value":5752},"+ index in VideoTagger",{"type":23,"tag":273,"props":5754,"children":5755},{},[5756,5761,5766],{"type":23,"tag":295,"props":5757,"children":5758},{},[5759],{"type":28,"value":5760},"Find footage",{"type":23,"tag":295,"props":5762,"children":5763},{},[5764],{"type":28,"value":5765},"Manual scrubbing",{"type":23,"tag":295,"props":5767,"children":5768},{},[5769],{"type":28,"value":5770},"Tag-based search",{"type":23,"tag":273,"props":5772,"children":5773},{},[5774,5778,5783],{"type":23,"tag":295,"props":5775,"children":5776},{},[5777],{"type":28,"value":3459},{"type":23,"tag":295,"props":5779,"children":5780},{},[5781],{"type":28,"value":5782},"Premiere / DaVinci / Final Cut",{"type":23,"tag":295,"props":5784,"children":5785},{},[5786],{"type":28,"value":5787},"Same — receive curated clips from VideoTagger",{"type":23,"tag":273,"props":5789,"children":5790},{},[5791,5795,5800],{"type":23,"tag":295,"props":5792,"children":5793},{},[5794],{"type":28,"value":3687},{"type":23,"tag":295,"props":5796,"children":5797},{},[5798],{"type":28,"value":5799},"Folders by year",{"type":23,"tag":295,"props":5801,"children":5802},{},[5803,5805],{"type":28,"value":5804},"Folders ",{"type":23,"tag":31,"props":5806,"children":5807},{},[5808],{"type":28,"value":5809},"+ persistent moment index",{"type":23,"tag":24,"props":5811,"children":5812},{},[5813,5815,5820,5822,5827],{"type":28,"value":5814},"You keep your existing folder structure. You keep your existing editor. VideoTagger sits in the middle and turns your archive from a ",{"type":23,"tag":166,"props":5816,"children":5817},{},[5818],{"type":28,"value":5819},"storage problem",{"type":28,"value":5821}," into a ",{"type":23,"tag":166,"props":5823,"children":5824},{},[5825],{"type":28,"value":5826},"searchable library",{"type":28,"value":63},{"type":23,"tag":44,"props":5829,"children":5831},{"id":5830},"who-it-is-for",[5832],{"type":28,"value":5833},"Who It Is For",{"type":23,"tag":24,"props":5835,"children":5836},{},[5837],{"type":28,"value":5838},"If any of these describe your work, VideoTagger was built with you in mind:",{"type":23,"tag":65,"props":5840,"children":5841},{},[5842,5852,5862,5872],{"type":23,"tag":69,"props":5843,"children":5844},{},[5845,5850],{"type":23,"tag":31,"props":5846,"children":5847},{},[5848],{"type":28,"value":5849},"Video producers and editors",{"type":28,"value":5851}," who deal with hours of raw footage per project.",{"type":23,"tag":69,"props":5853,"children":5854},{},[5855,5860],{"type":23,"tag":31,"props":5856,"children":5857},{},[5858],{"type":28,"value":5859},"Content creators",{"type":28,"value":5861}," with a growing back-catalog they want to mine for shorts and clips.",{"type":23,"tag":69,"props":5863,"children":5864},{},[5865,5870],{"type":23,"tag":31,"props":5866,"children":5867},{},[5868],{"type":28,"value":5869},"Researchers, educators, and analysts",{"type":28,"value":5871}," working with interview or observation footage.",{"type":23,"tag":69,"props":5873,"children":5874},{},[5875,5880],{"type":23,"tag":31,"props":5876,"children":5877},{},[5878],{"type":28,"value":5879},"Families and individuals",{"type":28,"value":5881}," with years of home video they would actually like to watch again.",{"type":23,"tag":44,"props":5883,"children":5885},{"id":5884},"try-it",[5886],{"type":28,"value":5887},"Try It",{"type":23,"tag":24,"props":5889,"children":5890},{},[5891,5893,5899],{"type":28,"value":5892},"VideoTagger runs on Windows and macOS, with all AI processing on-device. There is a 30-day free trial — head to the ",{"type":23,"tag":599,"props":5894,"children":5896},{"href":5895},"/download",[5897],{"type":28,"value":5898},"download page",{"type":28,"value":5900}," to get started.",{"type":23,"tag":24,"props":5902,"children":5903},{},[5904],{"type":28,"value":5905},"We will be using this blog to share workflow tips, feature deep-dives, and examples from real users. If there is something specific you want us to cover, let us know.",{"title":8,"searchDepth":1066,"depth":1066,"links":5907},[5908,5909,5910,5911,5912,5913],{"id":5495,"depth":1066,"text":5498},{"id":5536,"depth":1066,"text":5539},{"id":5582,"depth":1066,"text":5585},{"id":5670,"depth":1066,"text":5673},{"id":5830,"depth":1066,"text":5833},{"id":5884,"depth":1066,"text":5887},"content:articles:en:introducing-videotagger.md","articles/en/introducing-videotagger.md","articles/en/introducing-videotagger",1779253361294]