Пожалуйста, обратите внимание на наш сервис рекомендаций игр Во что поиграть.
О Игротопе | Регистрация | Я всё понял, скрыть данное сообщение на неделю.
8
|
Стриминг и запись видео с помощью OBS |
|
9209 19 2 июня 2015 г. Редакция
|
Этот черновик валяется уже довольно давно, но в связи с тем что некоторые посетители игротопа до сих пор пользуются поганым фрапсом, а потом долго занимаются ненужной конверсией видео, мы теряем возможно интресный контент. Про запись контента тут написано достаточно, про твич можно заметно больше написать, но видимо как-нибудь в другой раз.
Open Broadcaster Software - бесплатная, кроссплатформенная программа для записи и трансляции(стриминга) видео с открытым исходным кодом. С ее помощью можно в реальном времени кодировать видеопоток в h264, этого достаточно для простых роликов и ускоряет дальнейшую обработку. Под катом я расскажу как пользоваться obs, а также twitch.
Open Broadcaster Software - бесплатная, кроссплатформенная программа для записи и трансляции(стриминга) видео с открытым исходным кодом. С ее помощью можно в реальном времени кодировать видеопоток в h264, этого достаточно для простых роликов и ускоряет дальнейшую обработку. Под катом я расскажу как пользоваться obs, а также twitch.
Несколько слов о железе. Начиная с i5-2xxx в процессорах intel используется аппаратное кодирование видео h264, конкретно я использую i5-3570k. Его хватает на запись простых вещей, без 3d графики, но качество записи и fps в современных играх будет зависеть от видеокарты. Эмпирически получено падение частоты кадров при записи на 5-10, относительно обычной игры. Это стоит иметь ввиду, скорей всего придется понижать настройки графики в каких-то требовательных проектах.
Ширина канала важна только при трансляции. Твич позволяет стримить на скорости до 3.5 мБит/с, то есть у вас канал на отдачу должен быть не менее 5 мБит/с.
Все нижеописанное делалось на windows.
Итак, поехали. Устанавливаем obs, желательно сразу сделать ярлык запуска 64 битной версии программы с правами администратора, многие игры не отдают картинку или блокируют нажатие горячих клавиш без администраторских прав.
Запускаем и открываем настройки:
Вкладка трансляция, ставим прямой эфир, сервис выбираем twitch, FMS URL - это расположение серверов твича, для большниства живущих в СНГ актуален EU: Stockholm, SE. JTVPing может показать пинг до разных серверов, чтобы выбрать оптимальный. Путь к файлу, указываем куда будут сохраняться ролики в случае необходимости. Внизу вкладки красным будут помечены настройки, которые не соотвествуют требованиям твича и должны быть поправлены.
Вкладка Кодирование, Ставим галочку CBR (постоянный битрейт) и CBR паддинг. Максимальный битрейт 3500 и битрейт аудио 160 если позволяет канал.
Во вкладке Расширенных настроек, Предустановка x264 CPU - veryfast, Профиль кодирования main, Интервал ключевых кадров - 2с
Вкладка видео. Базовое разрешение ставим Пользовательское и прописываем 1280 720, масштабировать разрешение должно стоять Нет.
Закрываем настройки.
Теперь попробуем записать короткий ролик для тестирования, выбираем любую игру и настраиваем ее разрешение экрана 1280х720 и оконный режим. Я для тестирования использовал Fallout New vegas, нужно дождаться полной загрузки игры до главного меню перед возвращением в obs. У других игр могут быть свои нюансы.
В нашей программе жмем правой кнопкой мыши на список сцен и добавляем сцену с любым названием. Дальше в выбранной сцене жмем правой кнопкой мыши на источники->добавить->игра. Выбираем нашу игру в списке приложений. Ставим галочку Захват мыши. Жмем Ок. Ставим окно программы таким образом чтобы видеть его играя в оконном режиме.
Теперь жмем кнопку предпросмотр. Если изображение не появилось сразу, переключаемся в игру и обратно. Если все равно не появилось, то для теста лучше взять что-то другое, такие игры тоже записываются, но не дают возможности проверить производительность при этом. Жмем кнопку начать запись, переключаемся в игру и пробуем поиграть пару минут. Смотрим на fps в правом нижнем углу obs. Он должен показывать 30 кадров в секунду. Если показывает меньше, возможно настроено что-то неправильно, относительно написанного выше, но скорей всего ваш компьютер просто не тянет запись этой игры. Останавливаем запись, идем и проверяем видеоролик, в нем тоже не должно быть лагов, если они есть, скорей всего комьютер не тянет запись этой игры.
Если со скоростью все в порядке можно попробовать более качественные настройки, потому что приведенные выше - это минимум. Хорошие варианты для стриминга - 1280х720 и 60 кадров в секунду (указывается также в настройках видео), 1920х1080 и 30 кадров в секунду. Причем первый вариант лучше чем второй по выходному изображению. Еще один вариант, для тех игр где по каким-то причинам нет 1280х720, но есть 1600х900. Ставим именно такое пользовательское разрешение и включаем масштабирование на 25%, чтобы получить 1280х720. частота кадров также 60. Битрейт во всех случаях 3500, это ограничение твича.
Для записи видео с последующей обработкой и заливом например на youtube, можно использовать 5-8мБит/с для 1280x720, и до 15 мБит/с для 1920х1080. Но главное проверять, чтобы obs успевал кодировать такой объем информации и не пропускал кадры.
Вообще практика показала что твичу пофигу на разрешение, сейчас в основном стримлю 1600х900. Важно сохранять соотношение сторон 16:9, которое дефолтное для выходного потока. Для серьезных роликов на ютубе стоит готовить материал либо в 720p либо в 1080p, но рандомные видео для иллюстрации чего-либо можно записывать и в промежуточных.
Для записи микрофона нужно проверить настройки во вкладке аудио. Во-первых должно быть выбрано правильное устройство, его на записях должно быть слышно. Во-вторых множители усиления приложений(звук в системе) и микрофона нужно подобрать таким образом, чтобы игру было хорошо слышно на видео, а ваш голос был отчетливо слышен на фоне игры.
Настраиваем Twitch.
1. Регистрируемся.
2. Нам нужен Stream-key. Находится он в dashboard. Сама эта опция находистся в меню пользователя, который доступен с главной страницы. Интерфейс у сервиса неочевидный, поэтому вот вам две иллюстрации где это искать.
Жмем кнопочку Show key, копируем ключ и вставляем его в obs, в настройках, вкладка трансляция.
3. Заходим http://www.twitch.tv/settings/channel и ставим галочку Automatically archive my broadcasts. Теперь ваши ролики будут доступны из вашего профиля, раздела past broadcasts. Хранятся ролики примерно 2-3 недели, поэтому если ролик годный, то его стоит сохранить, для этого можно использовать функцию highlight под вашим видео или привязать аккаунт к ютубу и воспользоваться export'ом ролика.
Теперь можно запускать трансляцию в программе.
Там же в dashboard'е на вкладке live, можно проверить, что показывает стрим, изображение имеет зажержку 20+ секунд, это надо иметь ввиду. Также нужно выключить звук на своем собственном стриме, чтобы не дублировались звуки.
Ширина канала важна только при трансляции. Твич позволяет стримить на скорости до 3.5 мБит/с, то есть у вас канал на отдачу должен быть не менее 5 мБит/с.
Все нижеописанное делалось на windows.
Итак, поехали. Устанавливаем obs, желательно сразу сделать ярлык запуска 64 битной версии программы с правами администратора, многие игры не отдают картинку или блокируют нажатие горячих клавиш без администраторских прав.
Запускаем и открываем настройки:
Вкладка трансляция, ставим прямой эфир, сервис выбираем twitch, FMS URL - это расположение серверов твича, для большниства живущих в СНГ актуален EU: Stockholm, SE. JTVPing может показать пинг до разных серверов, чтобы выбрать оптимальный. Путь к файлу, указываем куда будут сохраняться ролики в случае необходимости. Внизу вкладки красным будут помечены настройки, которые не соотвествуют требованиям твича и должны быть поправлены.
Вкладка Кодирование, Ставим галочку CBR (постоянный битрейт) и CBR паддинг. Максимальный битрейт 3500 и битрейт аудио 160 если позволяет канал.
Во вкладке Расширенных настроек, Предустановка x264 CPU - veryfast, Профиль кодирования main, Интервал ключевых кадров - 2с
Вкладка видео. Базовое разрешение ставим Пользовательское и прописываем 1280 720, масштабировать разрешение должно стоять Нет.
Закрываем настройки.
Теперь попробуем записать короткий ролик для тестирования, выбираем любую игру и настраиваем ее разрешение экрана 1280х720 и оконный режим. Я для тестирования использовал Fallout New vegas, нужно дождаться полной загрузки игры до главного меню перед возвращением в obs. У других игр могут быть свои нюансы.
В нашей программе жмем правой кнопкой мыши на список сцен и добавляем сцену с любым названием. Дальше в выбранной сцене жмем правой кнопкой мыши на источники->добавить->игра. Выбираем нашу игру в списке приложений. Ставим галочку Захват мыши. Жмем Ок. Ставим окно программы таким образом чтобы видеть его играя в оконном режиме.
Теперь жмем кнопку предпросмотр. Если изображение не появилось сразу, переключаемся в игру и обратно. Если все равно не появилось, то для теста лучше взять что-то другое, такие игры тоже записываются, но не дают возможности проверить производительность при этом. Жмем кнопку начать запись, переключаемся в игру и пробуем поиграть пару минут. Смотрим на fps в правом нижнем углу obs. Он должен показывать 30 кадров в секунду. Если показывает меньше, возможно настроено что-то неправильно, относительно написанного выше, но скорей всего ваш компьютер просто не тянет запись этой игры. Останавливаем запись, идем и проверяем видеоролик, в нем тоже не должно быть лагов, если они есть, скорей всего комьютер не тянет запись этой игры.
Если со скоростью все в порядке можно попробовать более качественные настройки, потому что приведенные выше - это минимум. Хорошие варианты для стриминга - 1280х720 и 60 кадров в секунду (указывается также в настройках видео), 1920х1080 и 30 кадров в секунду. Причем первый вариант лучше чем второй по выходному изображению. Еще один вариант, для тех игр где по каким-то причинам нет 1280х720, но есть 1600х900. Ставим именно такое пользовательское разрешение и включаем масштабирование на 25%, чтобы получить 1280х720. частота кадров также 60. Битрейт во всех случаях 3500, это ограничение твича.
Для записи видео с последующей обработкой и заливом например на youtube, можно использовать 5-8мБит/с для 1280x720, и до 15 мБит/с для 1920х1080. Но главное проверять, чтобы obs успевал кодировать такой объем информации и не пропускал кадры.
Вообще практика показала что твичу пофигу на разрешение, сейчас в основном стримлю 1600х900. Важно сохранять соотношение сторон 16:9, которое дефолтное для выходного потока. Для серьезных роликов на ютубе стоит готовить материал либо в 720p либо в 1080p, но рандомные видео для иллюстрации чего-либо можно записывать и в промежуточных.
Для записи микрофона нужно проверить настройки во вкладке аудио. Во-первых должно быть выбрано правильное устройство, его на записях должно быть слышно. Во-вторых множители усиления приложений(звук в системе) и микрофона нужно подобрать таким образом, чтобы игру было хорошо слышно на видео, а ваш голос был отчетливо слышен на фоне игры.
Настраиваем Twitch.
1. Регистрируемся.
2. Нам нужен Stream-key. Находится он в dashboard. Сама эта опция находистся в меню пользователя, который доступен с главной страницы. Интерфейс у сервиса неочевидный, поэтому вот вам две иллюстрации где это искать.
Жмем кнопочку Show key, копируем ключ и вставляем его в obs, в настройках, вкладка трансляция.
3. Заходим http://www.twitch.tv/settings/channel и ставим галочку Automatically archive my broadcasts. Теперь ваши ролики будут доступны из вашего профиля, раздела past broadcasts. Хранятся ролики примерно 2-3 недели, поэтому если ролик годный, то его стоит сохранить, для этого можно использовать функцию highlight под вашим видео или привязать аккаунт к ютубу и воспользоваться export'ом ролика.
Теперь можно запускать трансляцию в программе.
Там же в dashboard'е на вкладке live, можно проверить, что показывает стрим, изображение имеет зажержку 20+ секунд, это надо иметь ввиду. Также нужно выключить звук на своем собственном стриме, чтобы не дублировались звуки.
Комментарии
- 0Forest_Swamp | 2 июня 2015 г.Теперь я знаю, что у меня на компе стоит OBS. Узнал по ярлыку :D Давно снимал стрим по дарк соулсу 1.
- 0Usernm | 2 июня 2015 г.Так пользуйся им.
- 0Forest_Swamp | 2 июня 2015 г.Там можно видео на ютуб перекидывать? Я же обычно видяшки с игровым процессом кидаю в раздел "Видео" по играм. А там как я понял "пока что" можно подкреплять только ютубные видео.
- 0Usernm | 2 июня 2015 г.В самой программе нельзя. Ты просто получаешь на выходе ролик и заливаешь его ручками на ютуб или куда тебе надо. На твиче есть возможность вырезать куски видео из стримов и перезаливать на ютуб.
- 0TotemWoodStep | 2 июня 2015 г.Спасибо, полезная программа и отличное руководство к ней)
- 0Forest_Swamp | 2 июня 2015 г.Мне кажется стоит добавить тег "Программы", чтобы подобные посты не болтались в "ином".
- 0Forest_Swamp | 2 июня 2015 г.Я бы мог время от времени туда постить "руководства" по прожкам, которые можно использовать в разработке игор.
- 0FruitGish | 2 июня 2015 г.А я продолжаю пользоваться ShadowPlay'ем =D
- 0Usernm | 2 июня 2015 г.Пробовал. Те же яйца, если пользоваться кодированием с помощью видеокарты в обске.
- 0nikivarvar | 2 июня 2015 г.за инфу насчёт битрейта спасибо, а то не думая просто поставил 800 кбит
хотя у самого интернет не особый, ну да ладно, лойс- 0Usernm | 2 июня 2015 г.800 кбит приемлемо смотрится на 480p, а лучше на 360p. Но мы же не хотим с лупой стрим смотреть? :)
- 0SAXAHOID | 2 июня 2015 г.Пользуюсь SimpleScreenRecorder. Судя по описанию, схожая штука.
И иногда RecordMyDesktop, это работает похоже на фрапс (сначала пишет кеш голого видеосигнала, потом кодирует).
Не надо почём зря хаить фрапсоподобные программы.
Во-первых, энкодинг на лету не такая лёгкая штука, как кажется, особенно если разговор идёт не об h264 и не о самом быстром алгоритме (алгоритм быстрее — качество ниже, нет?). Даже в самом посте несколько раз упоминается "ваш компьютер не тянет запись этой игры". Если компьютер тянет её воспроизведение, компьютер тянет её запись. Он может не тянуть энкодинг на лету — это да, а голый сигнал он писать будет способен пока битрейт не превысит скорость записи на винт, в любом разрешении, с любой частотой кадров, только бы места хватило. И это основное преимущество — снятие нагрузки с железа под игры, которые и так его здорово грузят.
Во-вторых, получение видеозаписи (особенно в сравнении с "сетевыми" форматами) без потерь — тоже преимущество. В первую очередь преимущество для дальнейшей обработки видео, его пережатия в разные разрешения и т.д. эксперименты. Надо ли, скажем, говорить, что кодировать в один lossy формат из другого lossy формата — это как переливать воду из дуршлага в дырявую кастрюлю?
Я соглашусь с тем, что абсолютному большинству видеописателей в шут не сдалось это беспотерьное видео, и что они будут согласны сбросить параметры записи/отказаться от неё вообще если "не тянет". Надо просто записать и застримить, а зрителю — просто посмотреть.
Так же как абсолютному большинству слушателей музыки в шут не сдалось что-то лучше MP3-192. Но это не повод называть что-то "поганым" если для конкретно ваших нужд оно неудобно.
P.S. Конкретно с фрапсом у меня опыта взаимодействия мало, потому если на то, чтобы выражать касательно него недовольство, таки есть причины — я с интересом послушаю- 0Forest_Swamp | 2 июня 2015 г.Единственное, что напрягает во фрапсе, это его топорный интерфейс. Из трех вариантов, которые у меня есть, больше нравится Mirillis Action. Настроек много, там вроде и стримить можно, но я этим не заморачивался. Просто снимаю геймплей.
- 0Usernm | 3 июня 2015 г.Фрапс - это очень старая и очень жадная штука. Я помню ее еще этак в 2005 году, когда альтернатив толком не было. С того момента появилась куча других вариантов, которые получше фрапса. Я конечно года 3 его не видел, может там сейчас все поменялось, но сомневаюсь. Поэтому да, для меня фрапс поганый.
Естественно я говорю о кодировании сигнала на лету, потому что отложенное кодирование ведет дополнительным затратам дискового места и банально времени компьютера. Потому что ролик нужен "прям ща", чтобы что-то показать, а он будет доступен для просмотра на ютубе часа этак через 4, когда уже все спать уйдут. Сам подход, что ролик нужно еще ждать, после того как закончил игровую сессию я считаю неправильным. В моем случае я через 5-10 секунд после остановки стрима могу линкануть ссылку на его запись на твиче.
Насчет снятия нагрузки с железа, если мы говорим о современной системе, то стримингзапись съедают процентов 10-15 процессора (половинка 1 ядра из 4). Если игра прожорливая и хочет себе все процессоры сразу и всю видеокарту - тут конечно нормально не постримить, но это скорее исключение чем правило. Идея посыла в том, чтобы человек пробуя все это повторить имел обратную связь, понимал проблема в железе или в том, что, что-то настроено неправильно.
Насчет перекодирования видео лишний раз. Во-первых вопрос, что мы делаем с видео. Я последние ролики монтирую используя aviDemux, и там режим вырезания кусков видео без перекодирования и потом append этих кусков в один файл также без перекодирования. Из недостатков метода - точность. В этом случае он режет ролик по ключевым кадрам, с дефолтными твич настройками это 1 ключевой кадр в 2 секунды. Этого достаточно, чтобы просто убрать лишнее и скомпилировать нужное в одном ролике. Если конечно нужны видеоэффекты всякие, придется лезть в редактор и там точно будет перекодирование, но при правильных настройках 1 лишняя операция не убьет качество изображения. Так в общем-то многие делают, из известных примеров - обзорщики вирусных видео, качают эти самые видео и перекодируют их еще раз при монтаже выпуска. Ничего, смотрим, на качество пережатого обозреваемого ролика никто не жалуется.
В общем я согласен что перекодирований нужно избегать, а исходный вариант брать максимального качества. Но это в идеале, а у нас реальные условия использования, где не последнуюю роль играет количество и сложность телодвижений для записи и выкладывания видео. Чем она больше, тем желания выкладывать что-то меньше.- 0SAXAHOID | 3 июня 2015 г.Я ни разу не спорю с тем, что каждому своё.
Мне не нравится слово "поганый" без особых пояснений. Впрочем, пояснения получены, он лично тебе не нравится, спасибо ^_^- 0Usernm | 3 июня 2015 г.Угу. Могу немного подробнее даже. Сейчас зашел на fraps.com, цена 37 баксов за то, что другие программы делают бесплатно. Плюс еще с давних времен помню, что в пиратском фрапсе стабильно какая-нибудь малварь водилась, уж очень любили ее распространители малвари. Это конечно уже не проблема фрапса, но пересматривать свое отношение к этой утилите ввиду наличия альтернатив не вижу смысла.
- 0SAXAHOID | 3 июня 2015 г.Лол, он платный? Вот так номер. Мне было сиё не известно. Тогда ясно, функционал фрапса убоже, чем у бесплатного опенсорсного ffmpeg (консольной утилиты, которая и экран писать умеет, и скриншоты, и конвертить, и пережимать, и вообще шо хошь делает, через неё большинство линуксового софта для обработки видео работает).
- 0The_Red_Borsch | 5 июня 2015 г.Там две версии есть. 3.5.99 бесплатная, во вкладке "Download".
- 0Usernm | 5 июня 2015 г.Thank you for your interest in Fraps! Registration enhances the program and allows you to record as long as you like. Perform full-size recording with no watermarks on your movie. - то есть насколько я понимаю в бесплатной версии есть ограничение по времени и ватермарк на ролике. Ну и на кой оно такое нужно?
Вы были успешно зарегистрированы с логином .
Вы можете указать логин и почтовый ящик прямо сейчас, а можете сделать это позже, нажав кнопку "пропустить этот шаг".