#1 iRavox_renamed_942421_17092020 03.09.2013, 21:00
Dxtory + OBS


Я использую данную связку программ для трансляции игр в 720р@30fps, при оригинальном(полноэкранном) разрешении 1920х1080.
UPD1
http://obsproject.com/forum/viewtopic.php?f=5&t=4128 :
  • Сообщение от paibox:
    DXtory uses CPU to capture your game while Game Capture uses GPU. If your GPU is overloaded but you have CPU time to spare, DXtory would work better, and vice versa.
  • Сообщение от dodgepong:
    DxTory captures from the GPU, but still has to put the content that it captures into a DirectShow device, which takes CPU.

    Game capture captures textures directly from the GPU and puts them into OBS, which does not require a DirectShow device or other CPU interaction.

    :)
  • Сообщение от paibox:
    Because of the way DXtory works, it has to download the texture from the video RAM to system memory before it can either present it over the virtual DirectShow device or record it to disk, and all operations aside from the optional initial scaling of the framebuffer on the GPU will have to be handled by the software itself.
    The fact remains that DXtory mainly puts load on the CPU while Game Capture is processed entirely on your video card and thus causes almost no CPU load at all.

Опишу всю схему так, как это работает у меня. Может быть кто-нибудь использует эти программы в другом амплуа.
  • Dxtory захватывает игру в полноэкранном режиме с родным разрешением игры 1920х1080 без ограничения по fps.
  • Понижает fps до 30. Выходное разрешение и частоту кадров можно изменять.
  • Подает преобразованное видео на прием программой OBS.
  • OBS транслирует полученное видео в 720p@30fps на cybergame.tv.

При этом в игре может быть хоть 200fps. Dxtory на выходе все равно сделает то, что мы настроим.

Приступим к настройке этих программ!

1. Скачиваем и устанавливаем Dxtory и OBS с просторов интернета. Данное руководство писалось под версию Dxtory 2.0.122. Рекомендую именно её. Я натыкался на кривые (сами по себе или криво крякнутые) версии которые отказывались захватывать источник.

2. Запускаем Dxtory и нажимаем на кнопку Ignore Setting


3.[!!!Важно!!!] В появившемся окошке нажимаем на зеленый крестик(1) и указываем путь к OBS(2). И для х86, и для х64 версий, смотря кто какую использует. Это делается для того чтобы Dxtory игнорировал программу OBS и не пытался применять захват к ней. Если этого не сделать Dxtory и OBS не будут нормально функционировать.



4. На вкладке Overlay ставим галочки как на рисунке. Зеленая цифра 69 показывает расположение индикатора частоты кадров в игре. Расположение этого индикатора можно поменять.


5. Вкладку Folder оставляем без изменений. Эту настройку необходимо менять если вы собираетесь записывать видео из игры непосредственно на HDD вашего компьютера.


6. На вкладке HotKey изменяем горячии клавиши под себя. Нас интересует самая первая. Она включает и выключает захват видео.


7. Настало время для самой интересной вкладки - Movie. Тут находятся все основные настройки видеопотока. Кодек, фреймрейт, размер кадра и т.д. Ниже я поясню что значат те или иные важные для нас настройки, но в основном все должно быть так ка на рисунках.


  • Кодек (1) выставляем как на рисунке. Нажимаем на кнопку 1.1 и выставляем все так, как на рисунке ниже.


  • Frame Rate (2) - частота смены кадров (fps). Выставляем тот fps с которым вы будете стримить. Я бы не советовал ставить больше 30.
  • Output (3) - выходной видеопоток. Ставим как на рисунке.
  • File Format (4) - формат файла. Используется при записи видео непосредственно на HDD. Насчет влияния этого параметра на потоковую передачу точно не скажу, поэтому оставим как на рисунке.
  • После того как мы выставили параметры 1-4 нажимаем на желтую иконку Video Setting (5). Откроется новое окно.


  • В этом окне мы выставляем параметры выходного видео. Можно выбрать разрешение из предложенных прессетов (1). Либо же вписать разрешение (2) и Frame Rate (3) вручную.
    UPD1 Тут выставляем такое же разрешение, которое стоит у вас в игре. UPD1

  • Частота кадров (Frame Rate) должна быть одинакова на всех настройках.
