Практический streaming игр
История о том, как я открыл для себя стриминг игр и что из этого получилось с пошаговой инструкцией.
Посвящается всем, кому интересно эффективное использование имеющихся аппаратных средств.
Введение
Так уж получилось, что жена мне подарила «приставку» к телевизору в виде мощного игрового ПК. ПК был успешно подключен к телевизору и до последнего времени приносил много приятных минут игры на большом экране.
Но, во-первых, не во все игры удобно играть на телевизоре, в тех же шутерах и RTS мне гораздо удобнее играть сидя за столом.
Во-вторых, очень «удачно» сломался единственный выход с игрового ПК — телевизор.
В-третьих, мой проверенный временем рабочий ПК (ноутбук) уже давно перестал быть топовым и далеко не все игры даже сносно удаётся запустить на нём, а менять только потому что не удаётся поиграть — совершенно не повод.
В-четвёртых, иногда возникает непреодолимое желание поиграть с работы, а там далеко не все порты открыты (да, даже для себя на работе я закрыл практически все порты)…
Была поставлена задача: обеспечить доступ к ресурсам игрового ПК с других компьютеров, в т.ч. удалённых.
Обзор решений
В качестве решений рассматривалось ПО, которое использует аппаратное кодирование видео с помощью видеокарты.
Из доступных и бесплатных решений на сегодня я нашёл только стриминг через Steam и относительно доступное решение – встроенный в Nvidia GeForce Experience – стриминг для консоли Shield.
Чем не устроил стриминг через Steam – это необходимость (на данном этапе) иметь компьютеры в одной широковещательной сети, что не позволяет работать с удалённым ПК через маршрутизируемую сеть. Даже поднятие L2TP туннеля не исправило ситуации – клиенты Steam не видят друг друга. Также обнаружилась проблема со звуком при стриминге через Steam: если в системе нет активных звуковых устройств (у меня, например, единственный вывод звука – HDMI, а если он не подключен – то вывода нет), то некоторые игры или не запускаются (Skyrim) или идут без звука. У Nvidia такой проблемы нет.
Большой плюс стриминга Steam — работа «из коробки». С решением же GeForce Experience пришлось несколько повозиться – оно предназначено только для консоли Shield…
Восстанавливаем справедливость
На просторах интернет был найден интересный проект LimeLight, который добавляет функционал Shield на любые Android устройства, но что более важно – реализует стриминг на Windows, Linux и MacOS X. И даже Raspberri Pi.
Вещание поддерживается с разрешением: 1280×720 (30 или 60 кадров) и 1920×1080 (30 или 60 кадров). Управление поддерживается как с помощь клавиатуры/мыши, так и с помощью контроллера, подключенного к компьютеру-клиенту (возможность организовать стриминг на слабый ПК, подключенный к телевизору и играть с помощью контроллера).
В последней версии GeForce Experience была добавлена возможность добавлять альтернативные (без заявленной поддержки стриминга для Shield) игры, но пока отображение списка игр не реализовано в LimeLight. Поэтому Steam — наше всё, по умолчанию при старте – запускается Big-Picture Steam и уже в нём можно выбрать любую доступную игру или программу.
Переходим к практике
Шаг 1. Заходим на limelight-stream.com, выбираем нужную платформу, если это ПК — github.com/limelight-stream/limelight-pc/releases и качаем пакет под нужную ОС. Выбор win64 или win32 (или lin32, lin64) зависит от того, какая версия Java будет использоваться.
Шаг 3. Запускаем утилиту созданным ярлыком.
Шаг 4. Из компьютера-клиента и компьютера-хоста (на котором будут запускаться игры) нужно сделать пару хост-контроллер. Для этого нужно указать IP-адрес хоста и нажать кнопку Pair. После этого на компьютере-хосте появится сообщение о том, что новое устройство Shield хочет подключиться.
Кнопку надо нажать именно на хосте, в активной пользовательской сессии. Пробовал подключаться через RDP к этой сессии пользователя – там сообщения показано не было, так же исчезло и упоминание о Nvidia Shield в оснастке GeForce Experience. Поэтому можно воспользоваться любым Remote Administrator, TeamViewer, Ammyy Admin и т.п. продуктами, если нет физического доступа к консоли хоста (например, с работы).
На хосте нажимаем зелёную кнопку «Подключить» (Connect):
На клиенте:
Собственно на этом всё. Теперь можно нажать кнопку «Start Streaming» и подключиться к игровому компьютеру. К сожалению, после каждой перезагрузки компьютера-хоста приходится восстанавливать подключение.
Развиваем тему
Как запустить, например, танки, которых нет в Steam. Запускаем Steam и добавляем новую игру. Я таким же образом в Steam импортировал IPTV Player чтобы получить единую точку входа своего «медиацентра» для просмотра IPTV.
Далее нажимаем «Обзор» (Browse) и выбираем в каталоге танков файл, который запускает игру, именно игру, а не загрузчик и т.п., для танков это WorldOfTanks.exe, это важно, т.к. через WOTLauncher.exe не запускается.
И добавляем в библиотеку.
Заключение
После вышеописанных действий стриминг должен заработать и можно спокойно поиграть в танки. По локальной сети (1Гбит/с) работает отлично на 1920х1080х60Hz, удалённо через VPN L2TP удаётся поиграть на 1280х720х30Hz.
К сожалению ничего не могу сказать по поводу версии для Android, т.к. есть только планшет на нём. Было бы интересно — стриминг на андроид-приставку к телевизору. Если у кого-то есть возможность проверить — буду признателен.
Надеюсь, статья была интересна и/или полезна, спасибо за уделённое время!
Обнаруженные «особенности»
1. Не работают игры Left 4 Dead 2, Portal 2, возможно, другие производства Valve, с другими производителями проблем не замечено. При чём не работает как в стриминге через GeForce Experience, так и в родном Steam.
2. Утилита пытается выставить значение разрешения максимально близкое к выбранному формату вещания (например, выбрано вещания 1280х720). Но на некоторых мониторах (с соотношением сторон, отличающимся от 16:9) могут быть проблемы в виде широкой чёрной рамки. Решается масштабированием к наиболее подходящему разрешению через панель управления.
3. Иногда выбивает Steam, после этого помогает только перезагрузка.
Как играть удаленно на своем компе
Коммент для минусов
Vnc viewer+ server на комп
стим домашняя трансляия. сам так играю.
Либо тот же Teamviewer.
Но пинг будет дикий и качество графики так себе. Сразу предупреждаю.
Про что-то суровое забудьте. Гонять по сети видео с качеством для экшн игр это очень толсто по каналу. Проще стрельнуть хороший ноут.
Вот в шуттер уже никак (наверное) т.к. удаленки не дают картинку до милисекунды.
2. WoT не дружит с удаленными клиентами поэтому или в ручную переименовывать средство доступа RDP( как лучший вариант, для этого Вам дома необходим real ip)\vnc и как то автоматизировать запуск а потом подключатся к уже запущенной.
3. Изучите материалы по удаленному доступа в винде, немного разберитесь как устроена сеть,как писать простейшие скрипты(для авто входа в WoT), и набросайте сами, ничего сложного там нет.
4. несколько часов работы максимум зная все параметры характеристики и настройки Ваших компьютера,провайдера(обоих), возможно системы. Поэтому изучайте и в бой.
Intel vs AMD
Наглядное сравнение превосходства нового интела 12900k на амд 5950x
Купил их со своей первой зарплаты. Уже давно нет компании, где я работал; компании, где я их купил; комнаты в которой я их сфоткал, но до сих пор меня радует то, что могу не париться по поводу поиска одинаковых носков 😀
«Лучшее» в последние несколько дней
Навеяно постами о безобразиях лиц бородатой национальности.
Что-то мне это напоминает
Почти 16 лет назад я на последние «ши-ши» убегала из Ташкента. Чтобы сохранить жизнь, честь и здоровье себе и своей маленькой дочке. Чтобы работать и не голодать.
Помню, как на родине на каждом углу чурки кричали мне: «Эй, ты, урус, иди сюда, я тебя трахну» или «Вали свой расия». Даже если они шли с мечети. Особенно толпой. Хорошо запомнила.
И что же сейчас? Также вокруг чурки. Также вольготно хамят, угрожают и дерутся. Рубль больше обесценивается, всё тяжелее зарабатывать. Настоящий Ташкент.
И никакой безопасности. Даже в базовых вещах(
Не ною. И уезжать куда-то снова не хочу. Просто не понимаю, как дальше-то быть?
Вопрос
Девушка из чат-рулетки
Какие есть программы удаленного управления windows ( для игр)?
Простой 3 комментария
Ну давай посчитаем, что такое передача готовых кадров.
Берем простенькое 1980×1200, получаем 2376000 точек.
На цвет (если нам нужен нормальный true color), уходит 4 байта. Получаем 2376000*4=9 мегабайт.
это ОДИН кадр.
Берем средненькую игру, где ты хочешь наверное 50-60 frames per second, получаем 540 мегабайт.
В секунду.
Это то, что нужно передать на удаленный компьютер, причем у тебя не целая секунда, а наверное по ту сторону не будут слишком рады, если игра будет лагать по полсекунды или даже четверть секунды.
При скорости подключения в 1гбит у тебя в идеальнейшем случае будет 60-80 мегабайт в секунду, так что тут вообще не вариант.
Какой у нас выход? Сжимать видео. Сколько у нас времени на сжатие видео? Даже секунды нет, иначе будут лаги. Даже сжав видео раз в 10, ты получишь 54 мегабайта в секунду, что впритык к 1 гбиту. И все равно маловато.
В общем реал-тайм передача данных в хорошем разрешении, чтобы играть на удаленном компе практически нереальна.
Поэтому либо хорошее качество и жуткие задержки (например ютуб трансляцию обычно смотрят с задержкой в несколько секунд или минут, и видео успевает быть пережатым хорошим алгоритмом, уменьши трафик раз в 20-50 или больше).
Либо уменьшаем лаги, но сжиать надо быстрее (мощный проц, и плохое качество, так как не успеваем), плюс хитрые алгоритмы просчитывающие, чего не передавать (опять проц). Но все рано лаги будут приличные.
Ну и 1980×1200 потихоньку отмирает, сейчас приходит 2560×1440 и 4к (4096 × 3072)
А еще есть звук, который мы еще не считали, и который весит немало.
Можно ли играть через TeamViewer
TeamViewer изначально задумывался как программа для дистанционного управления компьютером. А используется он, обычно, для удаленного администрирования серверов и аналогичных задач. Но многие пользователи интересуются, а может ли быть второй компьютер игровой машиной? А первый в таком случае будет служить исключительно источником управления.
В действительности такая возможность присутствует. Но не все столь однозначно. Давайте разберемся с тем, как играть через Тим Вивер.
Запуск игр
В действительности все предельно просто. Достаточно подключиться к компьютеру, запустить на нем игру и начать ее проходить. Алгоритм выглядит следующим образом:
На этом можно и закончить инструкцию. Но хочется отдельно упомянуть об удобстве такого варианта.
Удобство
Играть через TeamViewer, как уже стало понятно из начала статьи, можно. Но ничего лучше «Косынки» такая связка не потянет. Проблема кроется в высокой задержке. Действия будут доходить до второго компьютера недостаточно быстро, что негативно скажется на ваших впечатлениях от процесса.
Но погрузится в различные казуалки, которые не требуют скорости действий, через удаленное управление в TeamViewer все же можно. Соответственно, попробовать такой вариант запуска игр, если он вам интересен, стоит. Но далеко не факт, что все будет гладко.
В параметрах TeamViewer имеется ряд опций, изменив которые, можно повысить быстродействие. Найдете их вы во вкладке «Удаленное управление». Оттуда нужно перейти в «Пользовательские настройки…».
Можно ли играть удаленно на другом пк
Нужно качественное соединение. Небось на каком нибудь 3g пытаешься?
Нужно качественное соединение. Небось на каком нибудь 3g пытаешься?
К счастью нет. Дома комп подключен через кабель к роутер Kinetic (последних моделей). А тут в командировке ноут к обычному рабочему вай-фай мегабит 15-25.
Нужно качественное соединение. Небось на каком нибудь 3g пытаешься?
К счастью нет. Дома комп подключен через кабель к роутер Kinetic (последних моделей). А тут в командировке ноут к обычному рабочему вай-фай мегабит 15-25.








