Как стать автором
Обновить
29.24
Национальная Медиа Группа
Крупнейший в России частный медиахолдинг

Как донести видео до зрителя в нужном качестве и ничего не потерять по пути

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров8K

Для того чтобы зритель мог видеть на экране ТВ красивую картинку (будь то пущенный в эфире фильм, сериал или вообще клип), исходный видеофайл должен пройти множество проверок на качество. Со стороны кажется, что всё просто: чем больше разрешение, тем лучше, 4К хватит всем и прочее, но на самом деле, критериев оценки очень много.

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

В этом посте мы расскажем вам об одном из таких инструментов под названием ORBOX. Что эта система умеет, какие параметры проверяет и зачем вообще это делать, чем отличается от конкурентов — под катом.

Путь видео

Чтобы доставить видео на экран к зрителю, его сначала надо доставить вещателю 

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

Так могло бы быть в идеальном мире.

На самом же деле, продакшен-студии зачастую присылают файл, который по тем или иным критериям можно вообще назвать бракованным. Приходится отсылать обратно и переделывать, а это всегда время и деньги. Да, когда мы говорим про «отсылать обратно» речь идёт не просто о перегоне байтов туда-сюда по сети, но и о перевозке физических носителей в том числе.

Чтобы сократить подобные затраты времени и средств, а также снять излишнее нервное напряжение с участников процесса, придумали решение — проводить проверки сразу на стороне продакшен-студии, до того, как передавать видео на канал. Здесь-то в игру и вступает специализированный софт.

Телеканал СТС начал использовать автоматизированную систему ORBOX от российской компании «Теком» для проверки технического качества медиафайлов. Ранее компании уже реализовали ряд успешных совместных проектов по мониторингу видеосигналов. Это полностью отечественная разработка, включающая в себя более 70 тестов для проверки качества аудио, видео и метаданных файла. ORBOX распознает и нормализует проблемы с громкостью, с высокой точностью обнаруживает микропланы, «гребёнку» и другие видеодефекты, а также анализирует параметры контейнеров и кодеков. Система позволяет проводить проверку технического качества медиафайлов в 4 раза быстрее хронометража видеоматериала. 

В дальнейшем телеканал СТС планирует переводить на ORBOX всё больше нагрузки. Для начала – полностью закрыть потребности в приёмке ОТТ-контента и со временем передать системе проверку всего телевизионного контента.

Как всё работает

Технический брак мы делим на:

1. Дефекты видео

2. Дефекты аудио

3. Дефекты метаданных —параметров контейнеров и кодеков. 

Система работает в режиме watch folder — настраиваются определенные папки, и система при попадании каких-то файлов в эти папки фиксирует это и тут же забирает файлы на анализ. Анализ производится по определенным правилам, которые устанавливаются оператором системы. Это помогает автоматизировать процесс и сэкономить время — файлы конкретного поставщика контента всегда можно проверять лишь по настроенным правилами, а не по всем возможным параметрам. Например, мы знаем, что от поставщика А имеет смысл проверять только звук, и настраиваем соответствующие правила.

Кстати, вот список того, что проверяет система.

Видео:

  • Артефакты потери данных

  • Артефакты потери данных в макроблоках

  • Артефакты сжатия 

  • Артефакты upconversion 

  • Детектирование шума 

  • Микропланы 

  • Микропланы (алгоритмы машинного обучения)

  • Калибровочные таблицы 

  • Стоп-кадры 

  • Черные кадры 

  • Цветные кадры 

  • Черные полосы по краям (каше) 

  • «Гребёнка» 

  • Детектирование признаков чересстрочной развертки 

  • Ошибки декодирования видео 

  • Gamut-ошибки 

  • Баланс черного и белого 

  • Уровень насыщенности 

  • Интегральная метрика качества 

  • Уровень цветовых компонент

Аудио:

  • Интегральный уровень громкости и нормализация 

  • Параметры громкости 

  • Тишина 

  • Перегрузка 

  • Несоответствие стерео/моносигнала 

  • Сдвиг аудио фаз 

  • Тестовый сигнал 

  • Отсутствие аудиосигнала

Метаданные:

В ORBOX большое внимание уделили кастомизации системы. После проверки система создаёт подробный отчёт с полным отображением всех ошибок, которые встречались в файле.

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

Интеграции, расширения, возможности

Мир видеомонтажа огромен и не ограничивается одним-двумя ПО, поэтому у системы есть API для интеграции с другими системами. Скажем больше, у ORBOX есть много клиентов, которые вообще не пользуются исходным интерфейсом системы — она лишь выполняет все встроенные проверки по своим алгоритмам, а результат и отчёт клиент видит уже в интерфейсе привычного ПО, например, Skylark и других. Есть и плагины для монтажных программ, которые помогают просматривать результаты работы в Adobe Premier и не только.

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

