Основанный на реальных событиях шаманизм по настройке стрима в OBS
Я давно хотел собрать воедино всю ту информацию, которую накопал о процессе стриминга на твиче или ютубе за последние полтора года. Мой родной Geektimes издатели пристрелили, этому материалу на Хабре не особо место, так что я здесь. Да, это была ремарка для тех, кому мой никнейм показался знакомым по другому ресурсу. И предупреждаю, что это текст для простых работяг, оставшихся один на один с OBS, и с уровнем инженеров или профессионалов в работе с видео он не имеет ничего общего.
По всей видимости, статья получится большая, так что устраивайтесь поудобнее. Мы рассмотрим все стадии и аспекты стриминга, начиная от работы на самой простой «средненькой» станции и до обмазывания стрим ПК, пантографом и хромакеем. Вообще это был увлекательный путь: стриминг на процессоре, стриминг через видеокарту, потом стриминг с двух видеокарт (sic! расскажу подробно) и, в итоге, сборка стрим ПК.
Сегодня я расскажу про стрим с одного ПК. Если статья зайдет — продолжим и про конфиг с двумя машинами. Ну, поехали.
У многих игроков время от времени возникает желание начать самим стримить что-либо. Кто-то очень хорош в игре, кому-то хочется пообщаться с чатом. Я вот из последних. Началось все полтора года назад, осенью 2018 года, когда я решил для собственной коммуночки постримить Stellaris и попутно пообщаться, благо многие люди из моей закрытой конференции проявляли интерес к этой игре. На тот момент я как полгода пересобрал свой ПК и был им достаточно горд. Давайте посмотрим на конфигурацию:
- шестиядерный i7-8700 + мать на чипсете z370 от AORUS;
- 16 Gb 3200 Mhz RAM;
- GTX 1060 6 Gb Xtreme Edition (это уже снятая с продажи дура на 3,5 слота с разогнанными на заводе частотами до уровня практически 1070);
- SSD m.2 samsung Evo 950.
Сразу скажу, что эта конфигурация для стримов сейчас слабовата.
В 2018 году все стримили на процессорах через x264 и были более-менее счастливы. Мой камень под требования к стримингу того времени подходил как нельзя лучше. Первый стрим прошел сразу в 1080р на veryfast пресете OBS и тогда же от меня потребовали веб-камеру. Стоила она мне примерно 2000 рублей и это были первые траты в череде бесконечных расходов на стриминг. Но сейчас не об этом. Поговорим о настройках OBS, потому что мне до сих пор приходится копаться в недрах интернета, чтобы выудить хоть какую-нибудь информацию.
Сейчас в OBS есть два основных типа кодировщиков: классический x264 и NVENC (new), выпущенный +\- год назад совместно с командой NVIDIA. Начнем с азов.
Кодировщик x264 работает за счет ресурсов центрального процессора, причем любого производителя, будь то Intel или AMD. Для персональных компьютеров до недавнего времени были доступны пресеты кодирования не ниже Medium:
Теперь давайте проясним раз и навсегда, что значит «(выше = меньше)» на скрине выше. Чем быстрее использование CPU, тем меньшую нагрузку он испытывает при рендере кадра. То есть условный ultrafast запустится почти на чем угодно, но так как ресурсов на рендер было затрачено минимально, то и качество картинки будет соответствующее. Хорошая картинка с минимумом артефактов получается на пресетах Medium и Slow — это пороговые значения для современных персональных компьютеров. Для рендера в Slow вам понадобится, по моим прикидкам, Ryzen 3900X и самая быстрая память к нему, но не факт, что он вытянет 1080р качество. Для стрима в Slower-Placebo нужен полноценный сервер с Threadripper или топовым Xeon, возможно, с двумя такими процессорами. Так что Medium — наш психологический порог.
При этом нужно понимать, что при рендере в Medium в качестве даже 720р потребление вашего CPU из линейки i7-8xxx и выше (или Ryzen 5-7 2xxx) составит не менее 40-45% с высоким приоритетом самого OBS. Любое другое приложение, например, CPU-зависимая игра вида CS:GO, получит либо просадки FPS, либо вызовет потерю кадров при рендеринге в OBS. Но есть и игры, где основную нагрузку испытывает только видеокарта, так что для каждой из них значение этого пресета надо подбирать отдельно.
Теперь поговорим о битрейте.
Вики говорит: Битре́йт (от англ. bitrate) — количество бит, используемых для передачи/обработки данных в единицу времени. Битрейт принято использовать при измерении эффективной скорости передачи потока данных по каналу, то есть минимального размера канала, который сможет пропустить этот поток без задержек.
Но в нашем случае битрейт — это степень сжатия потока. Причем степень эта обратнопропорциональна качеству. Чем ниже битрейт, тем больше сжатие и тем больше потери качества на выходе.
Сейчас пороговые значения Twitch по битрейту для не-партнеров (то есть для ребят без галочки и онлайна 100+) составляют 6000 kbps, а для партнеров — 8000 kbps. На ютубе этот параметр повыше и, вроде как, составляет 8000-10000 kbps для кого угодно.
Битрейт крайне важен, потому что он наравне с пресетом кодировщика определяет качество картинки, которую вы отправляете на стрим. Чем выше битрейт — тем лучше.
Для примера: картинка в пресете Medium с битрейтом 1500 будет намного хуже, чем картинка в Fast с битрейтом 6000, хотя вроде как, мы кодируем с большей нагрузкой на CPU. При этом параметр битрейта дает свою нагрузку на кодировщик, то есть это еще одна обуза для процессора. Таким образом, при подборе параметров кодировки вам нужно найти оптимальный пресет для максимального битрейта выбранной вами площадки.
При этом выставлять максимальный битрейт, то есть 20000 вместо 6000 бесполезно: на сервера Твича пролезет только 6000, все остальное канет в Лету. Задирать битрейт имеет смысл только при записи VOD-ов или других видео со своего ПК.
В параметр «Управление битрейтом» лучше не лезть. Достаточно знать, что CBR — это значение постоянного битрейта и все площадки дают характеристики своих серверов именно в CBR. Другие виды битрейта стоит изучать, если вы занимаетесь видеопродакшеном, но, в таком случае, вы должны знать в этой теме намного больше меня. А я тут про стриминг рассказываю.
Под пресетами использования ЦП есть параметр «Профиль», смысл которого понимают не многие. Олды-пираты знают, что у транскодера х264, как и у H.264, есть целая уйма параметров того, как он рассчитывает картинку и потом ее собирает. Чтобы не взрывать мозг школьникам и простым работягам, разработчики упаковали часть этого зоопарка в три простых слова: «baseline», «main» и «high».
Интуитивно понятно, что лучше использовать параметр «High», но что это значит?
В «Baseline» поддерживается только ограниченное подмножество методов транскодирования, что проще для процессора и требует меньше вычислительной мощности. Следовательно, этот профиль подходит для маломощных устройств или для процессоров с низким энергопотреблением и т.д. и т.п.
Профиль «Main» поддерживает большинство методов транскодинга x264, так что и жрет он больше памяти и вычислительных мощностей процессора. Основной профиль обычно используется средними или специальными устройствами, типа ТВ-приставок и т.п.
А вот профиль «High» поддерживает практически все методы транскодирования x264. Он предназначен для создания HD (720p) и FullHD (1080р) потоков или записей, а также для вещания уровня Blueray и HD Satellite. Именно профиль «High» обычно поддерживается программными декодерами, к которым относится OBS.
Так что если собираетесь стримить в хорошем качестве — выбираем «High».
Ну и последний, но самый коварный параметр кодировщика x264 — «Настройка». В нем спрятаны те параметры x264, которые не вошли в тройку «Baseline», «Main» и «High».
И тут мы сталкиваемся с мистификацией уровня «Ежик ест яблоки и добрый», хотя на самом деле это жестокий всеядный хищник, который устроит мышам, змеям и другим гадам на вашем участке форменный Вьетнам с гуками и волчьими ямами.
ВО ВСЕХ «МАНУАЛАХ» СОВЕТУЮТ ДЛЯ СТРИМОВ ИСПОЛЬЗОВАТЬ ПАРАМЕТР «Zerolatency» или «Fastdecode». И ЭТО ОШИБКА.
Но что на самом деле они делают, если задуматься? Они оба ограничивают время, которое процессор может рендерить кадр и потом сжимать его для передачи на сервер. А что получается при спешке? Правильно, более простые алгоритмы сжатия и кодирования, что приводит к шакализации изображения на ровном месте.
Вообще, все параметры из «настройки» — скорее про запись видео, чем про стриминг. Поэтому самым правильным является следующая модель поведения: ничего не трогать и оставить это поле пустым. Именно без каких-либо настроек вы получите наиболее чистую картинку.
Из информации выше можно сделать простой вывод: стрим в 1080р не всегда будет выглядеть лучше, чем стрим в 720р.
В настройках OBS есть прекрасная вкладка «Видео», в которой вы выставляете, с какого разрешения вы забираете картинку с экрана и в каком разрешении получите результат вашего транскодирования. Стрим в 1080р — это серьезная нагрузка на CPU, да и в фуллскрине стримы смотрят нечасто. Так что лучшим выбором является либо HD-качество 720р, либо промежуточное 900р.
С фильтром масштабирования все просто: лучший — Метод Ланцоша с 36 выборками. Все остальные будут квадратить изображение в той или иной степени.
Внимательный пользователь заметит, что в настройках OBS нет качества 900р, идет 720, потом 864р и потом сразу 1080р.
На самом деле это поле можно заполнять вручную и указать любое значение, хоть 920р, хоть 777р, главное соблюдать соотношение сторон 16:9, чтобы вашу картинку не растянуло в рандомном направлении:
Стрим менее, чем в 60 FPS в 2020 году — моветон. И, как можно догадаться, высокие значения FPS дают дополнительную нагрузку на процессор. Конечно, некоторые новички настраивают стрим так, что у них идет картинка в 1080p на быстром пресете в 30 FPS, но смотреть это невозможно — нет плавности. Хотя их оборудование позволяет стримить в 720р и 60 FPS с Ланцошем 36. Тут опять надо экспериментировать, так что рекомендую завести фейковый канал и отсматривать, что происходит на экране при тех или иных настройках.
NVENC — это одновременно и кодировщик, и чип на видеокарте NVIDIA. Но не надо путать его с графическим процессором и CUDA-ядрами. NVENC-чип — это отдельная приблуда на текстолите, у которой есть только одна задача. И эта задача — рендеринг.
То есть, покупая современную видеокарту от NVIDIA в комплекте с ней идет и встроенный кодировщик, а с выпуском нового кодека NVENC (new), он еще стал и лучше работать.
Зачем нужен был новый NVENC и почему он появился около года назад? Ответ прост: серия RTX.
Серия видеокарт RTX от NVIDIA стали оснащаться чипами NVENC нового поколения, лучше, чем на серии GTX 1xxx. Причем по заверениям производителя, чипы NVENC на всех карточках RTX одинаковы, как на 2060, так и на 2080 Ti Trio.
Вопрос в том, что при всей крутости NVENC, он все равно обращается к CUDA-ядрам видеокарты, но отбор мощности, на самом деле, невелик. Для моей GTX 1060 Xtreme стрим в 720р с ланцошем 36 и битрейтом 5500 создавал нагрузку в 9-11% от всей мощности видеокарты.
На серии RTX чипы NVENC намного мощнее. Фактически, RTX 2080 Ti Trio 11 Gb способна выдавать 1080p стрим в 8000 kbps битрейте на максимальных пресетах видеокарты, что будет очень близко к качеству картинки через процессор на пресете Medium. При этом карта толком этого не почувствует.
При всей самодостаточности NVENC, у него есть несколько слабых мест:
В случае одновременной отрисовки на мониторе, и рендере на NVENC динамических сцен, приоритет, ожидаемо, отдается монитору, так что даже на 2080 Ti картинка в слишком быстрых моментах или при взрывах может начать сыпаться;
специальный параметр «предугадывание», который создает дополнительные бета-кадры, с высокодинамичными сценами не работает, о чем втихаря заявляют и сами разрабы карточки.
В остальном настройки NVENC даже проще, чем у х264:
Только в случае с NVENC разработчики не стали дразнить пользователей и пресет «Макс. качество» доступен любому владельцу более-менее мощной видеокарты, начиная где-то с GTX 1050 и выше. Дальше все зависит исключительно от нагрузки на саму видеокарту.
Про B-кадры отдельно расписывать не буду, их лучше вообще не трогать и оставить настройку автоматической. О типах кадров можно почитать вот тут.
С 1080р и вкладкой «видео» у NVENC примерно такие же отношения, как и у х264. При этом стриминг через карту намного комфортнее и проще. Так что если хотите хорошего качества — берите RTX 2080 Ti Trio 11 Gb и закрывайте этот гайд.
А теперь начинается мякотка.
В этой подглаве я объединил три популярные проблемы.
Многие, в том числе и я, сталкивался с лаганием стрима, когда с игрой все хорошо. Очень часто в этом виноват недостаточный приоритет процесса OBS, ведь ему надо работать без перебоев в режиме реального времени.
Один из вариантов — повысить приоритет процесса в настройках самого OBS до «высокий». И чаще всего это решает большинство проблем с ресурсовыделением:
Но есть в Windows еще и подводный камень, который должен помогать геймерам, но подбрасывает головную боль. Прячется ОНО вот тут:
Что это такое и чем оно не угодило стримерам? По факту, игровой режим — это полицай, который винтит все процессы кроме процесса запущенной прямо сейчас игры на переднем плане. То есть, когда OBS пытается отобрать хоть сколько-нибудь пусть и простаивающих мощностей, игровой режим начинает ограничивать его. В некоторых случаях эта скотина и вовсе резервирует чуть ли не 99% видеокарты под игру, нагло показывая фиги всем остальным.
Отключение игрового режима выгоняет этого поехавшего из хаты и позволяет OBS спокойно работать. И тут уже все зависит от ваших настроек и конфигурации ПК, будет ли OBS и игра жить вместе, либо нет.
В некоторых случаях рекомендуется вручную внести в Windows высокую производительность графики в OBS, если вы стримите через NVENC:
Еще один момент — параметр скорости захвата изображения самим OBS. Прячется в настройках захвата в сцене:
Эту настройку вообще не рекомендуется трогать, если у вас нет проблем с производительностью. Мне же пришлось с ней познакомиться, так как я стримил крайне прожорливый Apex Legends. Смена скорости захвата на «Быстрейшая» позволила избавиться от лагов на стриме, но немного ухудшила качество картинки.
Если у вас есть такие же проблемы, то есть стрим дергается — советую обратиться к этому параметру.
Далее расскажу еще пару лайфхацков для начинающего стримера.
А теперь плавно перекатываемся к теме звука. OBS позволяет подключать множество источников медиа к себе, в том числе определенные устройства воспроизведения звука.
Многие хотят, чтобы зрители в фоне слушали музычку, когда на стриме ничего не происходит или стример молчит, но самому автору эта музыка может мешать.
Большинство туториалов и гайдов сводятся к тому, что вам потребуется звуковая карта или voicemeter Banana — ПО, чтобы разобраться в котором надо быть Илоном Маском. Во всяком случае, я не разобрался.
На самом деле со музыкой есть крайне простое и элегантное решение. Нам потребуется:
- программа Virtual audio cable;
- плеер AIMP;
- полграмма мозга.
Дальше все до смешного просто.
Устанавливаем Virtual audio cable и монтируем его в систему. Включаем виртуальный кабель в аудиоустройствах. Выглядит это так:
А теперь следите за руками. AIMP — очень олдовый плеер и в отличие от зуммерских прилаг с одной кнопкой, там под капотом скрыт целый мир. Например, AIMP умеет выводит звук на конкретное устройство системы, то есть имеет собственный конфигуратор устройств.
Видите все мои устройства уже в AIMP? Тут есть и Line 1 нашего виртуального кабеля. А дальше все элементарно. Пускаем звук из AIMP на этот кабель, а сам Line 1 добавляем как звуковое устройство в OBS:
Вот и все. Вы великолепны. Звук идет по виртуальному кабелю прямиком из AIMP в OBS мимо ваших наушников. При этом сам AIMP — это целый кухонный комбайн. Он умеет выгружать название трека и артиста в файл, который можно потом забирать в OBS в полоску «сейчас играет», и даже подключить в него плейлист из Яндекс.Музыки и, вполне возможно, из Spotify (но я пробовал только с Яндексом), который можно будет слушать онлайн.
Если захотите, могу написать про AIMP и стриминг отдельный туториал, но вот фишка с виртуальным кабелем — основная. И что самое важное, тут соблюден принцип бритвы Оккама: самое простое решение самое правильное. Никаких микшеров и плясок с бубном. Две элементарные софтины и три клика мышкой, справится даже моя мама, если ей подробно объяснить.
Рано или поздно стример покупает себе второй монитор, чтобы мониторить OBS и не читать чат с мобилки. Чаще всего вторым монитором становится старый на 60 Hz, а на замену ему покупается новенький на 144, 165 или 240 Hz.
И вот тут начинается гребаная мистика.
Сперва драйвер NVIDIA очень любит играть в строительство коммунизма и принудительно сбрасывает герцовку на «общую», то есть на 60 Hz. Тут нам поможет создание кастомного разрешения с нужной герцовкой для нового монитора в панели управления NVIDIA:
Внутри создаем пользовательское разрешение с нужной частотой и применяем к нужному монитору.
Если у вас есть встроенное видео от CPU, то можно перебросить второй монитор на 60 Hz на него, но тут будьте аккуратнее: на работу этого экрана вы задействуете ресурсы CPU, что может повлиять на стриминг в x264.
Второй прикол с системой из разных герцовок: странное поведение OBS, точнее его странное влияние на второй монитор. Некоторые пользователи с разногерцовыми экранами, в том числе и я, сталкивались с тем, что если OBS находится на втором экране 60 Hz, то в игре на первом экране тоже становится 60 Hz. Причины такого поведения — это как вопрос об НЛО, то есть никто точно не знает, что происходит. Единственный фикс, который я нашел в сети и который реально работает — перенести OBS на экран с наибольшей герцовкой, то есть под игру. Тогда никаких просадок не будет.
Второй вариант для буржуев: иметь мониторы с одинаковой герцовкой, тогда OBS работает корректно.
Если вы в какой-то момент решили обновить свою видеокарту на модель поновее, но ограничены в деньгах и не можете позволить себе RTX 2080 Ti и у вас игровая мать с двумя PCI-e, не спешите выбрасывать старую карточку.
Так получилось, что я обновил свой ПК и купил RTX 2060 Super, но для стрима Apex Legends и одновременной комфортной игре в 144 FPS речи не шло. Так что я пошел извращенным путем и научил OBS жрать ресурсы старой GTX 1060, которую я оставил во втором порте PCI-e.
Сразу говорю, что кейс странный и работает не на 100%, но позволяет снизить нагрузку с основной карты примерно вдвое.
В настройках панели NVIDIA можно задать приоритеты использования CUDA-ядер и устройств для рендеринга в отдельных приложениях. Точно так же, при использовании кодировщика NVENC в OBS можно указать, какую карточку использовать. Значение 0 — первый (верхний) слот, значение 1 — второй (нижний слот) PCI-e.
Да, сразу две карточки разных моделей не могут работать вместе над одним процессом, но они связаны между собой платформой и могут работать над разными процессами, а настройки OBS позволяют выполнить подобное подключение. Так что если вам важен перфоманс системы в играх и есть «лишняя» видеокарта — то это ваш выбор. Фактически, на вторую карту будет переложен весь энкодинг, то есть упаковка картинки, которую будет отдавать ей основная карта, на которой крутится игра, через захват экрана OBS. Это, скажем так, промежуточное решение между стримом на одной видеокарте и полноценным стрим ПК.
Первое — хромакей это прикольно. Второе — это просто. Третье — это дешево.
Ну, вообще как бы профессиональный хромакей стоит, как маленький паровозик, но при наличии шуруповерта, четырех палок и магазина тканей можно уложиться где-то в 1400-1800 рублей с учетом проезда. Как скрутить хромач в домашних условиях можно нагуглить в сети, там просто рама с упорными уголками и натянутая сложенная в несколько раз зеленая матовая ткань.
А вот с технической точки зрения тут все немного интереснее.
Первое — для хромача подойдет любая HD-вебкамера, то есть буквально любая, что есть сейчас на рынке. Моя вебка Logitech c270 имеет матрицу 1,3 Мп, но отлично справляется. Так что забейте болт на «стримерские» вебкамеры за 100500 рублей, хотя они дают картинку чуть лучше, но своих денег не стоят. Для хромакея намного важнее свет.
Вот со светом все плохо. Если освещенность полотна недостаточна, то вы не сможете выставить цветовой ключ правильно, то есть где-то что-то будет рябить. Я советую использовать два источника света для хромакея: настольную лампу, которая будет светить в стену перед лицом и давать рассеянный свет на вас и хромач, и строительный софит на 15-20 Вт, который вы поставите прямо под хромакеем, у себя за спиной. Также потребуются темные шторы или стримы в ночное время, потому что солнечный свет — злейший враг хромача.
Если вы работаете с Adobe Premier или Sony Vegas и сейчас криво ухмыльнулись, то у меня есть для вас новости: OBS в плане хромача намного приятнее этих программ. Графические редакторы от Sony или Adobe требуют почти идеально ровной поверхности и света, иначе начинают «фонить». Но при этом дают очень хорошую замену фона.
OBS же — программа для работяг. Ему для создания фона хромакея (то есть чтобы убрать его) достаточно кое-какого света, чтобы хромач в целом попадал в полтора-два тона. Потом на глаз выбирается цвет основы и все, вы великолепны и висите в воздухе.
Ну, на этом +\- все. Задавайте свои вопросы и говорите, нужна ли статья по стриму сразу с двух ПК. Там есть моменты по конфигурации и как минимум проблемы со снятием звука, которые я элегантно решил без внешних звуковых карт и прочего стаффа. Там я тоже добился максимально простых и элегантных решений в вопросах задержки и рассинхрона звука. Ну и конечно же отдельно расскажу за карты захвата, тут я тоже хапнул горя.
Наконец смогу себя иметь игрушками на чатурбе, в качестве и с хорошим хромакеем.
Ссылочку в соответствующий раздел не забудь оставить.
Я вообще в шоке от обилия программных костылей, особенно после работы с "железным" инструментарием — например стрим прямой трансляции с нескольких камер в онлайн и студию — ну что, голь на выдумки хитра. Полезненько.
Блять. Прочитал первую четверть поста, уже подгорела жопа. x264 == H.264 == AVC. "Скорости кодирования" вроде fast/slow/veryslow/placebo регулируют временные затраты ЦП на один кадр. То есть это трейдофф между размером видеопотока и скоростью кодирования.
Курите официальную документацию: https://trac.ffmpeg.org/wiki/Encode/H.264
А теперь, пожалуйста, членораздельно и без эмоций.
Строго говоря, это не официальная документация стандарта кодирования видео.
Не знаю насчёт хоумстриминга, так как никогда не интересовался этой темой, но в части описания кодирования видеопотока у вас просто огромное количество ошибок и неточностей.
С уважением, инженер медиапродакшна (в завязке).
Да, описание чисто бытового стриминга с одного ПК исключительно средствами OBS и на техническую точность уровня инженера не претендует, но убережет новичков от 99% типичных ошибок. Могу поправить или дополнить, если есть что сказать по теме, всегда рад.
Это не ультимативный гайд.
Нет x264 ключей. Добавляю https://goodgame.ru/topic/75248
Нет nginx для рестрима. Добавляю https://goodgame.ru/topic/74992
Так же нет приколов с предобработкай звука, цветокорекции, дройд кама, много чего нет короче.
Первая ссылка почти бесполезна, так как многое из написанного не подходит для стрима с одного ПК и стрима игр, либо серьезно увеличивает нагрузку на CPU на ровном месте. Плюс это статья 2016 года просто с описанием функций, сейчас совершенно иные реалии по железу. И да, я прекрасно знаю эту страницу, больше всего радует описание:
"film — для фильмов
animation — для аниме и мультипликации
grain — для зернистого изображения с повышенной детализацией
stillimage
psnr
ssim
fastdecode — для быстрого декодирования содержания
zerolatency — для потокового видео"
Что просто говно из под слона, потому что ни слова о том, как это влияет на картинку. Это не гайд, просто набор статеек из вики.
Рестрим через nginx — вовсе редкое извращение и кейс для 0,00001%, а тут как бы статья для простых работяг как я сам.
Ну и самое главное, я хоть как-то описываю последствия и веду читателя к лучшему качеству, а по вашим линкам все сводится к "пробуйте-смотрите", так что да, все еще говно.
Спасибо! Однозначно полезно. Вот будет повод попробовать постримить что-нибудь, так для друзей.
Надеюсь, полтора года страданий и сотни часов чтения форумов, туториалов и мануалов кому-нибудь пригодятся 🙂
Для друзей можно нажать одну (1) кнопку в дискорде и стримить.
Ещё и ресурсов будет жрать, по ощущениям, лютый минимум.
Открыл, думаю что нить интересно, листают до слов:
Для рендера в Slow вам понадобится, по моим прикидкам, Ryzen 3900X и самая быстрая память к нему, но не факт, что он вытянет 1080р качество
Финиш. Дальше уже можно вообще не читать.
Уже финишировали. Пожалуйста, предметно, в чем я не прав.
стример хуже пидораса
Я когда смотрю стримы, то всегда врубаю 1080p, особенно в каком-нибудь StarCraft 2. В 720p очень не очень смотрится)
Как я и писал, стрим в Veryfast 1080p и битрейте 2500 имеет мало смысла и проигрывает стриму в 720p fast-medium и битрейте 6000 на голову.
А я ставлю 480р и мне норм. Главно, что говорит стример и пишет чатик. И кто прав?
Самое главное забыл, как донаты и говорилку прикрутить
Мне это кажется настолько элементарным, что даже не задумался. Регистрация на Donationalerts.ru, забираем код встраивания доната из профиля, встраиваем в OBS как источник медиа по ссылке. Полоска доната прикручивается как веб-содержимое по другой ссылке из профиля на donationalerts.ru. Собственно, там есть подробный туториал.
Банана лучше для коммутации звука и выставления разных уровней звука с разных источников ) и для данного кейса виртуального кабеля не нужно) при установки бананы уже два виртуальных звуковых устройства добавляется по умолчанию )
+ на банане можно добавить нужные эффекты на микрофон если требуется, что весьма бюджетно )
но, видимо, критика тут не приветствуется 8)
Темы м крофона вообще не касался. В случае подключения AIMP к OBS через виртуальный кабель у него появляется свой отдельный уровень громкости в OBS.
Я за эксперименты, но использование бананы в описанном мной кейсе банально избыточно, а кейс этот — пустить музыку на стрим мимо собственных ушей.
Стримлю на AMD FX-8320 и GeForce 660GTX. Вполне комфортно. Если не считать пославшего меня на фиг провайдера, из-за которого битрейт выше 2к поднять не получается :\
Несколько дополню:
— Пороговые значения Twitch по битрейту уже для всех
8000, не имеет значение партнерство, но очень зависит от качества канала до его серверов или иногда перегрузок самого Twitch, если стримить с битрейтом выше, то будет два варианта развития, если для канала есть свободные слоты перекодировки, то Twitch будет отдавать только свой перекодированный поток, ограничивая битрейт, если нет свободных слотов, то вместо стрима для зрителей будет показывать ошибку (но, в обоих случаях сам VOD сохраняется с оригинальным высоким битрейтом)
— На Youtube ограничение на отдачу только теоретическое, можно гнать туда гигантский битрейт и он все примет, но сам он никогда не показывает оригинальный поток и качество всегда перекодированное, даже для 0 зрителей на только что созданном канале.
Для увеличения качества есть некоторые трюки, если стримить в 1440 и выше (притом даже с апскейлом), для перекодировки Ютуб включает более качественный и эффективный кодек VP9 (Twitch тоже собирался его ввести, но как то все заглохло), ну и битрейт перекодировки для такого разрешения тоже существенно растет, притом не обязательно зрителям иметь мониторы с большим разрешением, они и на FHD все равно увидят разницу.
— Нет смысла ставить профили ниже чем High и страдать с Fastdecode и прочим, а Zerolatency вообще специальный параметр для реалтайм передачи, где счет идет на миллисекунды (добавлен был со времен первых облачных игровых сервисов типа Onlive и Gaikai, но текущим стримам в HLS далеко до этих значений, там задержки идут в секунды или даже десятки секунд).
Качество же будет очень сильно страдать от подобных ограничений, как и будут страдать от него 99% обычных зрителей, а для части людей с совсем древним и слабым железом лучше смотреть одно из перекодированных каким либо сервисом разрешений (там обычно более легкие настройки кодирования и ниже профиль, притом если Twitch не дает транскодинг, то можно для подобных людей рестримить на Youtube, там выбор качества есть всегда).
— Не стоит выставлять совсем кривые разрешения и дело не только в соотношении сторон, у кодировщиков есть особенность работы с размерами макроблоков и намного важнее соблюдать mod16/mod8 соотношения т.к. он делает лишнюю работу и страдает и качество и скорость (хоть сейчас уже и не так существенно), притом это относится и к ASIC кодировщикам в видеокартах (например он спокойно может кодировать в 4к разрешении с высоким фпс, но если его уменьшить на один пиксель, начинаются просадки и дропы)
— Новый Turning NVEnc одинаков на всем поколении видеокарт Turning, включая GTX (кроме 1650 без Ti), качество у всех одно, это выделенный модуль с ASIC для кодирования, он никак не влияет на производительность самой видеокарты при кодировании (нагрузка есть от парочки опций которые дополнительно задействуют CUDA и самой пересылки кадра, ресайза и прочего). Самое главное что добавили в новых версиях OBS с NVEnc, это возможность пересылать кадр напрямую в кодировщик, без копирования его в ОЗУ и пересылке по шине, где идет еще дополнительная нагрузка на CPU и прочее. От этого не очень полезный совет брать какую то старую видеокарту специально под кодирование, с намного менее качественным NVEnc и когда все преимущества прямой пересылки кадра теряются (в этом режиме приходится опять копировать его с одной видеокарты через шину и ОЗУ для другой, в добавок еще лишний нагрев, энергопотребление и прочее).
Само качество и настройки у NVEnc тоже можно более тонко настраивать через определенные плагины к OBS, но не особо того стоит, как и не стоит напрямую сравнивать повышение качества от параметров x264 с одинаковым названием, у ASIC они всеж обычно более ограничены и намного меньше влияют, к примеру это же количество B-кадров, Mbtree и т.п.
— Отключение/включение игровой панели в новых билдах Windows 10 и новых версиях OBS не должно особо влиять, на текущих версиях все это поправили (но на старых способ был нужный)
— Метод масштабирования, тут нет такой однозначности, в старых версиях OBS был баг в Lanczos и поэтому он не рекомендовался, сейчас это поправили, но все равно не сказать что он лучший, разницу можно заметить только на специальных тестовых семплах, притом не обязательно в пользу для кого то определенного, но никаких квадратов и прочего от Bicubic точно не будет, это неправильное представление о них, обычный человек никакой разницы даже и не заметит, тем более для последующего пережатия с потерями. Lanczos дает чуть более резкую картинку, но это одновременно и не особо хорошо для сжатия, появляется больше артефактов.
obsproject / obs-amd-encoder Goto Github PK
‘obs-amd-encoder’ is a plugin for Open Broadcaster Software Studio which adds support for native AMD Hardware encoding through the use of AMDs Advanced Media Framework. It offers a user-friendly UI integration for the complex settings that AMD AMF offers.
This plugin is integrated in OBS Studio since Version 0.16.2. It replaced the older MFT (Media Foundation Transforms) based approach and performs much better compared to it. Many users have since then switched from software to hardware encoding on AMD machines as it is actually working at a decent performance now.
| Jenkins | AppVeyor |
|---|
The plugin ships with an Installer which will try to find the installation directory of OBS Studio and replaces the integrated version. You will also need the following:
- Windows 7, Windows 8, Windows 10 or newer
- A supported AMD GPU or APU (32-bit and 64-bit)
- Latest AMD Graphics Driver
- Latest Open Broadcaster Software Studio
More Information and Troubleshooting
Up to date information can always be found on the Wiki, including a Troubleshooting Guide that you should always follow if you have any issues!
Special Thanks go to all the people that have enabled me to actually write this plugin:
- /u/PeteRaw for the suggestion to create this. and the OBS Project Community for the continued help and support.
- All the Patreon Subscribers: Anaz Haidhar, AJ, Benhamin Hoffmeister, Bo, Bryan Furia, DaOrgest, Dominik roth, Jeremy «razorlikes» Nieth, Kristian Kirkesæther, Kuo Sith, Kytos, Nicholas Kreimeyer, Nico Thate, NoxiousPluK, nwgat.ninj, Oldgam3r, Omega Drik Mage, prefixs, Rene «vDex» Dirks, shiny, Simon Vacker, SneakyJoe, Spikeypop, Vinicius Guilherme.
- All the Translators (before CrowdIn): max20091, Marcos Vidal Martinez, Viacheslav, nwgat, wazer, Horváth Dániel, M4RK22.
- All the Translators on CrowdIn.
- All contributors to the project.
- Richard Stanway for various fixes and improvements.
- Advanced Micro Devices (TM) for releasing Advanced Media Framework SDK and keeping hardware encoding supported on their platform.
- Mikhail Mironov (AMD Employee) for continued development support and test hardware.
- jackun for the VCE Fork of Open Broadcaster Software Classic.
- jp9000/Jim for Open Broadcaster Software Studio and continued development help.
obs-amd-encoder’s People
Contributors
Stargazers
Watchers
Forkers
obs-amd-encoder’s Issues
Unexpected Memory Leak
With some rate control types, the plugin lets OBS climb to 8 or more gigabytes of memory.
Would be nice if I had some help tracking this down.
If you aren’t a coder, you can help by reporting games and settings that this happened on.
Option for Preconfigured Graphics Cards
Have a box that changes the recommended values for specific graphics cards so that the user does not have to fiddle with all the settings. For example if I entered rx 480 it would change the settings for an optimized experience on the 480. If I changed back to a r9 290 you would then get the recommended settings for that card.
Recorded video does not have the desired frame rate
I tested your plugin today and like it very much. But I have one issue that makes it for me impossible to use.
All videos don’t have the frame rate that I set up in OBS. It does not matter if I record 30 or 60fps. So I can’t import them in the editing software.
I tried lots of settings and found out that the quality setting has influence.
I recorded just the desktop at 1080p at 60fps. The result was a video with 59fps and Speed setting.
If I set it to Quality i got 50fps. The same with 30fps records.
I use an AMD R9-290´card with the 16.8.2 drivers under Win 10 x64.
Add-on version is 1.2.0 (RC1) and OBS 0.15.4 (64bit)
@Xaymar I added the logfiles and spec informations.
Settings for r9 2xx users, try those, look my output and results
OBS-AMD-Media-Framework 1.2.rc1 Stress test [email protected] no scaling — 3000-3200kbit
https://youtu.be/Z2_pOOozY9Y
OBS-AMD-Media-Framework 1.2.rc1 Stress test 1280,[email protected] scaled to 1280,[email protected] stretched — 3000-3200kbit
https://youtu.be/d5Q4Dj4uki4
Hardware:
CPU: Intel 4790K
Graphics: AMD R9 290 4GB GDDR5 modded to 290x — Then remodded to 390x
Motherboard: Asus MAXIMUS VI FORMULA
Ram: 16GB DDR3 2400mhz
Disk: 1TB Samsung EVO 840
Settings:
Type: Advanced Video Coding
Usage Type: Transcoding
Quality Preset: Balanced
Profile: Main
Profile Level: 5.0
Maximum LTR: 0
Scan Type: Progressive
Rate Control Method: CBR: Constant Bitrate
Frame skipping: Disabled
Filler Data: Disabled
Enforce HRD Compatability: No
Group Of Picture Size: 60
VBV Buffer Size (In Bits): 3200000
Initial VBV Buffer Fullness: 1
Maximum AU Size (In Bits): 0
B-Picture Delta QP: 4
Reference B-Picture Delta QP: 2
Minimum QP: 1
Maximum QP: 35
I-Frame QP: 22
P-Frame QP: 22
B-Frame QP: 22
Target Bitrate (In Bits): 3000000
Peak Bitrate (In Bits): 3200000
Header Insertion Spacing (In bits): 0
Number of B-Pictures: 0
De-Blocking Filter: Enabled
B-Picture Reference: Disabled
IDR (Keyframe Period) (In frames): 120
Intra-Refresh Memory Per Slot In Macroblocks (In MB): 0
Slices Per Frame: 1
Motion Estimation: Both
Temporal Enchancement Layers: -1
Remember this is a stress test where the game is speeded up a lot to see how the recording/streaming looks under extreme and unrealistic fast paced circumstances
1.2.0 — Timestamps are incorrect
A bug introduced in the new shared Encoder causes the Timestamps to be wrong — video length will be okay but the playback location and skip location will be completely wrong.
amf-vce: Flickering instead of solid packetstream
The new Shared Encoder seems to not send off the required settings to the encoder before init. This causes the FPS to be stuck at «1000» in the file, with only exactly one keyframe being generated.
Did a test record, wanted to change b-pictures to 0 from -1 and obs stalled/no respond.
Notice text in Danish left top corner (Svare ikke = Not responding)
Did a test record, stopped it after around 30 seconds, went to options to change setting since I’m getting flickers again with new update, started with b-pictures setting it to 0 and obs stalled/not responding
pre3 build + beam.pro = broken
whatever i do it seems broken with build pre3 worked fine with older builds
https://beam.pro/
benchmark mode
would been useful to have a mode where we can test settings and see if it can keep up, msi afterburner has something similar benchmark mode, we just need a simple one that has text with Good(Green)/Acceptable(Yellow)/Bad(Red) and results from a simple game/demo

