Открыть сервис

Mercury Playback Engine

Mercury Playback Engine (также известный как Adobe Mercury Playback Engine) — это программно-аппаратный движок рендеринга и воспроизведения видео, разработанный компанией Adobe Inc. (организация признана иностранным агентом в РФ) и впервые представленный в 2010 году в составе пакета Adobe Creative Suite 5 (CS5). Движок предназначен для ускорения обработки видеоматериалов в программах Adobe Premiere Pro, Adobe After Effects, Adobe Media Encoder и других продуктах линейки Adobe Video. Основная функция Mercury Playback Engine — обеспечение плавного воспроизведения, редактирования и экспорта видео в реальном времени без необходимости предварительного рендеринга, что достигается за счёт использования вычислительных мощностей центрального процессора (CPU) и графического процессора (GPU).

История

Разработка Mercury Playback Engine началась в середине 2000-х годов как ответ на растущие требования к производительности при работе с видео высокого разрешения (HD, 2K, 4K). До появления этого движка пользователи Adobe Premiere Pro сталкивались с необходимостью длительного предварительного рендеринга для воспроизведения сложных проектов, что замедляло рабочий процесс.

Версия Mercury Playback Engine была впервые представлена 12 апреля 2010 года вместе с выпуском Adobe Creative Suite 5. На момент запуска движок поддерживал только 64-разрядные операционные системы Windows и macOS, что позволяло использовать более 4 ГБ оперативной памяти, недоступной для 32-разрядных приложений. Первоначально Mercury Playback Engine работал исключительно на CPU, но уже в 2011 году с выходом Adobe Creative Suite 5.5 была добавлена поддержка GPU-ускорения через технологии CUDA (NVIDIA) и OpenCL (AMD и Intel).

В последующих версиях Adobe Premiere Pro и After Effects Mercury Playback Engine постоянно совершенствовался. В 2013 году с выходом Creative Cloud движок получил поддержку аппаратного декодирования и кодирования видео H.264 и H.265 (HEVC) с использованием встроенных в GPU блоков (NVENC/NVDEC у NVIDIA, VCE/VCN у AMD, Quick Sync у Intel). В 2017 году была добавлена поддержка технологии Metal от Apple для macOS, что повысило производительность на устройствах с процессорами Apple Silicon. В 2020 году Mercury Playback Engine начал использовать машинное обучение для оптимизации обработки эффектов, а в 2023 году — для автоматического выбора оптимального профиля рендеринга в зависимости от типа проекта.

Архитектура и принцип работы

Mercury Playback Engine представляет собой многопоточный движок, который распределяет задачи между ядрами CPU и ядрами GPU. Архитектура включает несколько ключевых компонентов:

Планировщик задач (Task Scheduler)

Планировщик анализирует текущий кадр видео, определяет последовательность операций (декодирование, цветокоррекция, наложение эффектов, композитинг, кодирование) и распределяет их между доступными вычислительными ресурсами. Приоритет отдаётся задачам, которые могут быть выполнены параллельно, например, обработка разных частей одного кадра или нескольких кадров одновременно.

Декодировщик и кодировщик

Mercury Playback Engine использует аппаратные декодеры и кодеры, встроенные в GPU, для работы с популярными кодеками (H.264, H.265, ProRes, DNxHD, RED RAW). При отсутствии аппаратной поддержки движок переключается на программное декодирование через CPU. В версии 2022 года была добавлена поддержка декодирования AV1 на GPU, поддерживающих этот кодек (например, NVIDIA GeForce RTX 40-й серии).

Рендеринг эффектов

Большинство видеоэффектов (размытие, цветокоррекция, наложение текста, стабилизация) обрабатываются на GPU, что позволяет добиться производительности в десятки раз выше по сравнению с CPU-рендерингом. Для эффектов, не поддерживающих GPU-ускорение (например, некоторых сторонних плагинов), используется CPU.

Управление памятью

Движок использует собственную систему управления памятью, которая кэширует обработанные кадры в оперативной памяти и на диске (кэш-файлы). Это позволяет при повторном воспроизведении того же участка временной шкалы не пересчитывать эффекты заново. Размер кэша настраивается пользователем в параметрах программы.

Режимы работы

Mercury Playback Engine может работать в двух основных режимах, которые выбираются в настройках Adobe Premiere Pro или After Effects:

Режим Mercury Playback Engine (CPU)

Используется только центральный процессор для всех вычислений. Этот режим рекомендуется для систем без дискретного GPU или с устаревшими видеокартами, не поддерживающими CUDA, OpenCL или Metal. Производительность в этом режиме ограничена тактовой частотой и количеством ядер CPU.

Режим Mercury Playback Engine (GPU Accelerated)

Включает ускорение через графический процессор. Поддерживаются технологии:

  • CUDA (NVIDIA) — используется на видеокартах NVIDIA GeForce, Quadro и RTX. Обеспечивает наилучшую производительность в большинстве сценариев.
  • OpenCL (AMD, Intel) — применяется на видеокартах AMD Radeon и встроенной графике Intel.
  • Metal (Apple) — используется на устройствах macOS, включая компьютеры с процессорами Apple Silicon (M1, M2, M3 и их модификации).

В этом режиме движок автоматически определяет, какие задачи можно выполнить на GPU, а какие — на CPU. При недостатке видеопамяти (VRAM) движок может переключить часть задач на CPU, что снижает производительность, но предотвращает сбои.