Важно отметить вот что. ORBOX это именно система контроля качества — то есть ПО, обнаруживающее недостатки в проверяемом контенте, отображающее их, но не исправляющее их автоматически. Единственное исключение — это звук, есть опция нормализации уровня громкости для случаев, если есть отклонение от указанных значений.

Архитектура системы

Это два сервера:

  1. Сервер контроля, отвечающий за настройку системы ORBOX. На нём же развернут интерфейс QC-системы.

  2. Сервер анализа, который и проводит всю обработку массива проверяемых файлов, попадающих в систему.

При желании систему можно масштабировать, увеличив число серверов анализа. Управление нагрузкой и её распределение при этом будет осуществляться первым сервером — сервером контроля.

Ну и ИИ, куда же без него в деле автоматизации рутинных проверок. В системе реализованы AI-тесты для обнаружение выпадающих полос и микропланов. Внедрение машинного обучения сократило число ложных срабатываний в 7 раз, а число обнаружения самих микропланов выросло на 20%.

Как происходит работа с QC-системой? 

Разберём это на примере QC-системы ORBOX, которая работает на базе отслеживаемых папок-источников (watchfolder). В упрощенном виде процесс выглядит следующим образом.


Пользователь:

  1. Задаёт путь к папкам-источникам, из которых QC-система берёт контент на проверку.

  2. Создаёт шаблон, по которому будет анализироваться файл. Шаблон включает в себя список выбранных тестов с заданными пользователем настройками (набор тестов).

  3. Загружает контент, который нужно проверить, в папку-источник. 

Как только контент оказался в папке-источнике, он автоматически отправляется на проверку согласно выбранному шаблону и настройкам системы. По итогам проверки QC-система выдаёт отчет об анализе медиаконтента. Его можно посмотреть как в интерфейсе программы, так и в отдельном файле. В современных QC-системах отчёт содержит развёрнутую информацию о результатах проверки, вплоть до проблемных интервалов и настроек, с которыми выполнялись тесты.


Так, к примеру, выглядит часть отчета QC-системы ORBOX

К черту теорию Оставим теорию, переходим к практике

Разберем на примере ORBOX, как правильно настроить QC-систему, чтобы проверка пошла по верному пути.


Как мы уже писали выше, обычно в QC-системе можно настроить нужный шаблон для проверки (и возвращаться к нему снова и снова, если сотрудничество с телеканалом оказалось удачным😉). Главный документ, на который нужно ориентироваться - это технические требования. По ним и будем настраивать.

Пример. Представьте, что у вас вот такой набор требований от телекомпании.

Видео

  • Частота кадров — 25 кадров/сек

  • Субдискретизация насыщенности — High 4:2:2 level 4.1

  • Формат MOV / Apple ProRes 422 HQ

  • Битрейт 170–210 Мбит/с

Аудио

  • Аудиокодек некомпрессированный PCM (SMPTE 331M)

  • Частота дискретизации — 48 КГц,

  • Битовая глубина — 24 бит,

  • Количество дорожек — 2–8,

  • Количество каналов в дорожке — 1 канал:
    1) Первая дорожка — левый канал stereo mix 2) Вторая дорожка — правый канал stereo mix 3) Третья дорожка — оригинальные спецэффекты левый канал stereo M&E 4) Четвертая дорожка — оригинальные спецэффекты правый канал stereo M&E

  • Громкость программы (Programme Loudness) устанавливается равной номинальному значению минус -23,0 LUFS с допустимым отклонением от номинального значения ±0,5 LUFS (именно таких значений рекомендовано придерживаться в приказе Минцифры (бывш. Минкомсвязи) России)

Дополнительные требования


Начальный тайм‑код (SMPTE TC) — 00:00:00:00

Переходим к настройке системы для проверки качества медиафайла по заданным требованиям. В примере мы рассматриваем случай, когда в системе уже настроены папки‑источники, из которых контент берётся на проверку.

Шаг первый — Набор тестов

Начать работу нужно с создания набора тестов. Он будет состоять из проверок параметров, которые указаны в технических требованиях (далее по тексту — ТТ). Зайдите в раздел «Тесты» и нажмите кнопку «Создать новый». В нашем примере мы будем использовать набор тестов с названием Article_minimum.

Так выглядит начало работы с собственным набором тестов в интерфейсе ORBOX

