Медиа.маги Документация

Last updated

MP4 с наложением логотипа

1. Что создаёт этот процесс

Перекодирует исходное видео в H.264 MP4 1080p с корпоративным логотипом, нанесённым на каждый кадр, сшивает вокруг него вступительный и финальный клипы и отправляет подтверждение по почте, когда кодирование завершено.

2. Когда использовать

  • Нужно брендировать поставку логотипом канала, водяным знаком или баг-логотипом без композитинга в отдельной монтажной.
  • Вы обрамляете основной материал предкаченными вступительным и финальным сегментами (заставки, правовые слейты, концовки), которые уже закодированы и нуждаются лишь в сшивке.
  • Нужно, чтобы оператора уведомили по почте в момент загрузки файла, чтобы он забрал его без опроса.
  • Вы отгружаете второй, неизменённый пакет рядом с брендированным MP4 — сквозную копию без перекодирования — для архива или для систем ниже по потоку, которым нужна сырая сшивка.

3. Входы

  • Исходное видео — любой контейнер и кодек, которые платформа может демультиплексировать.
  • Логотип — PNG (предпочтительно с прозрачным фоном), используемый как накладываемая графика. Привязан к верхнему левому углу кадра.
  • Вступительный клип — предкодированный сегмент, добавляемый перед основным материалом в финальной сшивке.
  • Финальный клип — предкодированный сегмент, добавляемый после основного материала в финальной сшивке.
  • Переменные:
    • $In — URL исходного видео.
    • $Logo — URL PNG, используемого для наложения.
    • $Open — URL вступительного клипа.
    • $Close — URL финального клипа.
    • $Out — URL, куда записывается готовый MP4.

4. Выход

  • Файл — контейнер MP4, 1920×1080 при 25 кадрах/с, видео H.264 на 1200 кбит/с ABR (потолок 4800 кбит/с), стереозвук AAC на 128 кбит/с, с логотипом, наложенным в 10 пикселях от верхнего левого угла каждого кадра. Второй MP4, несущий неизменённую сшивку, мультиплексируется параллельно ветвью copy.
  • Назначение — каждый MP4, создаваемый процессом, записывается на URL, заданный в $Out.
  • Уведомление — при успешной загрузке отправляется письмо с именем пакета и выходным URL, подставленными в тело сообщения.

5. Обзор процесса

Процесс MP4 с наложением логотипа на холсте

Основной материал забирается из $In и разделяется на видео- и аудиопотоки. Аудио пересэмплируется до 48 кГц, сводится в стерео и кодируется AAC на 128 кбит/с. Видео нормализуется в yuv420p, фиксируется на 25 кадрах/с, дополняется леттербоксом до 16:9 чёрными полосами, масштабируется до 1920×1080, затем композитится с логотипом, забранным из $Logo — PNG ложится на вход Overlay узла vf/overlay и оказывается в 10 пикселях от верхнего левого угла каждого кадра. Брендированное видео кодируется x264 в режиме ABR на 1200 кбит/с (потолок 4800 кбит/с) и мультиплексируется с дорожкой AAC в MP4. Этот брендированный MP4 затем конкатенируется с вступительным клипом из $Open и финальным из $Close узлом concat; полученный пакет разделяется на видео и аудио, пропускается через copy без перекодирования и мультиплексируется во второй MP4. Финальный MP4 загружается на $Out, и узел notify отправляет подтверждение по SMTP, как только загрузка завершена.

6. Настройка по узлам

Overlay (vf/overlay)

Форма «Overlay Edit properties»

Композитит логотип (поданный на вход Overlay) на нормализованное основное видео (поданное на вход Main). Положение фиксировано в пиксельных координатах от верхнего левого угла.

Параметры этого примера:

  • X10. Горизонтальное смещение в пикселях от левого края основного кадра.
  • Y10. Вертикальное смещение в пикселях от верхнего края основного кадра.

Letterboxing (vf/letterbox)

Форма «Letterboxing Edit properties»

Дополняет кадр источника до 16:9 сплошными чёрными полосами вместо обрезки или растяжения. Дополненный кадр затем питает vf/scale.

Параметры этого примера:

  • Aspect Ratio16:9. Целевое соотношение сторон при отображении для поставки MP4.
  • ColorBlack. Цвет полос вокруг кадра источника.

Scale (vf/scale)

Форма «Scale Edit properties»

Изменяет размер кадра с леттербоксом до растра 1080p перед наложением и кодером.

Параметры этого примера:

  • Resolution1920x1080. Стандартный растр HD, на который нацелена поставка.
  • Sample Aspect Ratio (SAR) — выключено. Исходный SAR оставлен в покое; соотношение сторон при отображении 16:9 уже даёт этап леттербокса выше.

Полный список параметров и компромиссов см. в Scale.

Pixel Format (vf/format)

Форма «Pixel Format Edit properties»

Нормализует видео к 8-бит 4:2:0 цветовой раскладке перед наложением и кодером, независимо от того, что нёс источник.

Параметры этого примера:

  • Formatyuv420p. 8-бит 4:2:0 планарный Y′CbCr — цветовая раскладка, которую x264 ожидает для MP4 H.264 Main/High profile.

FPS (vf/fps)

Форма «FPS Edit properties»

Приводит видео к фиксированной частоте кадров перед кодером.

Параметры этого примера:

  • Frame Rate25/1. 25 кадров в секунду, совпадает с базовой частотой европейского вещания.

Sample Rate (af/aresample)

Форма «Sample Rate Edit properties»

Пересэмплирует аудио источника к фиксированной частоте перед сведением и кодером AAC.

