Через что стримить видеокарту или процессор
Оптимальные настройки для лучшего качества стрима
Для начала, прежде чем мы перейдём непосредственно к тестированию, поговорим о тестовой платформе.
В последние несколько месяцев кодирование с помощью видеокарты вышло на новый уровень за счёт того, что Nvidia обновили движок аппаратного кодирования на видеокартах с новой архитектурой Turing.
Фото с Techspot.com
На новых видеокартах много внимания было уделено повышению производительности и улучшению совместимости с HEVC, что не особо важно для стриминга. Новый движок архитектуры Turing предполагает 15% улучшение качества видео стандарта H.264, в сравнении с прошлым поколением видеокарт на Pascal (серия GTX 10xx). Мы определённо обратим на это внимание, а заодно посмотрим, как Turing работает с программным кодированием x264. Итак, в тестах мы будем использовать видеокарту RTX 2080, чтобы посмотреть на работу с кодированием Turing, Titan X Pascal для тестов видеокарты на Pascal, и Vega 64, чтобы увидеть, как пойдут дела у AMD.
Фото с Techspot.com
Все тесты проводились на разогнанном до 4.9 GHz Core i7-8700k и 16 ГБ оперативной памяти DDR4-3000. Именно такую платформу мы рекомендуем для игр на максимуме. В будущем мы также планируем разобраться, насколько хорош 9900K в сравнении с процессорами Ryzen от AMD.
Для захвата мы используем последнюю версию OBS, настроенную на запись в 1080p при 60 кадрах в секунду с постоянным битрейтом 6000 кбит/с. Это максимальные настройки качества, рекомендованные Twitch. Если вы собираетесь сделать запись игрового процесса для иных целей, то мы рекомендуем вам поднять битрейт, но для ведения трансляции на Twitch, вам нужно иметь 6 Мб/с или ниже, если ваш канал не подключен к партнёрской программе.
Начнём с кодирования при помощи видеокарт, ведь долгие годы с ним были огромные проблемы. Больше всего нам интересно, получилось ли у Turing исправить ошибки своих предшественников, с которыми использовать кодирование было практически невозможно.
На видеокартах от Nvidia мы использовали NVENC в OBS и выбрали “Высокое Качество” при битрейте 6 Мбит/c. Разумеется есть и другие надстройки, но “Высокое Качество” выдаёт, как вы могли догадаться, самое высокое качество. На видеокартах Vega 64 от AMD мы опробовали множество разных настроек (как качества в целом, так и битрейта), но без особых успехов, как вы сами вскоре увидите.
Фото с Techspot.com
Фото с Techspot.com
Фото с Techspot.com
С тем, что энкодер от AMD “отвалился” еще в самом начале, давайте рассмотрим противостояние NVENC от Nvidia с процессорным программным кодингом x264. В более медленном тесте производительности Assassin’s Creed Odyssey, NVENC даже на “Высоком Качестве” заметно хуже, чем x264 с надстройками “Veryfast”, особенно при сравнении мелких деталей, хотя в обоих случаях используется битрейт 6 Мб/с. Veryfast x264 не идеален, но на фоне NVENC видеокарт Turing с огромным количеством макроблокинга и нечёткими деталями, он выглядит явным лидером.
Фото с Techspot.com
В более быстром тесте производительности Forza Horizon 4, NVENC видеокарт Turing местами уделывает надстройку veryfast x264. Вариант от Nvidia всё ещё страдает от макроблокинга, но у veryfast огромные проблемы с качеством деталей в движении. В игре с таким количеством движения, NVENC по качеству надстройки примерно равен “faster” x264. Тем не менее, надстройка “fast” x264 работает с движущимися объектами намного лучше, чем NVENC и даже полностью уделывает её, в случаях, когда движение на экране минимально, либо отсутствует вовсе.
Фото с Techspot.com
Фото с Techspot.com
Эти две надстройки лучше оставить для тех случаев, когда качество не особо важно, поскольку при битрейте 6 Мбит/с изображение получается весьма посредственным.
Фото с Techspot.com
Фото с Techspot.com
Для быстрого движения в Forza Horizon 4, опять же, стоит сразу забыть о veryfast, поскольку в случае с подобными играми он даже хуже NVENC. К сожалению, из-за битрейта в 6 Мбит/с, любая надстройка будет далека от оригинального материала, но medium визуально будет к нему ближе всего, да и смотрится намного лучше, чем с fast.
Производительность
Начнём, пожалуй, с графиков влияния кодирования при помощи видеокарты на производительность.
Включив NVENC на картах Pascal или Turing, вы потеряете примерно 10-20% кадров в секунду, в зависимости от игры. Другими словами, между трансляцией с NVENC и выключенным стримом, разница в производительности будет 10-20%. Однако, чем больше игра зависит от видеокарты, тем сильнее NVENC ударит по производительности. Вот почему Forza Horizon 4 теряет больше кадров, чем зависимая от процессора Assassin’s Creed Odyssey.
Но есть и хорошие новости! Пусть вы и будете играть на чуть более низких кадрах в секунду при использовании NVENC, на трансляции будет идеальная картинка без падения кадров, даже если игра грузит видеокарту на 100%. Кодирующий движок карт AMD не так сильно влияет на производительность игры, но в случае высокой загрузки видеокарты происходит падение числа кадров в секунду примерно на 90%, что, как мы упоминали ранее, делает его бесполезным.
Производительность в режиме программного кодирования зависит от конкретной игры. В случае с требовательной как к процессору, так и к видеокарте Assassin’s Creed Odyssey, использование программного кодирования процессора для ведения трансляции может негативно сказаться на частоте кадров, да и надстройки, обеспечивающие высокое качество, могут не справляться.
Во второй части исследования будет интересно разобраться в том, как покажут себя другие процессоры. Но в этой части 8700K, популярный игровой процессор высокого уровня, показал примерную ситуацию с трансляцией игры, которая крайне требовательна к процессору и видеокарте. Тем не менее, процессоры похуже, особенно малоядерные от Intel, в основном будут нормально работать на надстройке veryfast.
Надстройка veryfast x264 снизила производительность всего на 6% (если верить минимальным кадрам в секунду), но разница между veryfast и fast равнялась всего 5%, несмотря на то, что для кодирования видео на надстройке fast требовалось значительно больше мощностей процессора.
На самой трансляции мы не увидели падения числа кадров на надстройках veryfast и faster, но уже на fast можно было заметить снижение числа кадров трансляции примерно на 12%. Из-за этого она периодически шла рывками. Учитывая, что игра работала на 120 кадрах в секунду, можно запросто поставить ограничение в 60 кадров, тем самым снизив нагрузку на процессор. С подобным ограничением, надстройка fast в итоге работает уже без падения числа кадров трансляции. Кроме того, это ограничение дает нам возможность опробовать medium, но даже с нашим процессором 8700K, наблюдалось падение числа кадров примерно на 2%, что не годится. Если мы бы планировали и дальше работать с надстройкой medium, то пришлось бы немного покопаться в настройках графики, чтобы ещё сильнее снизить нагрузку на процессор.
Предварительные итоги
По итогам тестирования, можно сделать несколько интересных выводов. Мы узнали, что кодирующий движок видеокарт Turing в H.264 стал не особо лучше (хотя было заявлено обратное), в сравнении с Pascal, а кодирование при помощи видеокарты всё ещё не стоит рассматривать, как вариант для стримов.
Фото с Techspot.com
Стримерам стоит использовать, как минимум, надстройку fast, так как это первая с конца надстройка, выдающая достаточно неплохое качество при битрейте 6 Мбит/с. Пусть она и не идеальна для быстрых сцен, эта надстройка работает в разы лучше, чем faster и veryfast, при этом оставаясь более-менее доступной для средних систем. Если у вас очень мощное железо, то можно попробовать и medium, а вот более медленные надстройки лучше даже не трогать.
Мы рассмотрели оптимальные надстройки с точки зрения качества, а в следующей статье мы постараемся разобраться в том, какие процессоры способны кодировать на этих надстройках. Оставайтесь с нами!
Оптимальные настройки OBS для стрима (разные варианты мощности)
Здравствуйте, уважаемые читатели сайта Uspei.com. Пришло время для второй серии «Мамкиного стримера», и сегодня рассмотрим первоначальную настройку OBS. В прошлый раз мы собрали и потестили оптимальное оборудование для стрима в Full HD 60 FPS.
Я постараюсь максимально быстро и информативно рассказать про важные пункты, подобрать оптимальные настройки для разных компьютеров под каждый кодировщик: NVENC, x264, Quick Sync и AVC Encoder для видеокарт AMD.
У некоторых может возникнуть вопрос, почему OBS, а не Xsplit. Во-первых, OBS бесплатна. А во-вторых, менее требовательна к ресурсам ПК. И при одинаковых пресетах OBS будет загружать компьютер намного меньше.
Да, кстати, если в турбо-версии страницы картинки у вас будут сильно размыты, перейдите на оригинальную версию страницы на сайте. Там все изображения в высоком качестве. Давайте уже начнем!
Выбор платформы, поиск ключа потока
Для начала нам потребуется вкладка «Вещание», в которой мы выбираем платформу для стриминга. Можно выбрать Youtube, Twitch, и другие. Для мультитрансляций на несколько платформ можно использовать сервис Restream.io.
У каждого сервиса есть свой уникальный ключ потока, с помощью которого мы подключаем программу для стрима к каналу.
Чтобы его найти для Youtube, заходим в «Творческую студию» и внизу копируем «Ключ трансляции». После чего в OBS вставляем в соответствующую строку.
На Twitch ключ трансляции находится в «Панели управления», подкатегория «Канал». При необходимости его всегда можно сбросить.
Часто бывает, что на выходных серверы перегружены и стрим может подтормаживать. Поэтому предусмотрены дополнительные серверы для приема потока.
У Youtube их всего два. А для Twitch рекомендую подобрать сервер с минимальным пингом. Это можно сделать с помощью сайта Twitch Inspector, на котором можно проверить стабильность тестовой трансляции.
Перейдем к самому главному и интересному пункту настройки – «Вывод». В нем и происходит вся магия, и найти оптимальные значения вам придется на практике самим. Я же дам пару советов, которые помогут создать трансляцию в максимальном качестве при минимальной нагрузке железа.
Стриминг через процессор кодеком x264
Сразу же включаем параметр «Расширенный», чтобы получить доступ к максимуму настроек. Для начала рассмотрим стриминг с помощью процессора через кодек x264.
Оптимальное разрешение для стрима – 1920 на 1080 точек для средних и мощных ПК. Если же у вас слабый ПК или большое разрешение не обязательно, то можно оставить 720p. При меньшем смотреть стрим будет некомфортно.
Настройка битрейтов
Управление битрейтом – рекомендую устанавливать постоянный (CBR). С ним картинка не будет периодически «сыпаться», как это было бы с VBR. Сжатие с помощью ABR позволяет установить минимальное и максимальное значение битрейта, за которые OBS не будет выходить.
Битрейт – это количество информации, которая будет передаваться за единицу времени. Так что именно этот параметр больше всего влияет на качество картинки.
Однако замечу, что битрейт нужно подбирать исходя из вашей скорости интернета и качества трансляции. Учитывать нужно скорость передачи от вас на сервер (картинка speed-теста).
Вот еще одна таблица с форума для стримеров:
Учтите, что эти значения руководствуются критериями качества на youtube. Т.е. эти значения во многом соответствую не игровой тематике, а формату видеороликов, снятых на камеру.
Итого, для стримов на твиче я рекомендую следующий битрейт:
АПДЕЙТ: Твич повысил максимальный битрейт с 3500 до 6000. Так что если у вас мощный комп, можно смело ставить, например, 720 в 60фпс с битрейтом 5к Также важно понимать, что выбор битрейта зависит от конкретной игры. Если вы играете в пиксельную игру вроде Realm of the Mad God, большой битрейт погоды не сделает, т.к. сама игра не блещет графикой. Также высокое качество картинки не важно в статичных играх вроде Hearthstone, где большинство зрителей и так в курсе какая карта что делает.
Регулировка интервала между ключевыми кадрами (например, 8) может улучшить качество картинки и более эффективно использовать выбранный битрейт. Ключевой кадр кодируется полностью, следующий за ним содержит только отличия от ключевого, третий – отличия от второго и так далее до следующего ключевого кадра.
Для не слишком динамичных игр интервал можно повысить, поскольку там картинка кардинально и быстро не меняется. Для динамичных больше одного ключевого кадра в 3 секунды ставить не рекомендую – картинка будет сильно замылена.
Предустановка использования ЦП отвечает за нагрузку процессора и качество картинки. Если процессор мощный, то можно повысить параметр, получив более качественную картинку.
И наоборот, если машина не справляется со стримом и игрой одновременно, то стоит понизить использование ЦП, чтобы видео было плавнее. Рекомендуемое значение для слабых и средних процессоров «Veryfast».
Пункт профиль напрямую зависит от вашего железа. Для более старых комплектующих желательно устанавливать main, для более новых – high. При этом потеря качества будет минимальна.
Настройка стрима через видеокарту и кодек NVENC H.264
Теперь рассмотрим настройки трансляции через NVENC H.264 кодек для видеокарт NVIDIA. Особых отличий здесь нет. Всё та же строчка с битрейтом, пресетами и профилями.
Пресеты здесь уже обозначены по-человечески, и из названия можно понять, как повысить качество картинки и как снизить нагрузку на видеокарту. Однако параметр уровень (чего?) – это уже более точная поднастройка, куда нам, нубам, пока еще лезть рано. Поэтому оставляем его в режиме «авто».
При использовании двухпроходного кодирования качество картинки улучшится, но нагрузка на GPU возрастет. Но это адекватная цена, поэтому ставим галочку.
Если ты мажор и у тебя несколько видеокарт в SLI, то в следующем пункте GPU устанавливай значение «один» для двух видеокарт, значение два – для трех и тд. Если у тебя только одна видеокарта, то оставляй значение «ноль».
Использование B-кадров означает, что данный кадр ссылается на два соседних – предыдущий и следующий. Это ускоряет отрисовку и снижает нагрузку на железо. Оставляем значение в 2.
Стриминг через видеокарты AMD AVC Encoder
Стриминг через видеокарты AMD. Здесь есть тоже свои пресеты, в которых достаточно поменять битрейт на желаемый под ваше разрешение.
Если перейти в режим просмотра «Эксперт», то можно максимально детально настроить кодер под свои нужды. Однако я на этом заострять внимание не буду, так как, во-первых, это растянет обзор на длинную простыню, а во-вторых – мало кто использует видеокарты AMD для стриминга.
Quick Sync
Также есть возможность кодирования трансляции через Quick Sync и встроенного видеоядра в процессоры Intel. Однако качество будет ниже среднего, хоть и снизится основная нагрузка на процессор.
Для включения технологии необходимо зайти в BIOS и изменить пункт мульти-монитора в разделе встроенного видеоядра на Enable. На разных материнских платах название может отличаться. Далее настройка аналогичная как для стриминга через процессор.
Настройки аудио
Следующий пункт – «Аудио». Здесь вы можете подключить несколько аудио устройств для воспроизведения в трансляции, выбрать качество, определить количество каналов, задать задержку включения и выключения микрофона.
Аудио битрейт для стрима должен также отличатся в зависимости от вашего разрешения, иначе звук может лагать. Рекомендую следующие значения аудио битрейта:
При стриминге на низких разрешениях (до 720) можно попробовать и более высокий аудиобитрейт, экспериментируйте.
Дополнительные настройки видео
В разделе «Видео» задается нативное разрешение экрана, выходное разрешение для трансляции и определяется максимальное значение FPS.
Фильтр масштабирования – очень полезная функция. Объясню, чем отличаются методы и какой лучше подобрать под ваш компьютер.
Второй метод – бикубический. Его стримеры используют чаще всего. Оптимальное сочетание нагрузки и качества изображения.
Третий и самый ресурсозатратный метод – Ланцоша. Качество трансляции будет максимальным, как и нагрузка на ПК. Не рекомендую использовать с процессорами слабее Ryzen 5 1400, Intel Сore i5 6400 и видеокартах младше GTX 1060 с 6 GB.
В разделе «Горячих клавиш» можно задать комбинации или отдельные бинды на быстрое включение определенных функции или смены сцен трансляции.
В «Расширенных настройках» советую поставить приоритет процесса на высокий, чтобы фоновые обновления или другой софт не занимали необходимые ресурсы. Цветовой формат, пространство и диапазон лучше не трогать.
Настройка первого стрима
Теперь создадим нашу первую сцену с игрой и нашей веб-камерой. Для начала слева внизу нажимаем на плюс и создаем первую сцену.
Правее находятся источники, которые мы будем постепенно заполнять.
Начнем с добавления игры, которую будем транслировать. Нажимаем в источниках «плюс», выбираем «Захват игры».
В пункте «Режим» ставим «Захват отдельного окна». В будущем при выведении чата на экран это поможет его отобразить на трансляции.
В пункте «Окно» выбираем уже запущенную на фоне игру и нажимаем «ОК».
Далее нам необходимо добавить веб-камеру. В источниках выбираем пункт «Устройства захвата видео» и откроется окно настройки.
Выбираем устройство, выставляем желаемое разрешение и количество FPS для вашей камеры.
В основном окне OBS задаем размер и расположение картинки с веб-камеры. При зажатом ALT можно кадрировать картинку.
Теперь добавим в источники свой микрофон. Там же в плюсике «Источники» выбираем «Захват входного аудиопотока», из выпадающего списка находим микрофон и подтверждаем.
Если сильно фонит и захватывает все посторонние шумы, воспользуйтесь фильтрами и шумоподавлением.
Каждому придется подбирать настройки самостоятельно, поскольку микрофон микрофону рознь. И не забудьте отключить лишние источники аудио, иначе будет неприятное эхо.
Базовые настройки для создания первой трансляции я вам рассказал. В следующий раз я объясню, как подключить донат-систему, отобразить чат и покажу интересные программы для интерактива на ваших стримах.
Стрим на x264 кодеке, а что с видеокартой?
02 Dec 2018 в 19:53
02 Dec 2018 в 19:53 #1
Правильно ли я понимаю, что если стримить за счет мощности процессора, то это совершенно никак не отражается на нагрузке на видеокарту?
Допустим, у меня видюха будет выдавать в доте 100 фпс, я подрубаю стрим на x264, т.е. используя мощность процессора, то при этом у меня все также будет оставаться 100 фпс?
02 Dec 2018 в 21:00 #2
Только в зависимости от проца и пресета качества просадок по фпс может и не быть, но так как Н.264 очень жирный кодек и жрёт он ой как много при приличном качестве, то его лучше юзать на многоядерных процах типо рязани р7.
При стриме через видюху проц всё равно будет нагружаться, только на порядок меньше.
02 Dec 2018 в 21:18 #3
Только в зависимости от проца и пресета качества просадок по фпс может и не быть, но так как Н.264 очень жирный кодек и жрёт он ой как много при приличном качестве, то его лучше юзать на многоядерных процах типо рязани р7.
При стриме через видюху проц всё равно будет нагружаться, только на порядок меньше.
хочу доту строго стабильно на 144 фпса, т.к. новый моник 144 гц, поэтому теряюсь в выборе пк, либо брать 1060 6Gb, либо 1070, не знаю, что брать
03 Dec 2018 в 13:28 #4
Правильно ли я понимаю, что если стримить за счет мощности процессора, то это совершенно никак не отражается на нагрузке на видеокарту?
Допустим, у меня видюха будет выдавать в доте 100 фпс, я подрубаю стрим на x264, т.е. используя мощность процессора, то при этом у меня все также будет оставаться 100 фпс?
скорее всего будет просадка, потому что процессор таки будет отвлекаться на кодирование и видеокарта заскучает :>
03 Dec 2018 в 16:50 #5
Правильно ли я понимаю, что если стримить за счет мощности процессора, то это совершенно никак не отражается на нагрузке на видеокарту?
Допустим, у меня видюха будет выдавать в доте 100 фпс, я подрубаю стрим на x264, т.е. используя мощность процессора, то при этом у меня все также будет оставаться 100 фпс?
начнем с того что на кодеке nvenc (в-картой) стримят только те кого смотрит 0 человек, ибо качество картинки с тех 6к битрейта что позволяет твич для нормальной картинки крайне мало
х264 первые два пресета на таком же донном уровне, что и nvenc
убогие пикселы, искажение картинки особенно при динамических сценах
хорошая картинка в 1080 от пресета very\faster если проц хорошой то и фаст пресет можно юзать, для доты хватит какого нибудь райзена 2600х на 4ггц
ну и держу в курсе, для помойки2 на 144гц лучше брать 1070 видюху чтобы не было просадок в файтах если на максималках играешь