1. Когда вы откроете раздел тесты, то увидите 70+ проверок. Так вот, ВЫКЛЮЧИТЕ ИХ ВСЕ. Серьезно. И переходите к поэтапной настройке каждого из нужных вам тестов. Для примера возьмём требование битрейт 170-210 Мбит/с:

  • Переходим к разделу «Метаданные видео» и находим тест «‎Битрейт видео (метаданные)»;

  • Чтобы перейти к настройке теста, нажмите на его название;

Так выглядят настройки теста Битрейт видео (метаданные) по умолчанию

  • Задайте нужные значения. В нашем случае это интервал от 170 до 210 Мбит/с. Но система позволяет указать и больше/меньше, и точное значение;

Так выглядит тест Битрейт видео (метаданные), настроенный по ТТ 

  • Как только тест настроен, сохраните его, нажмите Назад и включите его в списке тестов.

Для проверки битрейта также стоит настроить и включить тест «Реальный битрейт видео». Он работает в паре с тестом «Битрейт видео (метаданные)», который проверяет значение фактического битрейта по метаданным видеодорожки, в то время как реальный битрейт вычисляется исходя из размера видеодорожки и ее длительности.

Тест Реальный битрейт видео, настроенный по ТТ  

Собственно, по этому примеру нужно настроить и все остальные проверки. Под спойлером вы найдёте подробные настройки по всем ТТ, указанным в примере. Бонус для тех, кто прочтёт всё — показали настройку для маппинга каналов, т. е. сопоставления физических звуковых дорожек с логическими для корректного вычисления громкости программы (за несоответствие которой можно и штраф от ФАС получить). Не благодарите😁

Hidden text
  1. Настройка требования Формат MOV/Apple ProRes 422 HQ

Настройка будет состоять из нескольких тестов. Начнём с теста «Видеокодек», который сравнивает фактический формат в контейнере с ожидаемым. Нужный видеокодек выбираем из выпадающего списка с поддерживаемыми форматами.

Система поддерживает форматы MPEG2, MPEG4, DV, H.264, H.265, PRORES, DNxHD, JPEG 2000, XAVC, MJPEG

Дальше нужно настроить тест «Профиль и уровень формата». Выбираем нужный кодек (у нас ProRes) и задаём указанное значение профиля 422 HQ. Укажите ожидаемое значение, если хотите проверить, что параметр присутствует в метаданных файла.

  1. Настройка требования Частота кадров 25 кадров/сек

Частота кадров или по-другому количество кадров в секунду проверяет с помощью одноименного теста. Тут нужно выбрать значение из выпадающего списка. В нашем ТТ это только 25 кадров/сек, но можно указать и несколько значений. Тест будет считаться пройденным, если фактическое значение частоты кадров соответствует одному из ожидаемых.

  1. Настройка требования Субдискретизация насыщенности High 4:2:2 level 4.1

Проверяется с помощью теста «Цветовая субдискретизация». Нужное значение выбирается из выпадающего списка, в наших ТТ это 4:2:2.

  1. Настройка требования Аудиокодек некомпрессированный PCM (SMPTE 331M) 

Проверяется с помощью теста «Аудиокодек». Нужное значение выбирается из выпадающего списка, в наших ТТ это PCM.

  1. Настройка требования Частота дискретизации 48 КГц

Проверяется с помощью теста «Частота дискретизации аудио». Нужное значение выбирается из выпадающего списка, в наших ТТ это 48000.

.

  1. Настройка требования Битовая глубина 24 бит

Проверяется с помощью теста «Частота дискретизации аудио». Нужное значение выбирается из выпадающего списка, в наших ТТ это 24.

  1. Настройка требования Количество каналов в дорожке – 1 канал

Проверяется с помощью теста «Количество каналов в дорожке». Нужное значение указывается вручную, а также устанавливается соответствие. В наших ТТ строго 1, но можно задать и интервал, и больше/меньше какого-то значения.

  1. Настройка требования Количество дорожек 2-8.

Проверяется с помощью теста «Количество аудиоканалов в файле». Нужное значение указывается вручную, а также устанавливается соответствие. В наших ТТ это интервал от 2 до 8.

  1. Настройка требования Начальный тайм-код (SMPTE TC) — 00:00:00:00

Выберите тест «Начальный тайм-код». Нужные контейнер, кодек и тип тайм-кода обычно всегда указываются в ТТ. В нашем случае это MOV и ProRec, а тип при таком сочетании доступен только QuickTimeTimecode. Укажите ожидаемое значение, у нас 00:00:00:00

  1. А на десерт, как и обещали, маппинг каналов для корректного измерения громкости программы. Напомним наши технические требования:

