Repolode
leandromoreira

leandromoreira/digital_video_introduction

Практическое и понятное новичкам введение в цифровое видео: цвет, типы кадров, кодеки H.264, H.265, VP9 и AV1, стриминг и примеры с FFmpeg.

Звёзды
16,380
Форки
1,381
Открытые issues
19
Последний коммит
позавчера

Что это?

Это доступное практическое руководство о том, как работает цифровое видео. Оно рассчитано на разработчиков, но написано так, чтобы в нём мог разобраться каждый. Здесь разбираются базовые термины: пиксели, разрешение, соотношение сторон и битрейт, а затем объясняется, как сжатие видео использует избыточность цвета, времени и пространства.

В руководстве рассматриваются субдискретизация цветности, I-, P- и B-кадры, оценка движения, внутрикадровое предсказание, преобразования, квантование и энтропийное кодирование. На примере показано, как устроен условный кодек и чем отличаются H.264, H.265, VP9 и AV1. В отдельном разделе рассказывается об онлайн-стриминге, в том числе о прогрессивной загрузке, адаптивном стриминге и защите контента.

Во многих разделах есть примеры, которые можно запустить. В них используются команды FFmpeg и mediainfo в контейнерах, а также Jupyter-ноутбуки для визуализации массивов изображений, коэффициентов DCT и векторов движения. Проект переведён на несколько языков.

Ключевые возможности

  • 01Объясняет основные понятия: цветовые модели, YCbCr, субдискретизация цветности и битрейт.
  • 02Описывает типы кадров I, P и B и то, как межкадровое и внутрикадровое предсказание устраняют избыточность.
  • 03Разбирает основные этапы работы условного кодека — от разбиения на блоки до формата битового потока.
  • 04Сравнивает H.264, H.265, VP9 и AV1 и рассказывает об истории их появления.
  • 05Содержит практические примеры с FFmpeg и Jupyter для изучения видеофайлов.

Сценарии использования

  • Введение в работу для инженеров, занимающихся видеоплеерами, стримингом или медиапайплайнами.
  • Изучение влияния настроек кодека, таких как интервал между ключевыми кадрами и B-кадры, на размер файла.
  • Проведение практикума или курса по основам сжатия видео.

Быстрый старт

  1. 1

    Клонируйте репозиторий

    git clone https://github.com/leandromoreira/digital_video_introduction.git
  2. 2

    Перейдите в папку проекта

    cd digital_video_introduction
  3. 3

    Запустите скрипт настройки (требуется Docker)

    ./setup.sh

Что важно знать

  • Для практических разделов необходимо установить Docker.
  • Это руководство по обучению, а не библиотека программного обеспечения или инструмент.

В подборках

Темы

Частые вопросы

Что такое digital_video_introduction?
Практическое и понятное новичкам введение в цифровое видео: цвет, типы кадров, кодеки H.264, H.265, VP9 и AV1, стриминг и примеры с FFmpeg. Это доступное практическое руководство о том, как работает цифровое видео. Оно рассчитано на разработчиков, но написано так, чтобы в нём мог разобраться каждый. Здесь разбираются базовые термины: пиксели, разрешение, соотношение сторон и битрейт, а затем объясняется, как сжатие видео использует избыточность цвета, времени и пространства.
digital_video_introduction можно использовать бесплатно? Какая у него лицензия?
digital_video_introduction распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
digital_video_introduction всё ещё поддерживается?
Активно поддерживается. Последний коммит в digital_video_introduction — 5 нояб. 2026 г..
Для чего можно использовать digital_video_introduction?
Введение в работу для инженеров, занимающихся видеоплеерами, стримингом или медиапайплайнами. Изучение влияния настроек кодека, таких как интервал между ключевыми кадрами и B-кадры, на размер файла. Проведение практикума или курса по основам сжатия видео.
Как установить digital_video_introduction?
Клонируйте репозиторий: git clone https://github.com/leandromoreira/digital_video_introduction.git Перейдите в папку проекта: cd digital_video_introduction Запустите скрипт настройки (требуется Docker): ./setup.sh
Где скачать digital_video_introduction?
Исходный код и инструкции по установке — на GitHub: https://github.com/leandromoreira/digital_video_introduction

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Набор библиотек на C и инструментов командной строки для декодирования, кодирования, конвертации, фильтрации и потоковой передачи аудио, видео и субтитров.

66,6 тыс.+545 за неделю14,5 тыс.COtherОбновлён 9 часов назад

Транскодер видео с открытым исходным кодом для Linux, Mac и Windows: преобразует видео в MP4, MKV или WebM для телефонов, телевизоров, консолей и браузеров.

24,9 тыс.+74 за неделю1,7 тыс.COtherАктивно поддерживаетсяОбновлён вчера

Кроссплатформенный GUI для FFmpeg, позволяющий без перекодирования вырезать и обрезать видео- и аудиофайлы, а также выполнять их ремультиплексирование.

45,8 тыс.+288 за неделю2,3 тыс.TypeScriptGPL-2.0Активно поддерживаетсяОбновлён 4 дня назад

Открытое ПО для Linux-видеонаблюдения: захватывает, анализирует и записывает видео с IP-, USB- и аналоговых камер, а также позволяет следить за ними.

Безопасность#cctv#video-surveillance#security-camera
6 тыс.+10 за неделю1,3 тыс.PHPGPL-2.0Обновлён вчера

Brotli — универсальный формат сжатия без потерь и эталонная библиотека, описанные в RFC 7932; коэффициент сжатия сопоставим с лучшими универсальными методами.

Другое#compression#lossless-compression#codec
15,1 тыс.+22 за неделю1,4 тыс.TypeScriptMITАктивно поддерживаетсяОбновлён 7 часов назад