Sunshine

Sunshine логотип

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

Проект был создан сообществом как ответ на решение NVIDIA прекратить поддержку GameStream на своих видеокартах в 2023 году. Sunshine не только сохранил функциональность GameStream, но и значительно расширил её, добавив поддержку видеокарт AMD, Intel и даже программного кодирования на CPU. Благодаря модульной архитектуре и активному развитию, Sunshine предлагает большую гибкость и контроль по сравнению с оригинальным решением NVIDIA.

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

Для работы Sunshine требуется система с достаточно производительным процессором или видеокартой для аппаратного кодирования видео. Сервер поддерживает Windows, Linux и macOS, а подключаться к нему можно с устройств на базе Windows, Linux, macOS, Android, iOS, Raspberry Pi и многих других платформ.

Ключевые особенности Sunshine

Полная замена GameStream: Совместимость с клиентом Moonlight и всеми его функциями, включая поддержку контроллеров, потоковое аудио и потоковую передачу HDR.

Кроссплатформенная поддержка: Работает на Windows, Linux и macOS в качестве сервера и поддерживает все основные платформы в качестве клиента.

Поддержка любого GPU: Совместимость с видеокартами NVIDIA (NVENC), AMD (AMF/VCE) и Intel (Quick Sync), а также программное кодирование через x264/x265.

Низкая задержка: Оптимизированный конвейер кодирования и передачи данных обеспечивает задержку, сравнимую с локальной игрой.

Гибкая настройка:

  • Поддержка разрешений до 4K и частоты кадров до 120 FPS
  • Настройка битрейта, кодеков, качества изображения под возможности сети
  • Адаптивное качество для стабильной работы при изменении пропускной способности
  • Поддержка HDR10 и Dolby Vision

Дополнительные функции:

  • Потоковая передача рабочего стола и отдельных приложений
  • Управление питанием хоста (пробуждение по LAN, переход в спящий режим)
  • Интеграция с игровыми лаунчерами (Steam, Epic Games Store)
  • Поддержка виртуальных аудиоустройств
  • Расширенная система аутентификации и безопасных соединений

Архитектура и технические особенности

Серверная часть: Написана на C++ с использованием современных библиотек для захвата экрана, кодирования видео и сетевой коммуникации. Работает как системная служба с веб-интерфейсом для управления.

Система захвата: В Windows использует Desktop Duplication API, в Linux — KMS/DRM или X11, в macOS — CoreGraphics, обеспечивая эффективный захват с минимальным влиянием на производительность.

Кодирование видео: Поддерживает аппаратное кодирование через NVENC (NVIDIA), AMF/VCE (AMD), VAAPI/QSV (Intel), а также программное через libx264 и libx265.

Сетевой протокол: Использует оптимизированный протокол, совместимый с Moonlight, с поддержкой UDP для минимальной задержки и автоматической адаптацией к качеству сети.

Аудиосистема: Захват системного звука и отдельных приложений с поддержкой многоканального звука и низкой задержкой.

Ввод данных: Полная поддержка клавиатуры, мыши, геймпадов, сенсорного ввода и виртуальных клавиатур с минимальной задержкой.

Сравнение с альтернативами

Против Steam Remote Play: Sunshine обеспечивает более низкую задержку, лучшее качество изображения и работает вне экосистемы Steam, но требует отдельной настройки.

Против Parsec: Sunshine бесплатен и имеет открытый исходный код, но может требовать более сложной начальной настройки.

Против NVIDIA GameStream: Sunshine сохраняет все преимущества GameStream, но работает на любом оборудовании и активно развивается сообществом.

Против Rainway/других облачных решений: Sunshine работает в локальной сети, что обеспечивает лучшую задержку и не требует подписок, но не предлагает облачной инфраструктуры.

Установка и настройка

Установка на Windows:

  • Скачать установщик с GitHub Releases
  • Запустить установку и следовать инструкциям мастера
  • Настроить через веб-интерфейс по адресу https://localhost:47990

Установка на Linux:

  • Использование пакетного менеджера (если доступно в репозитории дистрибутива)
  • Сборка из исходников: git clone, cmake, make
  • Настройка через веб-интерфейс или конфигурационные файлы

Базовая настройка:

  • Настройка PIN-кода для аутентификации клиентов
  • Выбор GPU для кодирования и настроек качества
  • Добавление приложений и игр в библиотеку
  • Настройка параметров сети и безопасности

Настройка клиента Moonlight:

  • Установить Moonlight на клиентское устройство
  • Добавить хост по IP-адресу или через автоматическое обнаружение
  • Ввести PIN-код для сопряжения
  • Выбрать разрешение, битрейт и частоту кадров

Расширенные возможности

Потоковая передача через интернет: Настройка VPN или проброс портов для доступа из любой точки мира.

Поддержка нескольких клиентов: Ограниченная поддержка нескольких одновременных подключений.

Интеграция с Home Assistant: Автоматизация управления хостом через умный дом.

Кастомные сценарии: Возможность выполнения скриптов при различных событиях (начало/конец стрима и т.д.).

Мониторинг и логирование: Подробные логи и статистика для отладки и оптимизации.

Сообщество и развитие

Активная разработка: Регулярные обновления с улучшениями производительности и новыми функциями.

Документация: Подробная документация на GitHub и вики с руководствами для всех платформ.

Поддержка: Активное сообщество на Discord и GitHub Issues для помощи и обсуждения.

Дорожная карта: Публичное планирование развития с учётом пожеланий сообщества.

Будущее развитие

Улучшение поддержки HDR: Расширение совместимости с различными стандартами HDR и настройками.

Оптимизация для ARM: Лучшая поддержка одноплатных компьютеров и мобильных устройств в качестве хостов.

Интеграция с облачными сервисами: Возможности для гибридных сценариев использования.

Улучшенная аналитика: Более подробные инструменты мониторинга и оптимизации.

Sunshine представляет собой выдающийся пример того, как сообщество open-source может не только сохранить, но и улучшить технологии, от которых отказываются крупные корпорации. Для игроков, которые хотят стримить игры со своего ПК на другие устройства без компромиссов в качестве и задержке, Sunshine предлагает мощное, гибкое и полностью бесплатное решение. Его кроссплатформенность и поддержка широкого спектра оборудования делают его идеальным выбором для создания персональной облачной игровой платформы.

Официальный репозиторий Sunshine на GitHub Документация Sunshine с подробными руководствами по установке и настройке. Сайт Moonlight для скачивания клиента на различные платформы.
  • Просмотров: 492

Этот веб-сайт использует технические и функциональные файлы cookie. Чтобы зарегистрировать учетную запись, связаться с нами, получить наши продукты или услуги, вы должны принять нашу Политику Конфиденциальности. Нажимая кнопку «Принять» или щелкая любую ссылку на этой странице, вы соглашаетесь на использование файлов cookie и принимаете нашу Политику использования cookie-файлов.