Первая дорожка — левый канал stereo mix.

Вторая дорожка — правый канал stereo mix.

Третья дорожка — оригинальные спецэффекты левый канал stereo M&E.

Четвертая дорожка — оригинальные спецэффекты правый канал stereo M&E.
Громкость программы (Programme Loudness) устанавливается равной номинальному значению минус -23,0 LUFS с допустимым отклонением от номинального значения ±0,5 LUFS.

Всё это проверяется с помощью одного теста — «Интегральный уровень громкости и нормализация». Для начала вручную выставим значение -23 в параметре «Громкость по умолчанию» и зададим допустимые отклонения ±0,5 с помощью параметра «Допустимое отклонение громкости». 

Настройки по ТТ проверки громкости программы, сделанная в тесте Интегральный уровень громкости и нормализация

Чтобы вычисление громкости происходило корректно, необходимо задать правильный маппинг каналов. В наших ТТ у нас 4 дорожки, количество дорожек в канале по 1. В ТТ у нас заданы стереопары и мы анализируем только первые два канала.

Маппинг каналов, соответствующий требованию 1-я дорожка — левый канал stereo mix, 2-я дорожка — правый канал stereo mix, 3-я дорожка — оригинальные спецэффекты левый канал stereo M&E, 4-я дорожка — оригинальные спецэффекты правый канал stereo M&E. 

Шаг второй — Шаблон

Чтобы проверка прошла по заданному набору тестов, нужно настроить правильный шаблон. Но сначала разберёмся, что это такое.

Шаблон — это набор правил проверки файлов. Он содержит комбинацию условий, по которым определяется, какой набор тестов следует применить к медиафайлу. Например, вам необходимо проверять файлы в контейнерах MOV по одним параметрам, а MXF‑файлы — по другим. Также в рамках шаблона можно настраивать маршрутизацию результатов анализа (к примеру, перемещать файлы с браком, нормализованные файлы, отчеты по конкретным шаблонам в разные папки‑назначения).

Переходим к настройке. Зайдите в раздел «Шаблоны» и нажмите кнопку «‎Добавить».

Если не указывать контейнер, длительность файла, кодек, разрешения и т. д., тогда QC‑система будет брать на проверку все файлы из указанной папки‑источника. В своем примере мы разберём именно такой случай.

  1. Назовём шаблон так же, как и набор тестов, Article_minimum и укажем тип медиафайлов, который нужно проверять системе, в нашем случае файловый, но может быть и VoD, и HDR.

  2. Выберем набор тестов, который мы настроили по ТТ.

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

Сохраняем шаблон и проверяем, что он включен. На это указывает цветовой индикатор слева от названия шаблона, который будет гореть зеленым. Советуем включать только те шаблоны, по которым планируется проверка.

Шаг третий — Анализ файла

Шаблон настроен и включен, переходим к тестированию. Поместите файл, который необходимо проверить на соответствие техническим требованиям, в папку-источник. QC-система сама создаст задачу и запустит процесс проверки файла, а вы сможете наблюдать за ходом тестирования во вкладке «Задачи в работе». В качестве тестового образца мы взяли файл MP4 с кодеком  Н.264 и хронометражом 9 минут 14 секунд.

Вы сможете посмотреть, когда началось тестирование, по какому шаблону оно осуществляется и сколько времени осталось до завершения проверки

После того, как проверка завершена, её итоги можно увидеть во вкладке «Результаты анализа».

Шаг четвертый — Результаты анализа

В нашем примере тестирование заняло 1 минуту 53 секунды, что почти в 5 раз быстрее реального хронометража файла.

Давайте разберём детально. Для этого перейдём во вкладку Результаты анализа и нажмём на результат, указанный в строке с именем нашего файла.

Вы увидите полную информацию по всем проведенным тестам и результат каждого из них.

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

В PDF-отчете, который получили по итогам проверки, мы видим, что 9 из 15 необходимых параметров не соответствуют ТТ. И производитель контента теперь точно знает, что материал на телеканал передавать рано. Сначала придётся исправить кодек, контейнер и другие параметры, которые не соответствуют ТТ. А вот чего делать не придётся, так это гадать, почему ОТК в очередной раз возвращается файл на переделку.

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

Видеокодек в тестовом файле H.264, а не требуемый ProRes, о чем и сигнализирует ORBOX
Видеокодек в тестовом файле H.264, а не требуемый ProRes, о чем и сигнализирует ORBOX