8. Вкладка Audio. Мы не будем использовать Dxtory для захвата звука, поэтому убираем галочку с Record Sound (1) если она там стоит. Остальное - как на рисунке.


9. Вкладка ScreenShot. Все понятно из названия. Скриншоты мы делать тоже не будем. Выставляем всё как на рисунке.


10. Вкладка Advanced Setting. Убираем все галочки.
UPD1 Processing threads (1) - количество ядер CPU(включая виртуальные), участвующих в процессе ресайза/перекодирования. Ни ресайзом, ни перекодированием мы заниматься не будем, но на всякий случай выставим число, равное количеству физических ядер процессора. У меня 4-х ядерный процессор, поэтому я ставлю цифру 4. Я Пробовал ставить и 2, и 8, но особой разницы не заметил. UPD1


11. Вкладка Global. Выставляем всё как на рисунке.


На этом настройка Dxtory закончена. Перейдем к настройке OBS.
Детальная настройка OBS есть в теме Open Broadcaster Software [гайд], поэтому я опишу только как добавить Dxtory в качестве источника. Приступим.
  1. Открываем OBS и в поле "Источники" нажимаем правой кнопкой мышки, затем Добавить -> Устройство -> OK

  2. В открывшемся окне проверяем источник (1). Должно быть Dxtory Video 1. Остальные параметры выставляем как показано на рисунке. Не забываем отключить аудиоустрйоство (2). Нажимаем ОК.

  3. Далее идём в настройки программы OBS в раздел "Видео". UPD1 Выставляем разрешение (1) с которыми мы будем стримить. В моём случае - 1280х720. FPS (2) должен быть таким же, какой мы выставили в Dxtory. UPD1

  4. UPD1 Нажимаем "OK". Выделяем наш источник (1), затем нажимаем кнопку "Предпросмотр" (2). Кнопка "Изменение сцены" станет активной (3). Нажимаем её. UPD1

  5. UPD1 Затем нажимаем правой кнопкой мышки на "сцене" (1), затем "Позиция/Размер" (2), затем "По размеру экрана" (3). Или же можно просто нажать комбинацию "Ctrl-F".UPD1

Чтобы все нормально работало необходимо соблюдать процедуру запуска всех этих программ. Выглядит она следующим образом.
  1. Запускаем Dxtory.
  2. Запускаем игру которую мы будем стримить. В верхней части экрана(если мы ничего не меняли при настройке) появился зеленый индикатор FPS. Это значит что Dxtory опознал игру и начал захват экрана, но не начал передавать видео в OBS. Сворачиваем игру.
  3. Запускаем OBS.
  4. Разворачиваем игру и нажимаем горячую клавишу запуска захвата которую мы настроили ранее (п.6 данного гайда). Цвет индикатора FPS должен измениться на желтый. Снова сворачиваем игру.
  5. Запускаем стрим в OBS и разворачиваем игру.
  6. Profit!

#2 iRavox_renamed_942421_17092020 03.09.2013, 23:22
Писал сам, специально для Goha.TV
Если есть пожелания, критика или предложения по поводу гайда - милости прошу в тему. Надеюсь кому-нибудь пригодится.

Вот что нарыл в интернетах - Таблица настройки качества
Насчет актуальности ничего не скажу. Но вот одна тенденция выглядит правдоподобно - на 30 fps нужно 2200 kbps битрейта, а на 60 fps необходимо уже 4000.
Спс, а то OBS не видит дискретную видеокарту, вроде как поэтому не могу сделать захват через источник game capture, попробую твою связку, может дикстори будет игры захватывать.

Кстати как это отразится на производительности, не ухудшится? собираюсь стримить 1080р 3к битрейт, 30 фпс, а не 720 как у тебя в начале поста (я просто весь еще не читал)
#4 Dizaer_renamed_1051172_17072022 04.09.2013, 15:05
Сообщение от iRavox:
Dxtory + OBS


Я использую данную связку программ для трансляции игр в 720р@30fps, при оригинальном(полноэкранном) разрешении 1920х1080. Вся прелесть состоит в том, что на вход OBS мы подаем 720p@30fps видео. Тем самым отпадает необходимость ресайза на стороне кодировщика(OBS) чем мы повышаем качество трансляции и снижаем нагрузку на компьютер.
Опишу всю схему так, как это работает у меня. Может быть кто-нибудь использует эти программы в другом амплуа.

[/LIST]
Пруф со скринами в студию и две записи трансляции с декстори и без.
#5 iRavox_renamed_942421_17092020 04.09.2013, 21:55
Сообщение от catcrabskunkdog:
Кстати как это отразится на производительности, не ухудшится?
Нет, все будет нормально, если правильно настроить.
#6 gnym_renamed_561983_01052025 06.09.2013, 19:44
Толку от этого dxstory нет. Разве что иногда нужно захватить игру, у которой нет оконного режима, а фуллстрин этой игры ОБС не переваривает. В остальном те же яйца.
#7 iRavox_renamed_942421_17092020 08.09.2013, 20:50
Сообщение от Dizaer:
Пруф со скринами в студию и две записи трансляции с декстори и без.

  • CPU load: ~75%
  • GPU load: ~51%
  • GPU memory controller load: ~11%
  • GPU memory load: ~31%
  • FPS in game: ~65



  • CPU load: ~56%
  • GPU core load: ~68%
  • GPU memory controller load: ~26%
  • GPU memory load: ~27%
  • FPS in game: ~55



  • CPU load: ~72%
  • GPU core load: ~58%
  • GPU memory controller load: ~17%
  • GPU memory load: ~27%
  • FPS in game: ~67


Настройки OBS во время тестов не менялись.

Прошу.
Выходит примерно одинаково.
Но, на мой взгляд, картинка при Dxtory+OBS более плавная и "мягкая" что-ли. Артефакты не так заметны. На сценах с резкими движениями не рассыпается.

Сообщение от Dizaer:
В остальном те же яйца.
Не согласен. Грубо говоря, Dxtory использует для захвата ресурсы CPU, а Game Capture в OBS использует для захвата ресурсы GPU. Все отлично разъяснено на оф. форуме разработчиком OBS -http://obsproject.com/forum/viewtopic.php?f=5&t=4128, а именно:
  • Сообщение от paibox:
    DXtory uses CPU to capture your game while Game Capture uses GPU. If your GPU is overloaded but you have CPU time to spare, DXtory would work better, and vice versa.
  • Сообщение от dodgepong:
    DxTory captures from the GPU, but still has to put the content that it captures into a DirectShow device, which takes CPU.

    Game capture captures textures directly from the GPU and puts them into OBS, which does not require a DirectShow device or other CPU interaction.

    :)
  • Сообщение от paibox:
    Because of the way DXtory works, it has to download the texture from the video RAM to system memory before it can either present it over the virtual DirectShow device or record it to disk, and all operations aside from the optional initial scaling of the framebuffer on the GPU will have to be handled by the software itself.
    The fact remains that DXtory mainly puts load on the CPU while Game Capture is processed entirely on your video card and thus causes almost no CPU load at all.

Т.е. есть смысл использовать эту связку людям с low-end видеокартой, но hi-end процессором. Либо же вариант со стримом "тяжелой" в плане графики игры, где GPU сильно загружен, в то время как на CPU есть свободный ресурс.
#8 Mikeman_renamed_694355_03052020 12.10.2013, 16:06
есть пару вопросов, обс при запуске ерорит о том что надо добавить его в исключения и тд и тп, т.к. сейчас версия обс всего одна (не деления на х86 и х64) то я добавляю основной экзешник, в исключения дхтори а обс все равно ругаеться
второй вопрос дхтори видит planetside 2 но фпску не отображает, в чем соль ? :/
#9 iRavox_renamed_942421_17092020 20.10.2013, 20:59
Сообщение от Mikeman:
т.к. сейчас версия обс всего одна (не деления на х86 и х64)
о.О Никто разделения не отменял. Качай бинарики в архиве. Там две папки - x86 и x64. Ссылка на архив в бинариками версии 0.582b.
Сообщение от Mikeman:
второй вопрос дхтори видит planetside 2 но фпску не отображает, в чем соль ? :/
Как ты определил что он видит игру? Нет отображения FPS = нет захвата. Если ты конечно в настройках Dxtory отображение не отключил.

Похоже что у тебя конфликт захвата процесса игры. Запущенно несколько процессов которые пытаются захватить игру и мешают друг другу нормально это делать. Проверяй всякие оверлеи. RTSS Rivatuner Statistics Server + HWiNFO не используешь?
#10 iRavox_renamed_942421_17092020 20.10.2013, 22:10
Сообщение от Mikeman:
я добавляю основной экзешник, в исключения дхтори а обс все равно ругаеться
Кириллицы нет в пути к OBS и Dxtory?

Последовательность запуска соблюдаешь?
Сообщение от iRavox:
Чтобы все нормально работало необходимо соблюдать процедуру запуска всех этих программ. Выглядит она следующим образом.
Запускаем Dxtory.
Запускаем игру которую мы будем стримить. В верхней части экрана(если мы ничего не меняли при настройке) появился зеленый индикатор FPS. Это значит что Dxtory опознал игру и начал захват экрана, но не начал передавать видео в OBS. Сворачиваем игру.
Запускаем OBS.
Разворачиваем игру и нажимаем горячую клавишу запуска захвата которую мы настроили ранее (п.6 данного гайда). Цвет индикатора FPS должен измениться на желтый. Снова сворачиваем игру.
Запускаем стрим в OBS и разворачиваем игру.
Profit!

#11 Petruha2k_renamed_1083629_23102019 27.11.2013, 13:56
Подскажите пожалуйста, если я записываю с Dxtory на хард, как сделать, чтоб видео весили не так дико?
у меня 18 минутное видео 1920 на 1080 весит 82 Гб
а если уменьшить до 720р то всё равно просто безумно дико выходит
#12 Chimera-Syber 27.11.2013, 13:57
использовать связку obs + dxtory. Dxtory пишет в несжатом формате, правда при связке нужен мощный процессор
#13 pzn_renamed_905688_28062021 04.02.2014, 03:47
Ок прога =) спасибо за гайд автору
#14 suicid 04.02.2014, 13:10
то есть если гпт почти топ, а проц мусор i5 второго поколения, толку в dxtory нет?
и там в основном про полноэкранные режимы, а при стриме оконных оно поможет? ну окно на весь экран в 1080п а вывод бы хотелось в 720п без лишнего нагруза
#15 iRavox_renamed_942421_17092020 04.02.2014, 18:39
Сообщение от suicid:
то есть если гпт почти топ, а проц мусор i5 второго поколения, толку в dxtory нет?
Не совсем. Толк будет всегда. Все зависит от внутриигровых настроек, а также настроек кодирования в OBS. Оптимальный вариант подбирается путем многократных тестов и сравнений.
Сообщение от suicid:
а при стриме оконных оно поможет?
Не вижу особого смысла. Оконный режим отлично захватывается самим OBS.
Сообщение от suicid:
окно на весь экран в 1080п а вывод бы хотелось в 720п без лишнего нагруза
"Нагруз" будет всегда. Ресайз 1080р -> 720p никуда не девается. Что с Dxtory, что без него.