14

Хорошо, я сделал больше, чем небольшую домашнюю работу по этому поводу, и начинаю думать, что мир почему-то против этой идеи.

У меня дома есть ноутбук SB Core i3 с графическим процессором GMA HD, который ужасен для всего визуального, и я хотел бы передавать потоковое видео со своего настольного компьютера трехмерного характера (исключая RDP и другие протоколы на основе хуков).

Первый ответ большинства людей на подобные потоки связан с пропускной способностью или вычислительной мощностью. Я в первую очередь пробовал Gigabit LAN, и мой настольный компьютер имеет разогнанную 3930 КБ, поэтому я считаю, что ДОЛЖЕН быть баланс между нагрузкой на ЦП и пропускной способностью, которая позволила бы мне получить по крайней мере 20 FPS полного обновления экрана , До сих пор я не могу использовать TightVNC, тестируя, воспроизводя видео в полноэкранном режиме на хост-компьютере.

Итак, подведя итог, с более чем 30-кратной пропускной способностью OnLive, как именно я могу создать даже прерывистый уровень видеопотока по локальной сети в моем собственном доме? Возможно ли это и как?

4 ответа4

16

Программное решение по своей природе будет содержать много задержек из-за следующего:

  • Чтение данных из кадрового буфера графического процессора происходит очень медленно.
  • Даже с целевым битрейтом около 80% гигабитного Ethernet (вы не хотите использовать 100% из-за ухудшений, вызванных насыщением), большинство видеокодеков будет использовать огромное количество ЦП для кодирования 1080p в режиме реального времени. Даже если бы у вас было кодирование с помощью графического процессора, вы бы тогда теряли вычислительную мощность на самом устройстве, которое воспроизводит вашу игру, вероятно, значительно снижая частоту кадров вашей игры из-за слабой способности большинства графических процессоров выполнять многозадачность между отдельными программами.
  • Сам устойчивый гигабитный Ethernet-ввод-вывод - просто отправка готовых данных по проводам - потребляет значительный ЦП из-за прерываний. За счет некоторой задержки вы можете использовать модерацию прерываний, особенность более новых наборов микросхем Ethernet для серверов, чтобы уменьшить загрузку ЦП.

Если вы хотите, чтобы это было гладко и приятно, вы должны использовать карту захвата.

Вот пример одного такого устройства: http://www.epiphan.com/products/frame-grabbers/vga2ethernet/

Это устройство имеет общую концепцию:

  • Вы подключаете устройство к вашей видеокарте
  • Вы подключаете свой монитор к устройству
  • Вы подключаете Ethernet-выход устройства к компьютеру или маршрутизатору.
  • Вы получаете доступ к веб-интерфейсу устройства через Ethernet, и у вас есть потоковое видео, без потерь, на весь экран, если хотите

Поскольку устройство использует выделенное аппаратное обеспечение для кодирования кадров и их потоковой передачи через Ethernet, оно будет очень плавным, с высоким FPS и надежным. Это также значительно упрощает настройку программного обеспечения, устраняя необходимость в дорогостоящих конвейерных решениях на вашей игровой установке.

Если вы не хотите тратить какие-либо деньги и можете жить с предельной задержкой и очень низким FPS, вы можете попробовать что-то вроде написания конвейера в Gstreamer или VideoLAN (VLC) для захвата локального кадрового буфера, кодирования его в некоторый видеокодек, и потоковую передачу через Shout или RTP или RTSP или аналогичный протокол потоковой передачи, а затем загрузите / выполните потоковую передачу с более медленного компьютера. Но, как я уже предупреждал, это будет медленно.

6

Вы можете использовать в доме потоковое видео от Steam. Мой работает ОЧЕНЬ хорошо с моим рабочим столом, подключенным через Gigabit LAN, и ноутбуком на 5Ghz AC. Просто не забудьте пройти через настройки и установить флажок, чтобы расставить приоритеты в паровом трафике во время потоковой передачи.

3

Есть еще несколько вариантов сейчас. Если у вас последняя видеокарта Nvidia, вы можете воспользоваться преимуществами аппаратного ускорения захвата без дополнительного оборудования. Он называется "Gamestream". Вы можете купить одно из устройств Nvidia, поддерживающих протокол, или вы можете скачать приложение с открытым исходным кодом под названием "Moonlight" http://moonlight-stream.com.

0

Steam Remote Play - это определенно вариант. Много раз играл, например, в Ракетной лиге. Если у вас есть хорошее соединение по локальной сети с обеих сторон, вы можете идти. Даже можете подключить геймпад на ноутбуке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .