Что такое Moonlight и как с его помощью стримить игры

Moonlight — это бесплатный клиент с открытым исходным кодом, который принимает потоковую передачу игр с мощного компьютера на телефон, планшет, телевизор или слабый ноутбук: сама игра рендерится на ПК, а на экран второго устройства уходит только видеопоток с минимальной задержкой. Изначально проект создавался как клиент для технологии NVIDIA GameStream, а после её закрытия основным сервером стал открытый Sunshine, который работает с видеокартами NVIDIA, AMD и Intel.

По сути, Moonlight превращает домашний игровой ПК в персональное облако: вы запускаете тяжёлую игру на стационарной машине, а играете лёжа с планшетом, на телевизоре в гостиной или даже из другой сети через интернет. В этой статье разберём, как устроена технология, что потребуется для настройки, какие ограничения есть у стриминга и в каких сценариях Moonlight особенно полезен.

Как работает Moonlight: принцип стриминга

Схема состоит из двух частей. На игровом ПК работает сервер — программа, которая захватывает изображение с видеокарты, кодирует его аппаратно в видеопоток (H.264, HEVC или AV1, в зависимости от поддержки) и отправляет по сети. На принимающем устройстве установлен клиент Moonlight, который декодирует поток и передаёт обратно ввод: нажатия клавиш, движения мыши, команды геймпада или сенсорные касания.

Ключевой момент — аппаратное кодирование на видеокарте. Именно оно позволяет сжимать картинку практически без потери производительности в самой игре и с низкой задержкой. Программное кодирование на процессоре для этой задачи подходит плохо: растёт нагрузка и увеличивается лаг между действием и откликом на экране.

Что случилось с NVIDIA GameStream и что такое Sunshine

Долгое время Moonlight работал в паре с функцией GameStream, встроенной в GeForce Experience на видеокартах NVIDIA. Пользователь включал стриминг в настройках, а Moonlight находил ПК в сети и показывал список игр. Однако NVIDIA постепенно свернула эту функцию, и в актуальных версиях драйверов и приложений она недоступна.

На смену пришёл Sunshine — открытый самостоятельный сервер, который реализует тот же протокол. Его преимущества:

  • 🎮 Работает с видеокартами NVIDIA, AMD и Intel — привязки к одному вендору нет
  • 🔓 Открытый исходный код и активное сообщество разработчиков
  • ⚙️ Гибкие настройки кодека, битрейта и разрешения через веб-интерфейс
  • 🖥️ Позволяет стримить как отдельные игры, так и весь рабочий стол

Если вы читаете старую инструкцию по Moonlight, где сервером выступает GeForce Experience, учитывайте: этот путь может уже не работать на вашей системе. Актуальный вариант — установить Sunshine и проверить его совместимость с вашей видеокартой в официальной документации проекта.

На каких устройствах работает клиент Moonlight

Клиентская часть выпускается практически под все популярные платформы, что и делает проект универсальным:

  • 📱 Android и iOS — смартфоны и планшеты, поддержка геймпадов и сенсорного управления
  • 💻 Windows, macOS, Linux — стриминг на слабый ноутбук или второй ПК
  • 📺 Android TV и некоторые Smart TV — игра на большом экране без консоли
  • 🕹️ Отдельные сборки для одноплатных компьютеров и других устройств

Перед установкой проверьте, что ваша версия ОС поддерживается актуальной сборкой — требования периодически меняются, и точный список стоит смотреть на официальной странице проекта.

📊 На каком устройстве вы планируете использовать Moonlight?
На смартфоне или планшете
На телевизоре (Android TV)
На втором ноутбуке или ПК
Пока только изучаю возможность

Требования к сети и железу

Качество стриминга упирается в два фактора: пропускную способность сети и задержку. Для комфортной игры в пределах дома оптимален проводной Ethernet на стороне ПК и Wi-Fi 5 ГГц (или провод) на стороне клиента. Диапазон 2,4 ГГц в загруженном эфире часто даёт рывки и потери кадров, особенно в многоквартирных домах.

Ориентировочная картина по разрешениям выглядит так — точные значения зависят от кодека, битрейта и сцены в игре:

РазрешениеРекомендуемый битрейтГде комфортно
720pнизкий–среднийслабый Wi-Fi, интернет
1080pсреднийдомашний Wi-Fi 5 ГГц
1440pсредний–высокийEthernet или хороший роутер
4Kвысокийпроводная гигабитная сеть
⚠️ Внимание: стриминг через интернет извне дома сильно зависит от скорости отдачи (upload) вашего домашнего провайдера и от того, выдаёт ли провайдер публичный IP-адрес. За NAT провайдера прямое подключение может потребовать дополнительных решений, например VPN с объединением сетей.

