Moonlight — стриминг игр с ПК на Android-бокс

Если вы до сих пор живёте в прошлом веке и не обзавелись универсальным Android-боксом за условные 4000 рублей, то вот вам ещё один повод это сделать — стриминг любых игр с мощного домашнего ПК на Android-бокс. Т.е. на Android-боксе вы играет в игры, которые в реальности запущены на ПК. Сыграть с ребёнком в «LEGO City Undecover» вдвоём на большом экране — легко, погонять в «Ведьмак 3» или «GTA V» с запредельным качеством графики на кухне — запросто.


Существуют разное ПО для стриминга игр на Android устройства: KinoConsole, Splashtop и пр. Но ничего качественнее, проще и быстрее бесплатной программы Moonlight Game Streaming я пока не встречал. Об этом ПО я вам сегодня кратко расскажу.

Android-боксы поселились у меня дома достаточно давно. В гостиной, в тумбе под ТВ спрятан Android-бокс, который подключен к сети через Gigabit Ethernet. На кухне за телевизором спрятан Android-бокс, который подключен по Wi-Fi (Xiaomi Mi Box 3 Enchanced с очень мощным Wi-Fi). Использование ограничено рядом программ: IPTV, YouTube, HD VideoBox, Torrent Stream Controller и просмотр фильмов по сети или локально. Но с недавних пор к списку программ добавилась Moonlight, а Xbox в гостиной превратился в обычный пылесборник.


Для использования Moonlight подходит любой ПК (не мобильный) с видеокартой Nvidia GeForce GTX 600-й серии и лучше. Ограничение по типу видеокарты связано с тем, что Moonlight базируется на сервисе Nvidia Shield GameStream. На ПК вам не нужно какое-либо стороннее ПО, только GeForce Experience, которое поставляется вместе с драйверами Nvidia.


Сервис Nvidia Shield GameStream изначально рассчитан на работу с консолями от Nvidia — Shield и Shield TV, которые базируются на ОС Android. Но умельцы научились использовать этот сервис на любых Android устройствах.

Вам понадобится:

  • Домашний игровой ПК с видеокартой от Nvidia, Лучше, если он будет подключён к сети по Ethernet.
  • Современный Android-бокс с качественным и быстрым Wi-Fi модулем или с подключением по Ethernet. Лучше, если он будет обладать поддержкой H.265/HEVC (например, на AMLogic S905/S905X/S912).
  • Любой Bluetooth геймпад, совместимый с Android (даже простой за 7$ подойдёт). Можно и проводным геймпадом пользоваться, но беспроводной существенно удобнее.

У меня есть два геймпада. Любимый Xiaomi Gamepad и самый дешёвый за 7$. Важно, что геймпады вовсе не должны обладать поддержкой XInput или DirectInput, только совместимостью с Android. Сервис Nvidia Shield GameStream автоматически создаст в Windows виртуальные геймпады с поддержкой XInput и DirectInput. Т.е. любая игра, которые может работать с геймпадами, будет работать даже с дешёвым китайским геймпадом сразу.


На ПК запускаете GeForce Experience и на закладке SHIELD включаете GAMESTREAM.


Если вы используете Steam, то все ваши совместимые игры из Steam автоматически отобразятся в Moonlight. При необходимости вы можете добавить абсолютно любую игру, просто нажимаете «Добавить» и выбираете исполняемый файл для запуска игры. Здесь же игру можно переименовать и присвоить ей обложку.

Запускаете Moonlight на Android-боксе. Если Android-бокс и ПК находятся в одной подсети, то вы сразу увидите ПК в списке. Всё, что осталось сделать — выбрать этот ПК в списке, а на самом ПК ввести пин-код (делается это один раз).



Если ПК и Android-бокс находятся в разных подсетях, то можно добавить ПК по IP-адресу вручную. Программа Moonlight готова к развлечениям.


Немного расскажу о важных настройках в самой программы Moonlight. Здесь можно указать разрешение потока и количество кадров (я использую 1080p60) и битрейт видео. Обязательно надо включить отображение на весь экран.




Если у вас несколько геймпадов (для игр, в которые могут играть несколько человек сразу), то можно включить поддержку нескольких геймпадов.


Можно принудительно включить использование H.265, если вы заведомо знаете, что ваш бокс поддерживает этот декодер.


