Если вы запустили игру на домашнем ПК, а играть хотите с телефона, планшета или телевизора в другой комнате, Moonlight — именно тот инструмент, который решает эту задачу: он передаёт изображение и звук с компьютера на другое устройство по сети, а ваши нажатия отправляет обратно. По сути это стриминг игр внутри домашней сети или через интернет, причём игра физически работает на вашем ПК, а не «в облаке».
Проект бесплатный и открытый, появился как неофициальный клиент для технологии NVIDIA GameStream, а сейчас чаще всего используется в связке с открытым сервером Sunshine, который работает на видеокартах NVIDIA, AMD и Intel. Ниже разберём, как это устроено, что потребуется и на что обратить внимание при настройке.
Как работает Moonlight: принцип стриминга
Схема состоит из двух частей. На игровом ПК работает сервер — программа, которая захватывает кадры с видеокарты, сжимает их аппаратным кодировщиком (NVENC, AMF или Quick Sync в зависимости от GPU) и отправляет по сети. На принимающем устройстве установлен клиент Moonlight: он декодирует видеопоток и передаёт обратно ввод с геймпада, клавиатуры, мыши или сенсорного экрана.
Ключевой параметр здесь — задержка (latency). Пока кадр дойдёт до экрана, а ваше нажатие вернётся на ПК, проходит некоторое время. В проводной домашней сети задержка обычно незаметна, по Wi-Fi зависит от качества роутера и загруженности эфира. Именно поэтому стриминг комфортен сначала в пределах квартиры, а уже потом — через интернет.
💡Moonlight — только клиент. Для работы нужен сервер на игровом ПК: Sunshine (универсальный) или ранее NVIDIA GameStream (поддержка прекращена NVIDIA).