Настройка связки Sunshine + Moonlight: общий порядок

Точные пункты меню зависят от версии Sunshine, поэтому ниже — безопасный общий порядок без привязки к конкретным экранам. Сверяйтесь с документацией вашей версии.

☑️ Базовая настройка стриминга

Выполнено: 0 / 5

Сопряжение устройств происходит через PIN-код: Moonlight показывает четырёхзначный код, который нужно ввести в веб-интерфейсе Sunshine на ПК. После этого клиент запоминает сервер и подключается без повторного ввода. В настройках клиента можно выбрать разрешение, частоту кадров и битрейт — начинайте с умеренных значений и повышайте, пока не появятся артефакты или задержка.

# Пример: Sunshine обычно открывает панель управления локально

https://localhost:47990

Типичные проблемы и их причины

Чаще всего пользователи сталкиваются с тремя ситуациями. Первая — заметная задержка ввода. Возможные причины: клиент подключён по перегруженному Wi-Fi 2,4 ГГц, роутер далеко, либо на ПК включено энергосбережение сетевого адаптера. Проверьте задержку сначала на проводном подключении обоих устройств — так вы отделите проблемы сети от проблем настройки.

Вторая — чёрный экран или отсутствие звука. Здесь возможных причин несколько: игра запущена в эксклюзивном полноэкранном режиме, который сервер не может захватить, либо аудиовыход на ПК настроен не на то устройство. Попробуйте оконный режим без рамок и проверьте устройство воспроизведения по умолчанию.

Третья — Moonlight не видит ПК в сети. Обычно это Windows или антивирус блокирует обнаружение, либо устройства оказались в разных подсетях (например, ПК в основной сети, а телефон в гостевой). Разрешите Sunshine в брандмауэре и убедитесь, что оба устройства в одной сети.

⚠️ Внимание: не отключайте брандмауэр полностью ради стриминга. Достаточно добавить правило для конкретного приложения Sunshine — это сохранит защиту системы.
Почему задержка в Moonlight часто ниже, чем в облачных сервисах

Поток идёт напрямую между вашими устройствами в локальной сети, минуя удалённые дата-центры. Пинг внутри домашней сети обычно составляет единицы миллисекунд, тогда как до облачного сервера пакеты идут через сеть провайдера.

Альтернативы Moonlight

У проекта есть конкуренты, и выбор зависит от задачи. Steam Link удобен, если вся библиотека в Steam и не нужны тонкие настройки. Parsec ориентирован на удалённый рабочий стол и совместную игру, но его бесплатные условия и доступность функций менялись со временем — проверяйте актуальные условия. Встроенный Remote Play в Steam работает без стороннего сервера, но уступает в гибкости кодеков и разрешений.

Moonlight выигрывает там, где важны низкая задержка, высокое разрешение и контроль над параметрами потока, а также кроссплатформенность клиента. Минус — необходимость самостоятельно настроить серверную часть.

Частые вопросы о Moonlight

Бесплатен ли Moonlight?

Да, и клиент Moonlight, и сервер Sunshine распространяются бесплатно с открытым исходным кодом. Платных подписок и встроенных покупок в проекте нет.

Нужна ли видеокарта NVIDIA для Moonlight?

Нет. Привязка к NVIDIA существовала в эпоху GameStream. Сервер Sunshine работает с видеокартами NVIDIA, AMD и Intel, если они поддерживают аппаратное кодирование видео.

Можно ли играть через Moonlight вне дома?

Да, но качество зависит от скорости отдачи домашнего интернета и задержки до вашей сети. Если провайдер не выдаёт публичный IP, может понадобиться VPN, объединяющий устройства в одну виртуальную сеть.

Поддерживаются ли геймпады?

Да, Moonlight передаёт ввод с геймпадов, подключённых к клиентскому устройству, — на ПК они определяются как обычный контроллер. Совместимость конкретной модели геймпада зависит от платформы клиента.

Будет ли стриминг нагружать игровой ПК?

Аппаратное кодирование на видеокарте отнимает немного ресурсов, поэтому падение частоты кадров в игре обычно небольшое. На слабых или очень старых видеокартах без аппаратного кодировщика стриминг может работать плохо или не работать вовсе.