Shared Encoder for Simple and Advanced User Interfaces
Instead of calling VCE functions directly wrap them through this interface — ideally nothing should have to be done by the user interface that works with this.
Minor issues? within gui selection
When selecting preset it does not show up which preset you have selected, just blank.
Also Profile level only shows max 5.1. is 5.2 missing?
Hence translation files goes up to 5.2
Simpler User-facing Encoder
Add a secondary encoder for users not so well-versed in encoding terms. Should probably hide more advanced settings behind a checkbox.
Memory leak, using over 13GB before crash
I just encountered a memory leak using Version 1.1.2.
Memory detail out of Windows event-log:
Windows hat diagnostiziert, dass der virtuelle Speicher unzureichend ist. Die folgenden Programme belegten den meisten virtuellen Speicher: obs64.exe (3280) belegt 13665398784 Bytes, Overwatch.exe (1292) belegt 3823415296 Bytes und RadeonSettings.exe (2516) belegt 195080192 Bytes.
Pre5 Issue
My previous issue is gone from here?
I had the overload problem and the »stop recording got stuck»
now i got passed this problem — stop recording was execute correct without stuck, opened the recording file
main menu recorded ok. but when it got into the game it got freeze into a scene,
Pre8 Installer Folder
The Pre8 Installer cant find the default obs folder to install it?
or its only on my pc?
Bitrate keeps going up and down?
Seen it go to the lows of 400 then spike up to 1200 when I start moving a lot.
I’d rather it stick within the 2000 range + Because it makes my stream look bad.
Under 60fps recording despite being able to play and record 1080p60
So while recording Overwatch, I can play in 60fps and the shitty original AMD encoder can do 720p60 with no issues, this plugin can’t do 1080p60 (highest I could get was 48fps). I’ve tried lowering the settings and setting the preset to Speed but it doesn’t work. It also shows up choppy and low fps in the preview window. Should I attach a log to this when I get home later? I have to go out soon.
Edit: Forgot to add I tried with frameskipping turned on and off, no difference.
The Path to AMF SDK
This Issue is meant to track progress on the upgrade to AMF SDK. Commits that are related to it will show up here.
- Library Binding Class for AMF SDK.
- New Shared Encoder based on Library Binding Class and AMF SDK updates.
- Update Capability Reporter to use new SDK.
- Update Simple Encoder Interface to new Shared Encoder.
- Update Advanced Encoder Interface to new Shared Encoder.
- Proper Color Profile and Range
Updated Danish translation file
Gathering New Tested Settings (1.3.0)
This Issue is dedicated to gather new tested settings. Only Settings with the latest Driver, 64-Bit OBS and latest Plugin Version are accepted. You can find the exact plugin version in the log output of obs:
15:05:59.207: [AMF Encoder] Version 1.3.0pre8-1.3.0.5
Please format your reply like this:
Edit: Comments that aren’t on the newest version have been nuked from orbit.
OBS x64 0.15.4 crashes as soon as i select New Encoder
32bit does not crash
Wiki — Update which values cause what
AMF is rather undescriptive about what does what and why.
Rewrite Advanced User-facing Encoder to use shared Encoder class
Rewrite the advanced encoder to use the shared Encoder class (AMFEncoder::VCE). Depends on Issue #7 to be done.
OBS 64-bit crashed at start in version 1.2.0rc1
Specs:
OBS 0.15.2 and OBS 0.15.4
Windows 10
AMD Radeon HD 7730 with driver 15.7.1
This only happened when I launch 64-bit version, 32-bit still working normal.
1.2.0 — Codec is "unknown"
This worked fine with the queue version, in the non-queued one it is broken. I may have broken something necessary for it to work while rewriting — a function somewhere.
obs crashing when selecting (update values from amf)
Hardware:
CPU: Intel 4790K
Graphics: AMD R9 290 4GB GDDR5 modded to 290x — Then remodded to 390x
Motherboard: Asus MAXIMUS VI FORMULA
Ram: 16GB DDR3 2400mhz
Disk: 1TB Samsung EVO 840
1.2.0pre4 — Bitrate limits are broken
It seems that starting with version 1.2.0pre2 Bitrates stopped working correctly. Have to figure out if this is due to my own doing or due to AMD preparing for the next SDK version. If you’re experiencing this too, please follow this guide and add your report.
32-Bit is broken, unexpected return values from VCE
Driver — Slow Submission with 16.7.* (Partial Solution inside)
Problem: After upgrading to 16.7.3 and downgrading to 16.7.2, submission time is tripled (or more) so that fluid recording becomes impossible.
- Wipe AMD drivers with DDU and install a clean 16.8.2 version. This should return it to normal.
- Install 1.2.0pre4 or a newer version of the plugin
bitrate is all wonky on gcn1/7970
when i use default settings and set constrained bitrate to 2000, it goes to like 3800 and 22k :/
its like its using CRF or something
stupid question is QP the same as CRF?
- HD 7970 3GB
- OBS 0.15.2 64-bit
- OBS AMD Media Framework 1.1.2 64-bit
- Crimson 16.7.3
- Media SDK installed (runtime or something from link on plugin page)
- Windows 10 Redstone 1