Параметры этого примера:

  • Rate48000 Hz. Частота дискретизации, которую AAC кодирует нативно для вещательных и потоковых поставок.

Stereo (af/stereo)

Сводит пересэмплированное аудио в стереопару. У узла нет редактируемых параметров — выбор его на холсте не открывает формы.

x264 (x264)

Форма «x264 Edit properties»

Кодирует брендированное, масштабированное, зафиксированное по частоте видео как H.264 перед мультиплексором MP4.

Параметры этого примера:

  • H264 Codec Profilehigh. High profile даёт кодеру доступ к B-кадрам, CABAC и преобразованиям 8×8 — инструментам кодирования, которые поддерживает цель доставки.
  • Presetmedium. Компромисс скорость/качество по умолчанию.
  • H264 Codec Level4.1. Ограничивает максимальный битрейт и размер кадра уровнем, ожидаемым мейнстримными декодерами 1080p H.264.
  • Rate ControlABR. Средний битрейт; позволяет x264 тратить лишние биты на сложные сцены, пока скользящее среднее держится у цели.
  • Bitrate1200 kbps. Средний видеобитрейт для поставки.
  • Max bitrate4800 kbps. Пиковый потолок. В паре с Buffer size ограничивает окно контроля битрейта.
  • Buffer size4800 kbps. Буфер VBV, который контроллеру битрейта разрешено заполнить, прежде чем он должен вернуться к среднему.
  • Key Interval50. Один ключевой кадр каждые две секунды при 25 кадрах/с — разумная цель для сегментирования или перемотки ниже по потоку.
  • B-Frames3. До трёх подряд идущих B-кадров на GOP.
  • Reference Frames3. Три опорных кадра, доступных оценке движения.

Полный список параметров и компромиссов см. в x264.

AAC (aac)

Форма «AAC Edit properties»

Кодирует пересэмплированное стереоаудио как AAC перед мультиплексором MP4.

Параметры этого примера:

  • Bitrate128 kbps. Стандартный стереобитрейт AAC для доставки 1080p H.264 MP4.

Полный список параметров и компромиссов см. в AAC.

MP4 (mp4)

Форма «MP4 Edit properties»

Мультиплексирует закодированные видео и аудио в MP4. В этом процессе работают два экземпляра mp4: первый оборачивает брендированные потоки x264 + AAC перед этапом concat, второй оборачивает неизменённый сквозной выход, созданный ветвью copy.

Параметры этого примера:

  • Filename — пусто. Мультиплексор выводит имя файла из контекста выше по потоку.

Полный список параметров и компромиссов см. в MP4.

Concat (concat)

Форма «Concat Edit properties»

Сшивает три пакета встык — вступительный клип на входе A, брендированный MP4 на входе B, финальный клип на входе C — в единый пакет, который обрабатывает этап ниже по потоку.

Параметры этого примера:

  • Node Label — пусто. У узла нет параметров, формирующих медиа; порядок сшивки определяют только входы.

Copy (copy)

Пропускает конкатенированные видео и аудио во второй мультиплексор MP4 без перекодирования любого из потоков. У узла нет редактируемых параметров — выбор его на холсте не открывает формы.

Notify (notify)

Форма «Notify Edit properties»

Отправляет подтверждение по почте через SMTP, как только завершается шаг загрузки. Тело сообщения использует шаблонный синтаксис платформы, поэтому имя пакета и финальный URL подставляются в момент отправки.

Параметры этого примера:

  • SMTP Server — хост почтового сервера, через который отправляется сообщение. Включите Exchange, когда сервер — это конечная точка Microsoft Exchange.
  • Username — логин для аутентификации на SMTP-сервере.
  • Password — пароль в паре с Username.
  • To — список адресатов через запятую.
  • Subject — фиксированная строка темы исходящего письма.
  • Message — тело исходящего письма. Токен {{ Package }} раскрывается в имя готового пакета, а {{ URL }} — в назначение загрузки.

7. Запуск

  1. Откройте Процессы → Создать и либо соберите граф выше, либо импортируйте шаблон MP4 с наложением логотипа.
  2. Задайте $In равным URL исходного видео, $Logo — URL PNG-наложения, $Open и $Close — URL вступительного и финального сегментов, а $Out — URL, куда должен попасть готовый MP4.
  3. Нажмите Запустить либо привяжите процесс к папке мониторинга для автоматической обработки.
  4. Отслеживайте ход на странице Задачи; готовый MP4 появится по URL, заданному в $Out, а адресаты из Notify → To получат подтверждение по почте, как только загрузка завершится.

8. Варианты

  • Измените X и Y на Overlay, чтобы переставить логотип — (W-w)-10 для X привязывает его в 10 px от правого края, (H-h)-10 для Y — в 10 px от нижнего.
  • Уберите ветвь concat + copy целиком, когда нужен только брендированный MP4 и нет вступительного или финального сегмента для вставки.
  • Замените vf/letterbox на vf/crop, когда спецификация доставки требует центральной обрезки вместо дополнения полосами до 16:9.
  • Переключите x264 Rate Control на CBR (и выровняйте Min bitrate / Max bitrate с Bitrate) ради поставки с постоянным битрейтом, которую упаковщики ниже по потоку могут нарезать на фиксированной скорости.
  • Замените aac другим аудиокодером, если поставке нужна дорожка не-AAC.
  • Уберите notify, если подтверждение по почте не нужно, или укажите ему другой SMTP-сервер / список рассылки для разных поставок.

9. Связанное

Медиа.маги Документация