Ни в гостиной по Gigabit Ethernet, ни на кухне по Wi-Fi я не могу отличить качество изображения при стриминге от прямого подключения по HDMI при битрейте 30 Мбит/с. При этом в гостиной (проводное соединение) задержка составляет около 70 мс по данным Moonlight, а на кухне 50 мс, что во многих играх никак не сказывается на управлении. Меньшая задержка по Wi-Fi связана с тем, что боксы используют разные SoC. На кухне MediaTek, аппаратный видеодекодер которого быстрее справляется с декодированием потока, а в гостиной AMLogic.

Ну, и видео, как выглядит сам процесс (на кухне):



Дополнительно, существует ещё версия Moonlight For Rooted Devices (тоже в Google Play). Она позволяет использовать не только геймпады, но и мышку при стриминге игр.

Работу Moonlight и Nvidia Shield GameStream кратко можно описаться следующим образом. Сервис Nvidia Shield GameStream захватывает видео с экрана и звук с ПК (во время игр звук через ПК не идёт), сжимает видео с помощью H.264 или H.265 кодировщика и передаёт поток на Android-бокс. Ещё сервис Nvidia Shield GameStream создаёт виртуальные геймпады с поддержкой XInput и DirectInput, а команды для них принимает от Android-бокса. Во время игры на Android-боксе пользоваться ПК нельзя, на нём запущена игра.

Удачных вам гонок и баталий!

7 комментариев

Valera1978
Прошлым летом проходил все стриминги.
Стриминг на андройд был самым калеченым.
Плавность отсутствует, это факт. Для плавности нужна очень-очень мощная коробочка.
Проводил много тестов, самый просто и наглядный у меня был такой: rise of the tomb raider, геотремальная долина, развалины, из которых почти вся долина видна — становишься и зажимаешь кнопку влево-вправо — мир крутится вокруг Лары — по плавности анимации сразу все понятно.

Итак, что бы не было абстрактно:
i5-4690, 16гб, GeForce 1070, комп на гигабите, wifi — 5Ггц (50-70мбайт (не мбит) с ноута по wifi получаю)
1920*1080 60fps

1. Изначально был мунлайт — тестил на xiaomi box mini (мягко говоря не очень), планшет Samsung Note Pro 12.2 (800-ый квалком) — лучше, но не то, крутимся в геотермальной долине — постоянные рывки, плавности нет
2. Потом поставил 3ую малинку и мунлайт — значительно плавнее (я даже на несколько месяцев оставил такую конфигурацию), но всеравно не идеально
3. Потом был steamlink — не идеально, но — это первая конфигурация, на которой в 60fps действительно получаешь удовольствие от плавности, малозаметные рывки все еще присутствуют
4. На этом я остановился и вернулся на hdmi (один комп на hdmi, второй на steamlink) :) мой друг, который тоже проходил все эти этапы, пошел дальше и взял nvidia shield последний — в 1920*60fps говорит не отличимо от hdmi, в 4к — все еще проблемы.

В моем случае мунлайт на андроде был просто бюджетный вариант, и самый не качественный.
Kyrie1965
В Tomb Raider я не никогда не играл. А вот Ведьмак 3, GTA V, разные игры серии NFS работали отлично на обоих боксах. AMLogic S912 по кабелю и Mediatek MT8693 по Wi-Fi. Ни на одном из боксов к качеству картинки (1080p60) у меня нареканий не было. Всё плавно, без единого артефакта.
jiko
Юрий, спасибо, не знал о таком. Вы не написали конфигурацию пк. У меня не свежая gtx 750 ti, я так понимаю она не имеет аппаратной поддержки h.265. И moonlight пишет, что используетя h.264 и задержка около 120-130, стримил на kIIpro — играть можно, но не очень комфортно. Задержку вы указали, а вот используемый кодек и видеокарту — нет.
Kyrie1965
H.265 будет работать, если с видеокартами на 950 и старше (я использовал GTX 1060 и H.265). H.264 на 600-й серии и старше. На днях показывал другу Moonlight, у него ПК GTX 770 (гигабитная сеть) и TX8 на S912 (тоже гигабитная сеть) — было H.264 и задержка от 60 до 70 мс. Качество картинки отличное.
Aspector
Подскажите пожалуйста, что используете в качестве роутера?
Kyrie1965
Проводная сеть — TP-Link с гигабитовыми портами, беспроводная — Xiaomi Mi Router 3 (для обзоров ещё использую TP-Link Archer C7 для тестов беспроводной сети).
Шамиль Джанболатов
Получается, дорогущая приставка от Нвидиа не нужна?