this is not where i parked my car bitrate
Crashing
I attached two crash logs, and two logs from OBS Studio (I’m not sure which one goes with which crash, that’s why I’m adding two).
I tried recording with Game Capture and Display Capture. Every crash was at 19sec, 20sec, 21 sec. The result is a low quality video, I can upload an example if it could help.
fixed i-Frames (Issue that is actually for @Jackun's OBS Classic fork)
first i want to thank you for your good work and hope you continue 😉
i noticed your 1.3.0pre5 — The AMF SDK Path (and 1.3.0pre3) dont have «GOP size» or fixed i-Frames (I Pic Period) // please could you also add «MV Search Range» & «IME Search Range» & «Force 16×16 skip» & «Force IME search window center to [0,0]»
maybe would be also nice to choose between DX9, DX11, DX12
oh and with newer dirvers «Disable D3D/OpenCL interoperability» is forced
ps: if you need a tester with some time i can assist you 😉
Under 60fps recording despite being able to play and record 1080p60
Can’t reopen an issue since I don’t own this project, so I looked up how and it said I have to reference the issue, so the issue is #22. Reopen old one and get rid of this one if you feel the need to.
Edit: After updating to the newest release of OBS, the old encoder and this plugin both seem to be able to handle 1080p60 recordings with no issue? Don’t know what happened there.
Import/Export Settings
would have been great to have this ability
- export as json
- copy as markdown (for forums/github/etc)
Screen artifacts with pre7
As i reported on the forum:
This is what i get with pre7, downgrading to pre5 fixes things.
Here’s the logs from when it happened :
21:9 Support
For some reason I am able to record at 1920×810 but no higher. This was an issue with the default AMD 264 encoder on Studio even though it should be supported by the encoder?
reset to default button please!
would be useful to go back to defaults?
(1.3.0 Preview Build) Bitrate is way higher than what I select!
I think those two pictures speak for themselves. Also there still is some kind of flickering throughout the whole video, not as much as there was with the broken B-Frames, but still a little. I’ll see if I can create an example where it is easily visible.
I tried to experiment with my settings a bit but the issue persists.
Also, is the advanced encoder gone for now?
Crashing with v1.3.0pre6
My OBS keeps crashing when I’m trying to start a new stream with the simple interface. I haven’t tried the advanced one. Reinstalling plugin does not help. Here’s the log:
AMF Encoder gets stuck with certain settings
Clean install of OBS Studio & the latest plugin Pre3,
Settings: all default / simple encoder / recording preset
Start recording , play for 1 minute (to test) exit the game and when i press stop recording it gets stuck at
»Stopping Recording» & encoding overloaded in down left of the obs window.
Thanks for your work btw. Cheers!
Latest obs version 0.15.4 clean install
Latest plugin version 1.3.0pre3
CPU:i5 750 | Cooler:Corsair A50 | Fans:3x SilentWings2 | M/b:Asus P7P55-M | Ram:HyperX 8GB | GPU:Gigabyte R9 380 4G |
SSD:Kingston v300 | HDD:WD BLUE 1TB | Soundcard:SB-Z | Case:Corsair Air 540 | PSU:XFX TS 550w |
OBS fails to stream and record at the same time
OBS apparently creates two encoder instances instead of just one. This leads to all kinds of oddities, like stream being blank or a corrupt mkv file (what).
Nothing happens when I click Record
As is stated in the title, nothing happens when I click Record. It doesn’t start recording. I only have this problem this encoder. x264, QSV, etc., all work fine.
2016-08-21 14-35-29.txt
Audio async and stopping completely on 1.3.0pre8
At first my stream starts as usual but later on it’s getting async with sound/video and then it stops completely. Guess it’s the same kind of issue that @CKannas stated here.
Switched back to 1.3.0pre7 and it’s working fine for a stream longer than 3 hours.
Very poor quality at 1900kbit/s. "Flickering"
The quality is very bad altough I have my bitrate set to 1900kbit/s. It’s wierd, somehow one frame looks very bad and the next one is okay. I don’t know how to explain this, so i uploaded a video of it.
Here are my settings. I set the recording encoder to use the stream encoder.
http://imgur.com/a/1I2uU
I am currently using the 16.7.3 driver on a 64bit Windows 10 Pro. This happened with all versions of the plugin I tested till now. I have a R9 390, a FX 8350 and 12GB of DDR3 1600 RAM.
1.2.0 — Strange return values after 15 minutes runtime
AMF will randomly return AMF_ACCESS_DENIED for various properties after a while. Usually restarting OBS helps, but a better solution is necessary.
05:36:41.176: [AMF Encoder 1.2.0] AMFEncoder::VCE_H264_Encoder::VCE_H264_Encoder Initializing.
05:36:41.176: [AMF Encoder 1.2.0] AMFEncoder::VCE::H264 Attempting to create AVC Encoder.
05:36:41.206: [AMF Encoder 1.2.0] AMFEncoder::VCE::SetUsage Set to Transcoding.
05:36:41.206: [AMF Encoder 1.2.0] AMFEncoder::VCE::SetMemoryType Set to Host.
05:36:41.206: [AMF Encoder 1.2.0] AMFEncoder::VCE::SetSurfaceFormat Set to NV12.
05:36:41.207: [AMF Encoder 1.2.0] AMFEncoder::VCE::SetUsage Set to Transcoding.
05:36:41.207: [AMF Encoder 1.2.0] AMFEncoder::VCE::SetQualityPreset Set to Balanced.
05:36:41.207: [AMF Encoder 1.2.0] AMFEncoder::VCE::SetFrameSize Set to 1280×720.
05:36:41.207: [AMF Encoder 1.2.0] AMFEncoder::VCE::SetFrameRate Set to 60/1.
05:36:41.207: [AMF Encoder 1.2.0] AMFEncoder::VCE::SetRateControlMethod Failed to set to Constant Bitrate, error AMF_ACCESS_DENIED (code 3).
Crowdin for Translation
Missing AMF Library crashes Plugin at startup
Installed the lastest build, with of course removing the previous one. OBS crashes straight away. Please help. https://app.box.com/s/ozo3ga4fz1yu15ufsuyxvplkvk2siy7g
pre7 & 480 = memory leak?
MSI Gaming X 480/ Catalyst 16.8.3
FX-8350, 32GB 1600mhz, 850 PRO SSD
OBS 0.15.4 x64 on Windows 10 x64
AMF Plugin 1.3 Pre7
Simple mode: Recording preset (default settings)
sometimes it works, sometimes it doesn’t, its random, i only notice it when the obs video hangs at either la st picture og black screen, when i try to stop it and it will still say «stopping recording» for a hundred years
PS: setting scan type to progressive seems to do the opposite aka making it interlaced
Plugin uses more bitrate than allowed.
Edit wiki page
Can you open the wiki page so I can edit and add something to it?
Recommend Projects
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
Vue.js
Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
TensorFlow
An Open Source Machine Learning Framework for Everyone
Django
The Web framework for perfectionists with deadlines.
Laravel
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML.
Recommend Topics
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
server
A server is a program made to process requests and deliver data to clients.
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Visualization
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
Recommend Org
We are working to build community through open source technology. NB: members must have two-factor auth.
Как записывать видео при помощи OBS (Open Broadcaster Software)

Open Broadcaster Software (или сокращенно OBS) — популярное кроссплатформенное приложение, с помощью которого тысячи стримеров ведут свои трансляции на различных интернет ресурсах по всему миру. Однако помимо возможности передачи видеопотока для онлайн трансляции, программа может еще и производить простую запись видео локально, на компьютер.
Где скачать Open Broadcaster Software (OBS, ОБС)?
Скачать программу под нужную вам операционную систему можно с официального сайта: https://obsproject.com/
Запись в программе осуществлять достаточно просто, нужно сначала добавить нужный источник для захвата, а затем нажать кнопку «Начать запись«.
Добавление нужного источника

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

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

Вводим имя профиля, например «Запись на компьютер«.

Настройка профиля
Затем нужно открыть настройки профиля («Файл» — «Настройки«).

Открываем вкладку «Вывод», и настраиваем её под свои нужды:

Видео битрейт: так как запись идет локально на компьютер, можно не экономить и ставить значения по 10000.
Кодировщик: если ваш компьютер оборудован видеокартой Nvidia модели GTX 660 и выше, то у вас должен быть доступ к кодировщику NVENC, который и следует выбрать. На картах компании AMD те же самые задачи, что и NVENC выполняет кодировщик H264/AVC (AMD Advanced Media Framework). Владельцы последних моделей процессоров Intel могут воспользоваться услугами встроенной в процессор видеокарты, выбрав кодировщиком QSV. Ну и наконец самый ресурсоемкий вариант для процессора — кодировщик x264.
Аудио битрейт: на самом деле 160 вполне хватит для записи обычных звуков игры и голоса. Впрочем ничего не мешает поставить более высокие значения, 192, 256 или 320.
Путь к записи: Папка, в которую будут сохранены все записываемые видео
Формат записи: по умолчанию стоит flv, который имеет несомненный плюс перед остальными форматами — в случае непредвиденного завершения работы программы OBS или работы компьютера (при BSOD’e, резком отключении компьютера или вылете программы), файл сохранит возможность воспроизведения. Остальные форматы записи такой возможности не имеют.
Далее открываем вкладку «Видео».

Выходное разрешение: разрешение в котором будет писаться само видео, не зависимо от разрешения игры/монитора, с которого записывает. Для слабых компьютеров может быть актуально ставить разрешение ниже, чем оно является по факту, например вместо 1920х1080 поставить 1270х720.
Общие значения FPS: количество кадров в секунду в видео. Владельцы мощных компьютеров могут ставить хоть 60, владельцам же слабых машин лучше не поднимать количество кадров выше 30.
Настройка горячих клавиш
Теперь осталось настроить Горячие клавиши для начала записи (если конечно планируете ими пользоваться):

Открываем вкладку «Горячие клавиши», и добавляем клавиши для пунктов «Начать запись» и «Остановить запись». Затем закрываем настройки, убеждаемся, что в «Источниках» добавлен и выбран нужный, после чего можно приступить к началу записи — либо через настроенные ранее горячие клавиши, либо через кнопку «Начать запись».