Moonlight streaming

Если вы до сих пор живёте в прошлом веке и не обзавелись универсальным 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-боксе пользоваться ПК нельзя, на нём запущена игра.
Удачных вам гонок и баталий!


Компания Google обновила YouTube для Android до версии 14.31.50. Апдейт получился очень важным — в приложение вернулась возможность, существовавшая у закрытого недавно сервиса YouTube Gaming.
В приложении YouTube теперь можно вести потоковую трансляцию игр, при которой изображение захватывается непосредственно с экрана, а звук — с микрофона мобильного устройства.
Для организации игрового стриминга нужно открыть YouTube, нажать на значок камеры в верхней части экрана (левее аватарки и поиска). Затем требуется нажать «Начать трансляцию» и выбрать функцию трансляции с экрана. После этого можно указать заголовок с названием конкретной игры.
После запуска трансляции нужно вернуться на рабочий стол и запустить игру, которую вы собираетесь стримить. Во время стрима в верхней части экрана будет отображаться панель для контроля трансляции. Одна из доступных на ней опций — включение фронтальной камеры для передачи изображения вашего лица во время игры. Небольшое окно с изображением с фронтальной камеры отображается в левом нижнем углу общего видеопотока.

Запущенная вами трансляция будет доступна в игровом разделе YouTube, а это значит, что её увидят не только ваши подписчики, но и зрители, ещё не подписанные на ваш канал.

Как включить функцию прямых трансляций

Перед тем как выйти в эфир в первый раз, выполните подготовку:

  1. Проверьте, подтвержден ли ваш аккаунт и не действуют ли ограничения. Проводить прямые трансляции с мобильных устройств могут только авторы, набравшие тысячу подписчиков.
  2. Прямой эфир:
    • На компьютере: откройте Творческую студию и выберите «Прямые трансляции».
    • На мобильном устройстве: откройте приложение и создайте трансляцию.

Функция станет доступна в течение 24 часов. После этого вы сразу же сможете выйти в эфир.