Не пробовал, но пока разбирался с некоторыми проблемами успел почитать код. Проблем быть не должно, суть клиента — получить поток от хоста, разжать и нарисовать картинку. Ну и заодно отправить действия пользователя — хосту.
Основные проблемы были именно на хосте, независимые от клиента — несовместимость GeForce Experience с серверными ОС, непонятные вылеты игр Valve…
Интересное решение, спасибо за статью. Вполне себе способ вынести на балкон шумящую и гремящую (из-за системы охлаждения CPU и GPU) рабочую станцию, в обычное время занятую майнингом биткоин выполняющую роль медиасервера и прочего для домашней сети, и на ней играть с бесшумного терминала.
Я, кстати, может быть пропустил: ускорение, сглаживание и т.п. — все это есть в тех же объемах, как если бы играть пришлось прямо на физическом железе?
Лагов не замечал. Может быть для кибер-спортсменов будут какие-то неудобства… Пробовал запускать танки через VPN работа-дом — разница между нативным режимом и стримингом — в артефактах сжатия видео, в управлении разницы не заметил.
Да, всё в тех же объёмах. Единственное — при проблемах в канале могут наблюдаться артефакты сжатия, но если канал позволяет — картинка не отличима на глаз.
Кстати, первоначальная идея была купить 1-2 дополнительных монитора, KVM, поставить игровую станцию «под боком» и протянуть 10-20 метровый HDMI к телевизору с разного рода беспроводными контроллерами, клавиатурами, мышами и прочим…
Но, во-первых, станция шумит, даже несмотря на то, что стоят 12см тихие вентиляторы Zalman (но их 4 шт в корпусе).
Во-вторых наблюдались проблемы с управлением — если игровой контроллер с нормальными батарейками работает очень даже хорошо, то клавиатура и мышь имеют свойство отваливаться из-за помех.
В-третьих, это не шаринг ресурса игрового ПК, а опутывания себя проводами.
В конце-концов это оказалось дороже (1 самый простенький IPS монитор удобоваримого качества — от 7000 начинается, гигабитная сеть по квартире укладывается в 1000).
Пока игровая станция стоит в зале рядом с телевизором, но в планах — унести на балкон, а туда протянуть оптику, но останавливает цена проекта — порядка 3 тыр за оптику на балкон.
Пару дней назад пробовал LimeLight. На смартфоне поиграть не получилось из-за лагов потока с хоста, при этом на ноутбуке вполне неплохо игралось в Team Fortress 2. Дело похоже в том, что смартфон пытается экономить соединение: использование канала у него получается 6-15 Мбит/с, против 11-12 Мбит/с у ноутбука.
Да. В GeForce Experience сейчас выбор из четырёх возможных потоков: 1280х720х30, 1280х720х60, 1920х1080х30, 1920х1080х60. Все остальные преобразования идут на клиенте. Даже если на клиенте резрешение 320х240 он получит поток 1280х720.
Steam, вроде бы, подгоняет ширину разрешение потока под разрешение клиента.
Не совсем понял вопрос про то «как капчурит»? Захват видео отдельная большая тема по программированию с элементами canvas, directshow, opengl
Вообще у меня получается запустить «не игру», через limelight можно при определённом стечении обстоятельств (вылет игры) получить просто удалённое управление ПК, но дальше начинаются проблемы с запуском игр и нужно перезагружать хост. Пока чёткой закономерности не выявил. Уже подумываю сделать какую-нибудь программу-заглушку для получения удалённого доступа через стриминг. Другой вопрос — зачем?..
Из Вашего коментария я делаю вывод, что capture происходит с видеокарточки напрямую…
Зачем?! Да мне Gaikai понравился… Хотелось бы иметь нечто open-source win/lin и с большой кнопкой «Сделать зашибись!».
В принципе — всё верно, только делается или стандартными средствами Windows, или через фильтры DirectShow, или функционалом OpenGL — зависит от того что сейчас на экране.
ИМХО, время сервисов на подобии GaiKai ещё не пришло: слишком медленные каналы и большие задержки (что ещё хуже). Единственный вариант — ставить сервера в точках обмена траффика, чтобы хоть как-то уменьшить задержки… Но это очень большие финансовые вложения (в России). Поэтому ждём 10Гбит в каждый дом, а потом открываем стриминг за деньги.
Это с одной стороны, а с другой стороны — он, по идее, должен нагружаться на столько, что свободных ресурсов не останется для параллельной работы.
А если ресурс позволяет, то можно поднять виртуализацию с пробросом видеокарты в гостевую ОС и стримить уже из гостевой ОС… Но это уже как-то слишком хитро для домашней системы?
Интересно, Steam должен быть обязательно в онлайн-режиме или по локалке будет работать и оффлайн? Скажем, для того, чтобы играть в танки (то есть и через интернеты, и стим тут ни при чем)
Streaming steam игр для нелокальных компьютеров работает с помощью hamachi. Steam клиенты видят друг друга не сразу (3-10сек). Для теста ноутбук был подключен через телефон к beeline 3g, игровой компьютер подключен к qwerty. На обоих был запущен steam и hamachi, в hamachi была создана одна сеть. Через небольшое время клиент на ноутбуке увидел игрушки на пк и предложил стрим. Игра запустилась покадрово и начала быстро кушать 3g трафик, но сам эксперимент удачный.
Практический streaming игр