Тестовый пакет iXBT Application Benchmark 2018, часть 4: программы видеоконвертирования в качестве теста процессоров и ПК

Эта статья является четвертой в цикле, посвященном различным реальным приложениям, которые могут использоваться для тестирования процессоров, компьютеров, ноутбуков и рабочих станций и которые в дальнейшем будут положены в основу обновленной версии нашего тестового пакета iXBT Application Benchmark 2018. Напомним, что в первой части данного цикла мы рассматривали приложение Adobe Photoshop СС 2018. Во второй статье мы уделили внимание приложениям Adobe Photoshop Lightroom Classic CC 2018 и Phase One Capture One Pro v10. В третьей части были рассмотрены программы создания и редактирования видеоконтента: Adobe Premiere Pro СС 2018, Magix Vegas Pro 15, Magix Movie Edit Pro 2017 Premium, Adobe After Effects CC 2018 и Photodex ProShow Producer 9.

В этой статье мы рассмотрим бесплатные программы, которые относятся к категории видеоконвертеров: MediaCoder x64 0.8.52.5920, HandBrake 1.0.7 и VidCoder 2.63. Собственно, во всех трех случаях речь идет лишь о графической оболочке для различных кодеков. Более того, утилита VidCoder 2.63 вообще основана на утилите HandBrake 1.0.7 и отличается от нее лишь графическим интерфейсом; по сути, VidCoder 2.63 — это тот же HandBrake 1.0.7. Тем не менее, мы решили задействовать и VidCoder 2.63, но тестовые задачи в программах VidCoder 2.63 и HandBrake 1.0.7 будут немного разные. Главное удобство такого подхода заключается в том, что при комментировании результатов тестирования можно будет коротко сказать «тест в MediaCoder», не перегружая статью деталями того, что во что и как конвертируется, а за деталями отослать в эту статью цикла с описанием методики.

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

И конечно же, конвертеры видео представляют собой отличный инструмент для тестирования процессоров, поскольку процедура видеоконвертирования отлично распараллеливается на все доступные ядра процессора и очень сильно загружает процессор.

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

HandBrake 1.0.7

HandBrake — это бесплатный видеоконвертер из любого формата видео с открытым исходным кодом. Есть версии для macOS, Windows и Linux. Для Windows имеются 32-битная и 64-битная версия программы. Утилита содержит огромное количество различных пресетов конвертирования (например, под устройства Apple iPod, iPhone, iPad, Apple TV, Android и др.), а также позволяет задавать параметры конвертирования вручную.

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

Синтаксис команды следующий:

HandBrakeCLI.exe [options] -i <входной_файл> -o <выходной_файл>

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

HandBrakeCLI.exe --help

Параметр -i задает входной видеофайл, а параметр -o — выходной видеофайл.

Теперь о главном и самом спорном моменте. При тестировании для видеоконвертирования мы используем видеоролик, снятый смартфоном Asus Zenfone 4 с разрешением 4K (3840×2160). Камера смартфона снимает видео в формате MPEG4 AVC c битрейтом 42,2 Мбит/с. Размер исходного видеоролика составляет 246 МБ, а длительность — 48 с. Для конвертирования используется пресет H.265 MKV 1080p30.

В этом случае синтаксис команды выглядит следующим образом:

HandBrakeCLI.exe --preset "H.265 MKV 1080p30" -i <входной_файл> -o <выходной_файл>

Измеряется время видеоконвертирования.

MediaCoder x64 0.8.52.5920

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

Программа MediaCoder имеется не только под Windows, но и под macOS и Linux. Под Windows существуют 32-битная и 64-битная версия программы. Для тестирования мы используем 64-битную Windows-версию 0.8.52.5920.

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

При тестировании мы используем тот же 4K-видеофайл, что и в случае программы HandBrake. Исходный видеофайл конвертируется c использованием кодека H.264 (x264) в контейнер AVI с уменьшением размера кадра до 1920×1080 и уменьшением видеобитрейта до 16 Мбит/с.

