Как качественно стримить и записывать видео на видеокартах AMD

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Ни для кого не станет открытием, что среди известных стримеров популярностью пользуются видеокарты компании Nvidia. Но почему же не AMD? Если коротко, то на это есть весьма весомые причины. В этом материале вы узнаете: "Почему же так сложилось и как качественно стримить и записывать видео, если ты счастливый обладатель видеокарты от компании AMD".


Описание проблемы

Долгое время считалось, что для получения качественной картинки игровой процесс необходимо обязательно захватывать силами CPU с минимальным сжатием, как это делает FRAPS. Однако такой способ захвата хоть и позволял добиться желаемого, но существенно влиял на производительность системы.

Старый друг

Почесав репу и видя набирающую популярность игровых онлайн-трансляций, железные гиганты Nvidia и AMD создали и интегрировали в свои новейшие видеокарты аппаратные кодировщики NVENC и AMF/VCE, что обеспечивали высококачественную обработку видео, которая была быстрее и энергоэффективнее по сравнению с аналогичными кодировщиками на базе CPU. Ещё долгое время после релиза их качество оставляло желать лучшего, но с каждым поколением всё менялось.

Сравнение качества кодирования

Вот тут-то и кроется главная проблема. Если Nvidia работала не только над железом и алгоритмом кодирования, но и со многими разработчиками ПО, то компания AMD попросту забила на возможность проведения онлайн-трансляций силами GPU где-либо ещё, кроме как из своей панели управления драйверов. Такое решение привело к тому, что, запуская Obs-studio c какой-нибудь AMD Radeon RX 580 на борту, бедолаге геймеру было доступно весьма ограниченное количество настроек качества, и максимум, чем он мог поделиться, были лишь рассыпающиеся пиксели. Тем не менее не всё так плохо, потому как обычно, когда многомиллиардная компания не может или не хочет, за дело берутся энтузиасты.

Магия Open Source

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

Страница проекта на Github

Пользовательский энкодер amftest устанавливается простым переносом DLL в папку obs-studio/plugins/ и, в отличие от новейшей официальной реализации, позволяет получить доступ не только ко множеству настроек кодирования, но и обойти многие глупые ограничения, накладываемые со стороны производителя видеокарты.

Настройки OBS

У меня нет желания. Да и не имеет никакого смысла более подробно всё это расписывать. Всё, что вам необходимо знать, так это то, что благодаря amftes автору успешно удаётся стримить World of Tanks в 2K и 60 FPS на своей слабенькой AMD Radeon RX 550 без существенного влияния на производительность.

Тест

Проведём наглядное тестирование скорости и качества кодировщика AMD при 1080p и 60 FPS в игре World of Tanks на потоковом сервисе Trovo.


Тестовый стенд:

  • Процессор: Intel Pentium G4560 2/4 3.5 ГГц
  • Видеокарта: AMD Radeon RX 550 2 ГБ GDDR5
  • Оперативная память: 2x4 2400 МГц
  • Материнская плата: H110M-DGS R3.0 Bios 7.50
  • Накопитель: 2 Sata 3 SSD 128 и 256 ГБ
  • Звуковая система: Asus Strix Soar

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

Несмотря на дополнительное сжатие YouTube, преимущество amftest очевидно.

Заключение

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