Поддерживаемые форматы и кодеки

Mercury Playback Engine поддерживает широкий спектр видеоформатов и кодеков, включая:

  • Стандартные форматы: MP4, MOV, AVI, MXF, MTS, M2TS.
  • Кодеки: H.264 (AVC), H.265 (HEVC), ProRes (Apple), DNxHD/DNxHR (Avid), CineForm, RED RAW, Blackmagic RAW, ARRIRAW, Sony XAVC, Panasonic AVC-Intra, Canon Cinema RAW Light.
  • Аудиоформаты: WAV, MP3, AAC, FLAC, AIFF.
  • Изображения: JPEG, PNG, TIFF, BMP, OpenEXR, DPX.

Движок поддерживает аппаратное ускорение для декодирования и кодирования H.264 и H.265 на GPU, а также для ProRes на устройствах Apple Silicon. Для RED RAW и Blackmagic RAW используется частичное аппаратное ускорение на GPU.

Применение

Mercury Playback Engine используется в следующих программах Adobe:

  • Adobe Premiere Pro — основной продукт для нелинейного видеомонтажа. Движок обеспечивает воспроизведение многодорожечных проектов с эффектами, переходами и цветокоррекцией в реальном времени.
  • Adobe After Effects — программа для создания анимации, визуальных эффектов и композитинга. Mercury Playback Engine ускоряет предварительный просмотр и рендеринг композиций.
  • Adobe Media Encoder — утилита для пакетного экспорта видео. Движок позволяет использовать GPU-ускорение при кодировании в финальный формат.
  • Adobe Audition — аудиоредактор, в котором Mercury Playback Engine используется для обработки многодорожечных аудиопроектов (с версии 2021 года).

Критика и ограничения

Несмотря на широкое распространение, Mercury Playback Engine имеет ряд недостатков:

  • Зависимость от оборудования: для полноценной работы требуется мощный GPU с достаточным объёмом видеопамяти (рекомендуется от 4 ГБ VRAM для 4K-проектов, от 8 ГБ для 6K/8K). На слабых видеокартах производительность может быть ниже, чем в режиме CPU, из-за накладных расходов на передачу данных между CPU и GPU.
  • Совместимость с кодеками: не все кодеки поддерживают аппаратное ускорение. Например, декодирование AV1 на GPU доступно только на видеокартах NVIDIA GeForce RTX 40-й серии и AMD Radeon RX 7000-й серии. На старых GPU AV1 декодируется программно, что снижает производительность.
  • Проблемы с памятью: при работе с проектами высокой чёткости (8K, 12K) или большим количеством слоёв может возникнуть нехватка видеопамяти, что приводит к снижению производительности или ошибкам. Adobe рекомендует использовать GPU с 8 ГБ VRAM для 4K и 16 ГБ для 8K.
  • Ограничения в многопоточности: хотя движок использует многопоточность, некоторые задачи (например, последовательная обработка кадров в некоторых эффектах) не могут быть распараллелены, что ограничивает прирост производительности на многоядерных CPU.
  • Закрытость технологии: Mercury Playback Engine является проприетарным решением Adobe, что ограничивает возможности сторонних разработчиков по оптимизации своих плагинов под его архитектуру.

Интересные факты

  • Название «Mercury» (Меркурий) было выбрано в честь римского бога торговли, путешествий и скорости, что отражает основную цель движка — ускорение рабочего процесса.
  • Первая версия Mercury Playback Engine поддерживала только 64-разрядные системы, что стало прорывом для индустрии видеомонтажа, где до этого доминировали 32-разрядные приложения с ограничением памяти в 4 ГБ.
  • В 2011 году компания Adobe выпустила обновление, которое позволило Mercury Playback Engine работать на GPU с поддержкой OpenCL, что сделало ускорение доступным для пользователей AMD и Intel.
  • В 2023 году в Mercury Playback Engine была добавлена функция автоматического выбора профиля рендеринга на основе анализа содержимого проекта: для простых проектов (например, монтаж интервью) используется более быстрый профиль, для сложных (многослойный композитинг) — более точный.
  • Движок используется не только в настольных версиях Adobe Premiere Pro, но и в облачных сервисах Adobe, таких как Adobe Premiere Rush и Adobe Express, где он работает на серверах с GPU NVIDIA Tesla.

Источники

  • Adobe Inc. «Adobe Mercury Playback Engine: Technical Overview». Adobe Developer Documentation, 2023.
  • Adobe Inc. «System requirements for Adobe Premiere Pro». Adobe Help Center, 2024.
  • Adobe Inc. «GPU acceleration in Adobe Premiere Pro and After Effects». Adobe Support, 2023.
  • Adobe Inc. «Mercury Playback Engine: Performance and Optimization Guide». Adobe Creative Cloud, 2022.
  • Adobe Inc. «What’s new in Adobe Premiere Pro 2023». Adobe Blog, 2023.
  • Adobe Inc. «Mercury Playback Engine: History and Evolution». Adobe Video Blog, 2021.
  • NVIDIA Corporation. «CUDA-accelerated Adobe Mercury Playback Engine». NVIDIA Developer Zone, 2022.
  • AMD Inc. «OpenCL support in Adobe Mercury Playback Engine». AMD Developer Resources, 2021.
  • Apple Inc. «Metal support in Adobe Mercury Playback Engine». Apple Developer Documentation, 2023.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →