Как можно организовать трансляцию видеоигрового стрима из одного общего виртуального мира?

Можно ли создать единый игровой мир на одном сервере, который будет транслировать видеостримы напрямую из игрового движка?
  • 24 июля 2024 г. 16:03
Ответы на вопрос 4
Для организации трансляции видеоигрового стрима из одного общего виртуального мира можно использовать различные способы, включая:

1. Создание специального игрового сервера, на котором будут собираться все игроки и стримеры для проведения трансляций. Это позволит обеспечить единое окружение для всех участников стрима.

2. Использование платформ для стриминга, таких как Twitch или YouTube Gaming, для трансляции игрового процесса из общего виртуального мира. Стримеры могут использовать специальное ПО для захвата экрана и передачи видео с игры в реальном времени.

3. Сотрудничество с разработчиками игры для создания специального режима или функции, позволяющей проводить трансляции из игрового движка напрямую. Некоторые игры уже имеют встроенные инструменты для стриминга, которые облегчают процесс трансляции.

Ответ на вопрос о возможности создания единого игрового мира на одном сервере, который будет транслировать видеостримы напрямую из игрового движка зависит от конкретной игры и ее возможностей. Некоторые игровые движки и разработчики предоставляют инструменты и API для создания подобных миров и трансляций, в то время как в других случаях это может потребовать дополнительной разработки и настройки.
Так же по сути работает и облачный гейминг... тут Вы просто делаете еще одну сложность и опускаетесь на уровень ниже
И возможно ли оттуда транслировать видеострим? смысл в том чтобы просчитать все на сервере и отдать клиенту видеострим.

Предлагаешь, чтобы на сервере стояла графическая карточка для каждого юзера?
Ну возьмем сервер,где играет 100-200 человек. Нужно 100-200 видеокарточек на сервере.
Хочешь 1000? 1000 карточек? Тут тупо на электричестве сервер разорится.

Далее. Каждый кадр нужно обработать, то есть одно дело, когда у тебя локально оно генерится и сразу в монитор. А тут нужно создать видеострим, а потом передать по инету.

Главное чтобы интернет был норм

Давай посчитаем как отдавать видеострим.
Берем например ну хотя бы hd 1920x1080x4 (2 млн цветов). Получаем 8294400 байт один кадр ( 8 мегабайт). Ты же хочешь нормальный фпс, ну хотя бы 50 в секунду, 400 мегабайт в секунду. на одного юзера.

Хочешь поговорить о крутом сжатии? Так вот, оно не работает на кадрах. Оно работает на стримах, когда можно проанализировать некоторое количество кадров и уже работать от них. Тогда надо решить вопрос сколько кадров мы будем удерживать для анализа и сжатия, перед тем как куда-то передавать. Игры типа контерстрайка, где 5-10 мс имеют значение сразу улетают в трубу. Сжатие может быть разным, в зависимости от того как резко меняется картинка, а неравномерность лагов хуже чем постоянный лаг. То есть надо решить еще и этот вопрос

То есть сжимать стрим на уровне кадров, если мы не можем их полноценно анализировать.
Нормальные современные кодеки умеют и в А-фреймы и Б-фреймы, то есть жмут в обе стороны. Плюс не ограничены во времени. А у нас и время поджимает, и генерация ограничена количеством кадров которые мы можем вместе использовать. В итоге сжатие будет не 90% как в современных видеокодеках, а хорошо если сожмет треть, и качество будет теряться. И трафик уменьшитсья ну до 50-100 мб/сек.
Теперь подумаем что у клиента отличный инет. А у сервера будет 50-100 мб/сек на КАЖДОГО игрока? Это какой канал должен быть у сервера для поддержания 100-200 игроков? А 1000?

В итоге твоя идея технически совершенно не рабочая.

Облачный хостинг сталкивается с теми же проблемами - лаги, хромает качество видео, в результате играть в мультиплеер становится проблематично. Более-менее можно играть в синглплеер, где милисекунды не так критичны. Но тут нужно понимать что облачный гейминг это не 1000 игроков на одну серверную, а пару десятков тут, пару десятков там, спрос на него не слишком большой, поэтому и бизнесом этим мало кто занимается.
Отдельный плюс облачного гейминга бывает в том, что игры могут быть уже оплачены, и можно поиграть во что-то что лень себе покупать.
Похожие вопросы