Програмне рішення по суті буде містити велику відставання через таке:
- Читання даних з фреймбуфера GPU відбувається дуже повільно.
- Навіть із цільовим бітрейтом близько 80% гігабітного Ethernet (ви не хочете 100% використання через погіршення внаслідок насичення), більшість відеокодеків використовуватимуть величезну кількість процесора для кодування 1080p в режимі реального часу. Навіть якщо у вас було кодування з підтримкою графічного процесора, ви б потім відбирали потужність обробки від самого пристрою, який рендерує вашу гру, ймовірно, знижуючи частоту кадрів вашої гри на багато, через слабку здатність більшості GPU для багатозадачності між окремими програмами.
- Сам вхідний / вивід постійного гігабітного Ethernet - просто пересилання готових даних по дроту - споживає значні ЦП через перебої. За рахунок деякої затримки ви можете використовувати модерацію переривань, функцію новіших чіпсетів сервера Ethernet, щоб зменшити використання процесора.
Якщо ви хочете, щоб це було гладко і приємно, вам слід скористатися карткою захоплення.
Ось приклад одного такого пристрою: http://www.epiphan.com/products/frame-grabbers/vga2ethernet/
Цей пристрій має загальну концепцію:
- Ви підключаєте пристрій до своєї відеокарти
- Ви підключаєте монітор до пристрою
- Ви підключаєте мережевий вихід пристрою до комп'ютера або маршрутизатора
- Ви отримуєте доступ до веб-інтерфейсу пристрою через Ethernet, і у вас є потокове відео, повний екран без втрат, якщо ви хочете
Оскільки пристрій використовує спеціальне обладнання для кодування кадрів і передавання їх по ethernet, воно буде дуже рівним і високим FPS та надійним. Це також значно спрощує налаштування програмного забезпечення, виключаючи необхідність у дорогих конвеєрних рішеннях на вашій ігровій платформі.
Якщо ви не хочете витрачати гроші і можете жити з надзвичайним відставанням і дуже низьким FPS, ви можете спробувати щось на зразок написання конвеєра в Gstreamer або VideoLAN (VLC), щоб захопити локальний фреймбуфер, закодувати його в якомусь відео кодеку, і передавайте його через Shout, RTP або RTSP або подібний протокол потокового передавання, а потім завантажуйте / передайте їх зі свого повільного комп'ютера. Але як я попереджав вас, це буде повільно.