Решения ATEME используются для транскодирования видео как производителями контента, так и дистрибьюторами многоканального видео (MVPD) в большом количестве разнообразных проектов. При этом все большую популярность приобретает использование для обработки видеоконтента облачных технологий и инфраструктуры.
Содержание
II Особенности облачной обработки видео
III Тестирование файлового транскодирования
IIII Тестирование линейного транскодирования
I Введение
Решения ATEME используются для транскодирования видео как производителями контента, так и дистрибьюторами многоканального видео (MVPD) в большом количестве разнообразных проектов. При этом все большую популярность приобретает использование для обработки видеоконтента облачных технологий и инфраструктуры.
В этом техническом документе рассматриваются преимущества, предоставляемые облаком Azure для следующих случаев использования:
- Файловое транскодирование;
- Линейное транскодирование (обработка живого видео).
Все три основные поставщика облачных услуг предоставляют в настоящее время подобные решения.
Решения ATEME для видеокомпрессии разработаны с учетом особенностей самых современных процессоров. В марте 2021 года Microsoft объявила о выходе виртуальных машин (ВМ) серии HBv3. Эти высокопроизводительные вычислительные решения содержат до 120 ядер ЦП AMD EPYC серии 7003 (Milan) третьего поколения. Это обеспечивает более быстрое выполнение файлового транскодирования и возможность обработки большего количества каналов при линейном транскодировании.
Настоящая статья посвящена анализу результатов тестирования и производительности решений по транскодированию от ATEME при работе в высокопроизводительной облачной среде Azure.
II Особенности облачной обработки видео
Время и стоимость являются самыми важными требованиями при файловом транскодировании видео. Транскодируемые файлы могут иметь большой объем и необходимое для их транскодирования время будет напрямую зависеть от размера файла, доступных вычислительных ресурсов и спецификациям выходных профилей видео. Требования к инфраструктуре и затраты продолжают расти в связи с экспоненциальным ростом производства контента и необходимостью поддержки более высоких разрешений, таких как UHD (Ultra High Definition).
Для решения этой проблемы ATEME предлагает свой файловый транскодер, разработанный для облачной среды, на основе архитектуры микросервисов со встроенной поддержкой технологий хранения объектов, таких как BLOB-объекты Azure. Решение опирается на собственное ядро кодирования и предлагает расширенные функции рабочего процесса, такие как распределенное транскодирование. Результаты наших тестов показывают, что при обработке UHD видео мы можем снизить затраты на обработку до 75%, используя высокопроизводительные вычислительные экземпляры (instances) Azure (по сравнению с более традиционными приложениями облачных вычислений), и на 35-45% при обработке HD (High Definition) видео.
Обработка живого видео имеет свои уникальные особенности. Для линейного транскодирования требуется постоянная высокодоступная инфраструктура способная принимать и перекодировать потоки с высокой скоростью передачи и высоким разрешением в различные входные форматы с поддержкой широкого набора кодеков. Продвинутые кодеки, такие как HEVC, требуют больше вычислительных ресурсов для перекодирования, чем AVC, в то время как более высокие разрешения, такие как UHD, потребуют больше вычислений, чем традиционное разрешение 1080p.
Результаты наших тестов показывают, что высокопроизводительные вычислительные приложения Azure позволяют обрабатывать больше линейных каналов в одном экземпляре (instance), снижая затраты на инфраструктуру, и также обеспечивают поддержку гораздо более сложных процедур обработки (больше профилей, более высокое разрешение, поддержка HDR и т.д.) на одном приложении, что упрощает обработку. Мы наблюдали увеличение плотности до 60% с приложениями HBv3 по сравнению с экземплярами с оптимизацией вычислений предыдущего поколения (96 ядер на основе серии AMD EPYC 7002 второго поколения).
Представленные в этом документе тесты были разработаны для измерения набора показателей с использованием недавно представленных виртуальных машин Azure HBv3 используемых для следующих видов обработки:
1. Для транскодирования файлового видео - скорость перекодирования одного задания и пропускная способность одного сервера.
2. Для линейного транскодирования видео - плотность каналов на один сервер и максимальная поддерживаемая конфигурация для одного канала.
III Тестирование файлового транскодирования
Цель этих тестов - определить оптимальное количество заданий для одновременной обработки на одном вычислительном экземпляре для достижения наилучшей производительности как для рабочих процессов обработки HD видео, так и UHD.
Для оценки производительности решения использовались следующие метрики:
- Скорость обработки, представленная значением xRT, которое является отношением скорости транскодирования файла к его длительности, определяемая следующей формулой:
xRT = AvgEncodeTime / SourceDuration
- Производительность сервера, представленная значением xRT Server, которое указывает скорость, с которой сервер может обрабатывать контент по сравнению с реальным временем, определяемая следующей формулой:
xRT Server = xRT / #ofParallelJobs
Эти два показателя напрямую влияют друг на друга, и балансировка нагрузки - это компромисс между ними. Чем больше заданий обрабатывается одновременно на сервере, тем меньше ресурсов выделяется на задание, тем медленнее может быть транскодировано отдельное задание, но тем больше контента сервер сможет обработать за определенный период. И наоборот, чем меньше заданий обрабатывается одновременно, тем больше ресурсов выделяется на задание и тем быстрее можно перекодировать отдельное задание - но объем контента, который сервер обработает за тот же заданный период, будет меньше.
При обработке UHD видео со следующими входными параметрами
Input |
|
Source Format |
MOV |
Video Codec |
ProRes 422 LT |
Resolution |
3840x2160 |
Framerate |
25 fps |
Source Bitrate |
311 Mbps |
Audio Codec |
6 x PCM channels |
Source Duration |
30 minutes |
И выходными ABR (Adaptive Bit Rate) профилями:
Outputs | |
6 Profiles HEVC video, 1 AAC audio, 1 DD Audio | |
Resolution | Bitrate |
3840x2160 | 18 Mbps |
2560x1440 | 12.2 Mbps |
1920x1080 | 5.8 Mbps |
1280x720 | 4.25 Mbps |
960x540 | 1.85 Mbps |
960x540 | 1.2 Mbps |
Были получены следующие результаты транскодирования:
HB120rs_v3 |
|||||||
| #ofParallelJobs | Cores/Job | Total Cores | AvgEncodeTime (s) | xRT | xRT Server | CPU % |
1 | 1 | 118 | 118 | 5977 | 3.32 | 3.32 | 45 |
2 | 2 | 59 | 118 | 7316 | 4.06 | 2.03 | 75 |
3 | 3 | 39 | 117 | 9014 | 5.01 | 1.67 | 85 |
4 | 4 | 29 | 116 | 11431 | 6.35 | 1.59 | 91 |
5 | 5 | 23 | 115 | 13145 | 7.30 | 1.46 | 92 |
6 | 6 | 19 | 114 | 15392 | 8.55 | 1.43 | 92 |
Как видно из приведенных выше результатов, производительность приложения - это компромисс между временем выполнения задания (xRT) и производительностью сервера (xRT Server). Для рабочего процесса UHD с использованием экземпляров HB120rs_v3 кажется, что лучший компромисс между ними - параллельное кодирование трех заданий (строка №3) на машине. Меньшее количество заданий существенно отрицательно повлияет на производительность сервера, в то время как большее количество заданий приведет лишь к незначительному увеличению производительности сервера при значительном увеличении скорости перекодирования заданий.
При обработке UHD видео (распределенное транскодирование) со следующими входными параметрами:
Source Format | MOV |
Video Codec | ProRes 422 LT |
Resolution | 3840x2160 |
Framerate Source | 25 fps |
Bitrate Audio | 311 Mbps |
Codec Source | 6 x PCM channels |
Duration | 44 minutes 20 seconds |
И выходными ABR (Adaptive Bit Rate) профилями:
Outputs | |
4 Profiles HEVC video, 1 AAC audio, 1 DD Audio | |
Resolution | Bitrate |
3840x2160 | 18 Mbps |
2560x1440 | 12.2 Mbps |
1920x1080 | 5.8 Mbps |
1280x720 | 4.25 Mbps |
Были получены следующие результаты транскодирования:
2 x HB120rs_v3 | ||||||
#ofParallelJobs | Cores/Job | Total Cores | AvgEncodeTime (s) | xRT | xRT Server | CPU % |
1 | 6 parts x 39 | 234 | 2501 | 0.94 | 1.88 | 85 |
Решение ATEME по транскодированию видеофайлов, благодаря своей архитектуре микросервисов, предоставляет возможность быстрого транскодирования одного один исходного файла, разделив его на несколько сегментов и транскодировав эти сегменты параллельно, с дальнейшим объединением (сшивкой) их в один файл в конце обработки. Такой режим работы называется распределенным транскодированием. Это мощный инструмент, особенно в среде общедоступного облака. Этот тест выполняется с использованием оптимальной конфигурации, определенной в предыдущем тесте. Одно исходное задание UHD было распределено между двумя экземплярами HB120rs_v3, причем каждый экземпляр обрабатывал три сегмента исходного файла параллельно, всего шесть сегментов. В этой конфигурации решение ATEME для транскодирования файлов может перекодировать контент быстрее, чем скорость воспроизведения контента в реальном времени (xRT <1). Это достижение открывает множество преимуществ для случаев использования транскодирования файлового видео. Например, это может помочь удовлетворить требования Соглашения об уровне обслуживания (Service-Level Agreement) в отношении времени обработки определенного контента, такого как спортивные события или повторы шоу.
При обработке HD видео со следующими входными параметрами
Source Format | MXF OP1a |
Video Codec | AVC |
Resolution | 1920x1080 |
Framerate | 25 fps |
Source Bitrate | 114 Mbps |
Audio Codec Source | 16 x PCM channels |
Duration | 30 minutes |
Были получены следующие результаты транскодирования:
HB120rs_v3 | ||||||
#ofParallelJobs | Cores/Job | Total Cores | AvgEncodeTime (s) | xRT | xRT Server | CPU % |
1 | 118 | 118 | 4465 | 2.48 | 2.48 | 19 |
2 | 59 | 118 | 4599 | 2.56 | 1.28 | 40 |
3 | 39 | 117 | 4878 | 2.71 | 0.90 | 58 |
4 | 29 | 116 | 5204 | 2.89 | 0.72 | 73 |
5 | 23 | 115 | 5676 | 3.15 | 0.63 | 83 |
6 | 19 | 114 | 6304 | 3.50 | 0.58 | 89 |
7 | 16 | 112 | 7132 | 3.96 | 0.57 | 90 |
8 | 14 | 112 | 7819 | 4.34 | 0.54 | 91 |
9 | 13 | 117 | 8498 | 4.72 | 0.52 | 94 |
13 | 9 | 117 | 11842 | 6.58 | 0.51 | 96 |
Как и в случае обработки UHD, для обработки HD скорость обработки снова является компромиссом между временем выполнения одного задания и призводительностью сервера. В этом случае кажется, что лучший компромисс - это параллельное перекодирование HB120rs_ v3 шести заданий (строка # 6), что гарантирует высокую производительность сервера при сохранении высокой скорости транскодирования отдельных заданий.
Как показывают приведенные выше результаты, решение ATEME для файлового транскодирования смогло в полной мере использовать преимущества новых высокопроизводительных вычислительных экземпляров Azure. Оптимизация обработки - это компромисс между производительностью сервера и временем выполнения задания. Для приложения ATEME оптимум находится в зоне, когда загрузка ЦП на экземплярах HB120rs_v3 составляет около 90%. Сравнивая это с производительностью, достигнутой с использованием ЦП предыдущего поколения и других типов инстансов, мы видим значительное снижение стоимости инфраструктуры:
- до 75% для UHD
- до 35% -45% для HD.
Решение ATEME для транскодирования файлов также открывает возможность обрабатывать UHD-контент быстрее, чем в реальном масштабе времени, за счет распределения рабочей нагрузки транскодирования между двумя экземплярами.
IIII Тестирование линейного транскодирования
Целью этих тестов является определение плотности каналов одного вычислительного экземпляра для различных типичных линейных рабочих процессов. Показатель плотности каналов просто определяется как количество каналов, которые экземпляр может обрабатывать без каких-либо проблем со стабильностью в течение длительного периода времени. Конфигурация каждого канала определяется параметрами входного потока и заданным количеством выходных профилей. Для этого теста линейного транскодирования видео мы установили набор выходных профилей в зависимости от спецификаций входного потока, и мы измерили максимальное количество каналов, которое может поддерживаться в конкретном экземпляре без ущерба для качества видео, и с учетом того, что экземпляр будет стабильным в течение длительного периода времени (каналы должны оставаться в рабочем состоянии в течение 24 часов подряд без каких-либо проблем, чтобы плотность была полностью проверена). Мы использовали источники и профили, обычно используемые поставщиками услуг и контента первого уровня.
Конфигурация UHD канала:
3840x2160p 59.94 Source | |||
Codec | Resolution | Framerate | Bitrate |
HEVC | 3840x2160 | 59.94 | 18 Mbps |
HEVC | 2560x1440 | 59.94 | 12 Mbps |
HEVC | 1920x1080 | 59.94 | 6 Mbps |
HEVC | 1280x720 | 59.94 | 4 Mbps |
HEVC | 960x540 | 59.94 | 2 Mbps |
HEVC | 960x540 | 59.94 | 1 Mbps |
Конфигурация канала 1080p
1920x1080p 59.94 Source | |||
Codec | Resolution | Framerate | Bitrate |
AVC | 1920x1080 | 59.94 | 8 Mbps |
AVC | 1280x720 | 59.94 | 6 Mbps |
AVC | 1280x720 | 29.97 | 2 Mbps |
AVC | 640x360 | 29.97 | 0.75 Mbps |
AVC | 480x288 | 29.97 | 0.5 Mbps |
Конфигурация канала 720p
1289x720p 59.94 Source | |||
Codec | Resolution | Framerate | Bitrate |
AVC | 1280x720 | 59.94 | 5 Mbps |
AVC | 1280x720 | 29.97 | 2 Mbps |
AVC | 640x360 | 29.97 | 0.75 Mbps |
AVC | 480x288 | 29.97 | 0.5 Mbps |
Входной контент поступал на IP вход, выходные потоки передавались по протоколу DASH. Параметры эталонного экземпляра для этого теста для сопоставления с производительностью экземпляра HB120rs_v3 - 96-ядерный компьютер на базе процессоров AMD EPYC 7002 второго поколения. Этот тип экземпляра доступен у всех трех поставщиков public облака и обычно используется для работы линейных транскодеров ATEME.
Результаты тестирования
Configuration | Instance Type | Channel Density |
UHD | 96 | 0 |
UHD | 120 | 1* |
1080p | 96 | 9 |
1080p | 120 | 11 |
720p | 96 | 13 |
720p | 120 | 22 |
* UHD Stack без профиля 1440p можно запустить с использованием параметров ATEME Constant Quality и High VQ на одном экземпляре HB120rs_v3 для получения видео высшего качества.
Как и следовало ожидать, высокопроизводительные вычислительные экземпляры HBv3 позволяют линейному транскодеру ATEME достичь лучшей плотности каналов для всех трех протестированных конфигураций. Для каналов UHD, 120-ядерные машины позволили обеспечить поддержку полного набора выходных профилей UHD на одном экземпляре, что было невозможно достичь на 96-ядерных машинах предыдущего поколения. Это достижение значительно упрощает поддержку обработки UHD контента в облачной среде, устраняя необходимость разделения канала на несколько машин со всей возникающей сложностью синхронизации. Как уже отмечалось, на одной машине может быть запущен полный стек UHD, но для профиля 1440p использование режимов Constant Quality rate control и High UHD обеспечивает высочайшее качество в этом рабочем процессе.
Для видео 1080p и 720p увеличение плотности каналов, обеспечиваемое новым высокопроизводительным вычислительным экземпляром, приводит к снижению затрат на инфраструктуру в расчете на канал. Для рабочего процесса 720p плотность увеличивается на 60%, что значительно превышает отношение количества ядер в этих двух экземплярах (120/96).
V Заключение
Эти тесты демонстрируют преимущества новых экземпляров высокопроизводительных решений Azure при их использовании и для транскодирования видео в облаке. Для случаев файлового транскодирования с использованием экземпляра HBv3 решение ATEME может обеспечить лучшую пропускную способность как для тестовых случаев UHD, так и для HD, снижая затраты на инфраструктуру на 75% для UHD и 35% - 45% для HD. Используя преимущества функции распределенного транскодирования ATEME, новые высокопроизводительные вычислительные инстансы также позволяют выполнять обработку UHD с высоким качеством и со скоростью, превышающей реальный масштаб времени. Для случаев использования линейного транскодирования видео экземпляры HBv3 позволяют решению ATEME достичь даже более высокой плотности каналов, чем в экземплярах предыдущего поколения - до 60% для рабочего процесса 720p. Это снижает затраты на облачную инфраструктуру и открывает новые рабочие процессы в облаке, поддерживая каналы UHD на одном экземпляре обработки, тем самым упрощая внедрение решения в облаке и обеспечивая большую гибкость.
Авторы:
Amilcar Padilla, Head of Solutions Engineering
Ryan Nolan, Deployment Engineering
Julien Carrat-Perrin, Solution Engineering
© ATEME 2021 – All Rights Reserved
Перевод на русский язык ООО «СВН ТВ»
АТЕМЕ транскодирование в облаке AZURE: высокоэффективная обработка файлового и живого контента