Словник

Що таке частота кадрів?

Частота кадрів - це кількість кадрів, які відео показує щосекунди, у одиницях fps. Звіт метаданих може показувати її як дріб, наприклад 25/1.

frame-rate

Частота кадрів - це кількість нерухомих зображень, так званих кадрів, які відео показує щосекунди. Одиниця вимірювання - кадри на секунду, скорочено fps. У технічних стандартах її також називають частотою кадрів.

У відеофайлі частота кадрів - це значення метаданих, яке описує відеопотік. За 25 fps кожен кадр залишається на екрані 1/25 секунди, тобто 40 мілісекунд.

Які файли містять його

Відеоформати, такі як MP4, MOV, MKV, WebM, AVI, WMV і FLV, можуть містити частоту кадрів. Кожен формат зберігає це значення по-своєму:

  • MP4 і MOV: таблиця time-to-sample перелічує послідовності кадрів з однаковою тривалістю. ExifTool обчислює VideoFrameRate як середнє значення з цієї таблиці. Деякі файли MP4 також містять середню та максимальну частоти у тегах, таких як VideoAvgFrameRate і VideoMaxFrameRate.
  • MKV: поле DefaultDuration задає час на кадр у наносекундах. Поле FrameRate має лише інформаційний характер.
  • WebM: цей формат є підмножиною Matroska і також може використовувати DefaultDuration. У рекомендаціях WebM поле FrameRate позначене як застаріле.
  • AVI: частота кадрів дорівнює значенню частоти в заголовку потоку, поділеному на його масштаб.
  • WMV і FLV: метадані можуть містити тег частоти кадрів.

Аудіопотік не має такої частоти кадрів. У FFmpeg утиліта ffprobe показує для нього 0/0.

Як виглядають значення

У звіті частота кадрів може відображатися як десяткове число, наприклад 29.97, або як дріб, наприклад 25/1. Дріб 25/1 означає 25 кадрів за 1 секунду. Дріб залишається точним, коли частота не є цілим числом.

Типові значення:

  • 24/1: 24 fps, типова частота для кіноплівки
  • 24000/1001: приблизно 23,976 fps, що FFmpeg позначає як ntsc-film
  • 25/1: 25 fps, що FFmpeg позначає як pal
  • 30000/1001: приблизно 29,97 fps, що FFmpeg позначає як ntsc
  • 50 і 60: поширені частоти для відео, яке завантажують, за даними YouTube
  • 120: верхня межа, а не типове значення. Це найвища частота в стандарті ITU для телебачення надвисокої чіткості.

Постійна та змінна частота кадрів

За сталої частоти кадрів кожен кадр триває однаковий час. За змінної частоти кадрів час між кадрами змінюється протягом відео.

У FFmpeg утиліта ffprobe показує 2 поля: avg_frame_rate - це середня частота, а r_frame_rate - базова частота. Базова частота є найнижчою частотою, яка може точно відобразити всі часові мітки, і в документації FFmpeg її називають наближеним значенням.

Наприклад, якщо кадри тривають або 1/25, або 1/50 секунди, значення r_frame_rate дорівнює 50/1. Середнє значення менше, тому ці 2 поля відрізняються. Часові мітки відлічуються в одиницях часової бази.

Звідки походить значення

Записане відео отримує частоту кадрів під час запису. Кодувальник може змінити її пізніше, наприклад, вилучивши кадри, щоб зменшити розмір відео.

Чересстрочне відео може показувати інше число. Для такого відео фреймворк AVFoundation від Apple повідомляє частоту рядків, а не частоту кадрів.

Чому це важливо

Частота кадрів головним чином впливає на плавність руху. Вища частота дає плавніший рух, але користь зменшується зі зростанням частоти. При нижче ніж приблизно 12 кадрів на секунду ви бачите послідовність окремих зображень, а не рух.

Починаючи з 24 fps рух загалом виглядає плавно, а 30 або 60 fps є хорошою ціллю. Вища частота також збільшує розмір стиснутого файлу, якщо тільки кодувальник не зменшує частоту. Тому 60 fps можуть виглядати плавніше, ніж 30 fps, але файл стає більшим.

YouTube просить завантажувати відео з тією ж частотою кадрів, з якою воно було записане. За сталої частоти добуток частоти на тривалість дає кількість кадрів. Наприклад, 25 fps протягом 4 секунд дають 100 кадрів.

Мета ключі