Настройки видеоконвертирования показаны на скриншоте.

Нам показалось нелогичным еще раз (как при использовании HandBrake) использовать видеокодек H.265 (несмотря на его растущую популярность), поэтому мы решили воспользоваться стандартом де-факто на текущий момент — кодеком H.264. Повторимся: различных сценариев может быть огромное количество, и предлагаемый нами наверняка будет сочтен не самым удачным.

VidCoder 2.63

Еще раз отметим, что утилита VidCoder 2.63 основана на утилите HandBrake 1.0.7 и отличается от нее лишь графическим интерфейсом, причем VidCoder можно запускать и в режиме командной строки. Чем именно пользоваться, HandBrake или VidCoder — дело вкуса. Нам показалось, что для таких задач, как видеоконвертирование фильмов с DVD или Blu-ray, то есть создание DVD/BD-Rip, использование утилиты VidCoder немного проще.

Именно поэтому в качестве теста с использованием утилиты VidCoder 2.63 мы выбрали видеоконвертирование реального DVD-фильма размером 4,33 ГБ (MPEG-2, 25 FPS). Фильм конвертировался кодеком H.264 (x264). Настройки кодека (пресет Normal) приведены далее:

Зависимость результатов от числа ядер процессора и технологии Hyper-Threading

Для того, чтобы проанализировать зависимость результатов тестирования от количества ядер процессора и технологии Hyper-Threading мы использовали стенд следующей конфигурации:

  • процессор: Intel Core i7–8700K;
  • видеокарта: процессорное графическое ядро (Intel UHD Graphics 630);
  • память: 16 ГБ DDR4–2400 (двухканальный режим работы);
  • материнская плата: Asus Maximus X Hero (Intel Z370);
  • накопитель: SSD Seagate ST480FN0021 (480 ГБ, SATA);
  • операционная система: Windows 10 (64 bit).

Количество доступных ядер процессора (от одного до шести) регулировалось в настройках UEFI BIOS. Один раз тестирование проводилось при использовании технологии Hyper-Threading, а второй раз — при отключении данной технологии в UEFI BIOS.

Результаты тестирования при использовании технологии Hyper-Threading приведены далее.

Как видно по результатам тестирования, результат (время выполнения теста) обратно пропорционально числу ядер процессора для всех приложений. Это абсолютно ожидаемо, поскольку используемая тестовая задача отлично распараллеливается на все ядра процессора и грузит при этом каждое ядро на 100%.

Аналогичная зависимость времени выполнения теста от числа ядер процессора получается и в случае, когда технология Hyper-Threading не используется.
Можно также сопоставить для каждого теста в отдельности результаты тестирования при использовании технологии Hyper-Threading и результаты без этой технологии.

Для теста на основе приложения MediaCoder использование технологии Hyper-Threading позволяет сократить время видеоконвертирования примерно на 20% при любом (от 1 до 6) числе ядер процессора.

Для теста на основе приложения HandBrake использование технологии Hyper-Threading сокращает время видеоконвертирования примерно на 20% при числе ядер от одного до трех, а при дальнейшем росте числа ядер сокращение времени видеоконвертирования начинает уменьшаться и составляет только 10% при шести ядрах.

Аналогичная зависимость от технологии Hyper-Threading наблюдается и в приложении VidCoder: при одном ядре сокращение времени видеоконвертирования при использовании технологии Hyper-Threading составляет 25%, но это сокращение уменьшается до 15% при шести ядрах процессора.

Заключение

В этой статье мы подробно рассмотрели тесты на основе приложений MediaCoder x64 0.8.52.5920, HandBrake 1.0.7 и VidCoder 2.63, которые в дальнейшем будут использоваться в нашем тестовом пакете iXBT Application Benchmark 2018. В следующей статье нашего цикла, посвященного разработке нового пакета тестов на основе реальных приложений, мы рассмотрим рендеры POV-Ray, LuxRender и Blender.

Полный текст статьи читайте на iXBT