{"id":2920,"date":"2026-08-08T01:57:54","date_gmt":"2026-08-07T22:57:54","guid":{"rendered":"https:\/\/picajet.com\/articles\/glossary\/frame-rate-metadata\/"},"modified":"2026-08-08T02:07:08","modified_gmt":"2026-08-07T23:07:08","slug":"frame-rate-metadata","status":"publish","type":"glossary","link":"https:\/\/picajet.com\/articles\/glossary\/frame-rate-metadata\/","title":{"rendered":"Frame rate metadata"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Frame rate metadata is a small numeric field \u2014 23.976, 24, 25, 29.97, 30, 50, 59.94, or 60 frames per second \u2014 but it is load-bearing for almost everything a DAM does with a video file afterward. Duration display, timecode-based search, EDL and XML round-trips with editing software, and proxy generation all read this value and assume it is correct. The frame rate isn&#8217;t always stored where you&#8217;d expect: a QuickTime wrapper can report one nominal rate while the encoded video stream inside actually runs at another, and DAM ingest pipelines that trust container-level metadata rather than probing the stream itself will propagate the wrong number through the entire archive.<\/p><figure class=\"wp-block-table\"><table><thead><tr><th>Frame rate<\/th><th>Origin \/ context<\/th><\/tr><\/thead><tbody><tr><td>24 fps<\/td><td>Mechanical film-camera standard since the late 1920s<\/td><\/tr><tr><td>23.976 fps<\/td><td>Film rate adjusted (24000\/1001) to interoperate with NTSC color broadcast timing<\/td><\/tr><tr><td>25 fps<\/td><td>PAL-region standard, matching the 50 Hz electrical grid<\/td><\/tr><tr><td>29.97 fps<\/td><td>NTSC rate (30\/1.001), adjusted when color was added<\/td><\/tr><tr><td>30 fps<\/td><td>Nominal NTSC rate before the color-era fractional adjustment<\/td><\/tr><\/tbody><\/table><\/figure><p class=\"wp-block-paragraph\">The reason this matters more for video than almost any other metadata field is that frame rate errors compound with time rather than staying fixed. A file mistagged as 24 fps when it was actually shot at 23.976 fps doesn&#8217;t just show a marginally wrong duration \u2014 the error grows proportionally to clip length, which is exactly the kind of drift that shows up as audio sync problems only after a multi-hour conform, long after the mistake was made at ingest.<\/p><p class=\"wp-block-paragraph\">Broadcast-legacy frame rates exist because of hardware constraints that have long since disappeared but whose numbers persist. Film cameras have run at a mechanical 24 fps since the late 1920s. NTSC television reduced 30 fps to 29.97 fps (30\/1.001) when color was added in the 1950s, because the new chrominance subcarrier needed to be shifted slightly to avoid interfering with the audio carrier in the same broadcast channel \u2014 and 23.976 fps exists for the same reason, as film content adjusted to interoperate with NTSC color broadcast timing. PAL regions standardized on 25 fps because it divides evenly into the 50 Hz electrical grid frequency used across Europe, Asia, and Australia. None of this history is visible in a DAM&#8217;s frame rate field, but the fractional values it produces (23.976, 29.97, 59.94) are the reason frame rate can&#8217;t be treated as an integer users can safely round.<\/p>","protected":false},"excerpt":{"rendered":"<p>Frame rate metadata is the frames-per-second value (23.976, 24, 25, 29.97, 30, etc.) recorded in a video file&#8217;s headers, used to calculate duration, timecode, and playback speed.<\/p>\n","protected":false},"author":0,"featured_media":0,"template":"","meta":{"footnotes":"","faq":[{"question":"Why does a file sometimes show a different frame rate in different tools?","answer":"Container-level metadata (e.g. the QuickTime movie header) and the actual encoded video stream can disagree, especially after a transcode that didn't rewrite both. Tools that read only the wrapper report the wrapper's value; tools that probe the stream report what was actually encoded. Use a stream-level probe like MediaInfo or ffprobe when the two disagree."},{"question":"Is 23.976 fps the same as 24 fps?","answer":"No. 23.976 fps (24000\/1001) is roughly 0.1% slower than the exact 24 fps of native film. They are close enough to look identical in casual playback but different enough to cause audio drift over a long timeline if one is mistagged as the other."},{"question":"Why do frame rate mismatches matter for search and filtering in a DAM?","answer":"Frame rate is a common filter facet for editors and broadcast QC teams pulling assets by delivery spec (e.g. \"all 29.97 fps footage for this NTSC broadcast\"). An asset tagged with the wrong frame rate simply won't surface in that filtered search, even though the file itself is fine."},{"question":"Can frame rate metadata be corrected after ingest without re-encoding the file?","answer":"Often yes \u2014 frame rate is usually a metadata field in the container that can be corrected with a remuxing tool without touching the encoded video data, as long as the actual pixel data wasn't already conformed to the wrong rate. If the file was actually re-timed (frames added or dropped) to match the wrong rate, that requires re-encoding, not just a metadata fix."},{"question":"Does variable frame rate (VFR) footage cause problems for DAM systems?","answer":"Yes \u2014 VFR footage, common from screen recordings and some phone cameras, doesn't have one fixed frame rate value at all, which breaks tools and DAM fields that expect a single constant. Most professional DAM and editing pipelines convert VFR to constant frame rate (CFR) on ingest specifically to avoid this."},{"question":"Why does PAL use 25 fps instead of NTSC's 29.97 fps?","answer":"PAL-region broadcast standards were built around a 50 Hz electrical grid frequency (used across most of Europe, Asia, and Australia), so 25 fps (half of 50) was a clean match. NTSC regions run on a 60 Hz grid, which is why their broadcast standard is closer to 30 fps before the 1.001 color correction."}],"checked_date":"2026-08-07","sources":[{"statement":"NTSC's frame rate was reduced from 30 fps to 30\/1.001 (\u224829.97 fps) when color was introduced, to prevent the new color subcarrier from interfering with the audio carrier.","source_name":"Wikipedia \u2014 NTSC","url":"https:\/\/en.wikipedia.org\/wiki\/NTSC","checked":"2026-08-07"},{"statement":"23.976 fps is film-rate content adjusted (24000\/1001) to interoperate with NTSC color broadcast timing.","source_name":"TC-Calc \u2014 Understanding Frame Rates","url":"https:\/\/tc-calc.com\/frame-rates","checked":"2026-08-07"},{"statement":"PAL's 25 fps standard aligns with the 50 Hz electrical grid frequency used across most of Europe, Asia, and Australia.","source_name":"Subflow \u2014 Frame Rate Cheat Sheet","url":"https:\/\/subflow.cc\/tools\/frame-rate-cheat-sheet\/","checked":"2026-08-07"}],"kicker":"","fact_checker":0,"reading_time":0,"revisions":[],"seo_title":"","seo_description":"","noindex":false,"related":[2923,2489,2538,2925,2474,2924],"definition":"Frame rate metadata is the frames-per-second value (23.976, 24, 25, 29.97, 30, etc.) recorded in a video file's headers, used to calculate duration, timecode, and playback speed.","why":"In a DAM, frame rate metadata drives duration display, timecode math, and how proxies get generated and relinked to originals \u2014 if it's wrong, none of those calculations are wrong by a little, they're wrong by a compounding amount. A library that tags a 23.976 fps master as 24 fps will show a slightly incorrect duration for every clip and will misalign any embedded timecode reference used for search or EDL export. Because frame rate is also a common DAM search facet (editors filtering for \"all 29.97 fps interview footage\" before a broadcast conform), an incorrect value silently removes assets from the results a user actually needs.","example_rows":[{"field":"Camera-recorded rate","values":"23.976 fps (sensor readout at 24000\/1001 frames\/sec)"},{"field":"Mis-tagged container value","values":"24.000 fps (rounded during a careless transcode or ingest default)"},{"field":"Resulting drift","values":"The mismatch accumulates roughly one frame every 41 seconds between the tagged rate and actual playback"},{"field":"DAM fix","values":"Re-probe the stream (not the container wrapper) with a tool like MediaInfo or ffprobe and correct the metadata field before indexing"}],"mistake":"A common mistake is trusting the container-level or filename-suggested frame rate instead of probing the actual video stream \u2014 ingest pipelines that default unlabeled files to a house standard (e.g. 25 fps for a PAL-region installation) silently mistag any NTSC-origin footage, and the error isn't caught until a broadcast QC pass or a multicam sync fails.","deep_link":""},"silo":[24],"class_list":["post-2920","glossary","type-glossary","status-publish","hentry","silo-glossary"],"_links":{"self":[{"href":"https:\/\/picajet.com\/articles\/wp-json\/wp\/v2\/glossary\/2920","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/picajet.com\/articles\/wp-json\/wp\/v2\/glossary"}],"about":[{"href":"https:\/\/picajet.com\/articles\/wp-json\/wp\/v2\/types\/glossary"}],"version-history":[{"count":1,"href":"https:\/\/picajet.com\/articles\/wp-json\/wp\/v2\/glossary\/2920\/revisions"}],"predecessor-version":[{"id":3373,"href":"https:\/\/picajet.com\/articles\/wp-json\/wp\/v2\/glossary\/2920\/revisions\/3373"}],"wp:attachment":[{"href":"https:\/\/picajet.com\/articles\/wp-json\/wp\/v2\/media?parent=2920"}],"wp:term":[{"taxonomy":"silo","embeddable":true,"href":"https:\/\/picajet.com\/articles\/wp-json\/wp\/v2\/silo?post=2920"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}