После того, как вы просмотрели результаты, останется исправить найденное. Когда ошибки исправлены, можно спокойно отправлять файл заказчику и не сжигать нервные клетки в ожидании вердикта от ОТК. Ведь теперь вы знаете всё о параметрах своего контента и будете общаться со специалистами по контролю качества на одном языке.

Дополнение. Если  захотите провести больше проверок, чем указано в ТТ, вам придётся выставить настройки по таким тестам самостоятельно, без опоры на уже заданные значения, как, например, требование -23 LUFS для громкости. С другой стороны, это дополнительная проверка, и степень её строгости определяете именно вы.
QC-система же позволяет детектировать микроплан, если вы считаете его таким хоть при 6 кадрах, хоть при 3.

В этом и прелесть QC-системы: она не стрижёт всех под одну гребёнку, а позволяет настроить свои значения. Да, для «гребёнки» тоже😁 
В этом и прелесть QC-системы: она не стрижёт всех под одну гребёнку, а позволяет настроить свои значения. Да, для «гребёнки» тоже😁 

Какие ещё бывают системы

ORBOX принято сравнивать с ближайшим зарубежным аналогом — Aurora. Её сейчас гораздо сложнее купить и использовать, но иметь её в качестве образца и конкурента полезно. Так что давайте сравним и мы.

На СТС обе системы используются для проверки закупаемого контента, так что тесты были не синтетические, а самые что ни на есть боевые.

Для сравнения провели две тестовых проверки. В качестве испытуемых взяли 2 файла: видео в формате MXF, с кодеком AVC, разрешением 1920×1080 и длительностью 60 минут и его копию. Сравнение проводилось на тестировании одновременно 2 файлов на каждой из QC‑систем при аналогичном наборе проверок.

Перед тем, как перейдем к результатам, надо отметить, что у используемой Aurora есть ограничение — максимум 2 задания на один любой сервер, но можно раздавать разное количество потоков процессора под проверку 1 файла. В ORBOX при текущих характеристиках используемых серверов, одна машина может взять на себя до 8 заданий.

Первый тест — стандартные настройки Aurora, где 8 потоков отдается одному заданию. QC‑систему специально адаптировали под серверы СТС с разным количеством ядер, что дало неплохую производительность при одновременной проверке файлов разного веса. Для ORBOX нет необходимости распределять потоки, QC‑система занимается этим самостоятельно и использует все имеющиеся ресурсы процессора.

По итогам тестирования ORBOX справился с одновременной проверкой 2 файлов за 16 минут, а у Aurora на проверку ушло 98 минут.

Итоги первого тестирования при стандартном распределении потоков процессора на сервере с Aurora
Итоги первого тестирования при стандартном распределении потоков процессора на сервере с Aurora

Второй тест — максимально возможные настройки для взятого на тест сервера с Aurora, где 20 потоков процессора отдается одному заданию. Такое изменение позволяет получить максимальную скорость проверки двух файлов большого веса. Настройки для ORBOX не менялись.

Перераспределение потоков позволило сократить время тестирования у Aurora до 51 минуты, результат ORBOX сохранился на 16 минутах.

Итоги второго тестирования после перераспределения потоков потоков процессора на сервере с Aurora
Итоги второго тестирования после перераспределения потоков потоков процессора на сервере с Aurora

QC-система

Cores/CPU

RAM

Cores

Потоков

Процессоры

Aurora

10

48

20

40

Intel Xeon CPU E5-2667 v4 @ 3.20GHz, 2 шт.

ORBOX

8

32

16

32

Intel Xeon CPU E5-2690 v2 @ 3.00GHz, 2 шт.

По итогам сравнения в первый раз ORBOX справился в 6 раз быстрее, чем Aurora. Выделение большего количества потоков на одну задачу позволило зарубежной QC‑системе сократить разрыв, но ORBOX сохранил за собой преимущество по скорости.

Как говорится, думайте сами, решайте сами. Ну и другие характеристики, вроде стоимости или доступных проверок, тоже посмотрите, конечно, если уж встали перед выбором, что использовать.

Вместо заключения

С телекомпаниями можно и нужно говорить на одном языке. Языке технических требований и одинаковых контролируемых параметров. Внедрение стандартов технического контроля и использование QC‑систем перед передачей контента заказчику помогает увидеть то, что вы могли не заметить глазами и избавиться от ошибок, которые могут конвертироваться в денежные штрафы.

Теги:
Хабы:
Всего голосов 8: ↑7 и ↓1+12
Комментарии5

Публикации

Информация

Сайт
nmg.ru
Дата регистрации
Дата основания
2008
Численность
1 001–5 000 человек
Местоположение
Россия