Game melalui LAN, VNC alternatif?

15

Oke, saya sudah melakukan lebih dari sedikit pekerjaan rumah tentang ini dan saya mulai berpikir bahwa dunia entah bagaimana menentang gagasan ini.

Saya memiliki laptop di rumah saya, SB Core i3 dengan GMA HD GPU yang benar-benar mengerikan untuk semua visual, dan saya ingin melakukan streaming video dari rig desktop saya yang bersifat 3D (mengesampingkan RDP dan protokol berbasis hook lainnya).

Jawaban pertama kebanyakan orang untuk thread serupa adalah bandwidth atau kekuatan pemrosesan yang terkait. Saya sudah mencoba pertama dan terutama melalui Gigabit lan, dan rig desktop saya memiliki overclock 3930k jadi saya berpendapat bahwa HARUS ada keseimbangan antara CPU grunt dan bandwidth yang memungkinkan saya untuk mendapatkan setidaknya 20FPS refresh layar penuh. . Sejauh ini saya tidak dapat menggunakan TightVNC, menguji dengan memutar video dalam layar penuh pada mesin host.

Jadi ringkasnya, dengan lebih dari 30x bandwidth OnLive, bagaimana tepatnya cara saya membuat feed video dengan tingkat yang lebih rata di LAN di rumah saya sendiri? Apakah mungkin dan bagaimana?

pengguna1901982
sumber
1
Sudahkah Anda melihat ke RemoteFX ? "RemoteFX memberikan pengalaman pengguna yang kaya untuk Infrastruktur Desktop Virtual (VDI) dengan menyediakan adaptor virtual 3D, codec cerdas, dan kemampuan untuk mengarahkan ulang perangkat USB di mesin virtual." Anda mungkin perlu membeli Server 2012. ;)
Ƭᴇcʜιᴇ007
periksa proyek ini: spgt.sourceforge.net memungkinkan untuk mengalirkan sebagian dari desktop, dan juga meneruskan kontrol.

Jawaban:

16

Solusi perangkat lunak akan mengandung banyak kelambatan karena hal-hal berikut:

  • Membaca data dari framebuffer GPU sangat lambat.
  • Bahkan dengan bitrate target yang sekitar 80% dari gigabit ethernet (Anda tidak ingin% utilisasi 100 karena gangguan akibat saturasi), sebagian besar codec video akan menggunakan sebuah besar jumlah CPU untuk encode 1080p secara real-time. Bahkan jika Anda memiliki penyandian berbantuan GPU, Anda kemudian akan menguras daya pemrosesan dari perangkat yang membuat game Anda, mungkin menurunkan framerate game Anda banyak, karena kemampuan GPU yang buruk untuk melakukan multitasking di antara program-program yang berbeda.
  • I / O gigabit ethernet yang berkelanjutan itu sendiri - hanya mengirimkan data yang sudah selesai melalui kabel - mengkonsumsi CPU yang signifikan karena interupsi. Dengan mengorbankan beberapa latensi, Anda dapat menggunakan moderasi interupsi, fitur chipset ethernet server yang lebih baru, untuk mengurangi penggunaan CPU.

Jika Anda ingin itu lancar dan menyenangkan Anda harus menggunakan kartu penangkap.

Berikut adalah contoh dari salah satu perangkat tersebut: http://www.epiphan.com/products/frame-grabbers/vga2ethernet/

Perangkat ini memiliki konsep umum:

  • Anda mencolokkan perangkat ke kartu grafis Anda
  • Anda pasang monitor Anda ke perangkat
  • Anda pasang output ethernet perangkat ke komputer atau router
  • Anda mengakses antarmuka web perangkat melalui ethernet, dan Anda memiliki streaming video, lossless, fullscreen jika Anda mau

Karena perangkat menggunakan perangkat keras khusus untuk menyandikan bingkai dan mengalirkannya melalui ethernet, itu akan menjadi sangat halus dan FPS tinggi dan dapat diandalkan. Ini juga sangat menyederhanakan pengaturan perangkat lunak Anda, menghilangkan kebutuhan untuk solusi pipa mahal pada rig gaming Anda.

Jika Anda tidak ingin menghabiskan uang, dan dapat hidup dengan kelambatan ekstrem dan FPS sangat rendah, Anda dapat mencoba sesuatu seperti menulis saluran pipa di Gstreamer atau VideoLAN (VLC) untuk menangkap framebuffer lokal, menyandikannya dalam beberapa codec video, dan streaming melalui Shout atau RTP atau RTSP atau protokol streaming serupa, lalu unduh / streaming dari komputer Anda yang lebih lambat. Tapi seperti yang saya peringatkan, ini akan lambat.

allquixotic
sumber
Terima kasih, meskipun ada beberapa asumsi di sana yang dapat dengan mudah diklarifikasi. Saya jelas tidak ingin bermain dalam 1080p, sebenarnya 1280x720 @ 24fps adalah apa yang saya maksudkan sekarang dan saya akan turun lebih rendah hanya agar bisa berfungsi. Gagasan menangkap tampaknya menarik, tetapi bagaimana saya mengontrol tuan rumah dari itu dan seperti apa latensi itu? Oh, dan saya bahkan belum mencobanya dengan permainan. Hanya menjalankan file video 320x240 untuk mendapatkan seluruh layar yang menyegarkan tampaknya mengubah VNC menjadi tampilan slide. Saya tahu pasti ada sesuatu yang bisa saya lakukan untuk mendapatkan lebih banyak dari solusi berbasis perangkat lunak.
user1901982
Tiba-tiba saya memperkirakan bahwa latensi sekitar satu atau dua frame ditambah waktu ping dalam keadaan optimal.
Hagen von Eitzen
2
@ user1901982 Grab PlayClaw dan gunakan fitur Webcam Virtual untuk mengubah game 3D Anda menjadi feed webcam. Kemudian temukan cara latensi rendah untuk melakukan streaming webcam virtual di seluruh jaringan.
Darth Android
Itu tentu ide yang menarik. Saya telah menggunakan PlayClaw sebelumnya. Virtual WebCam yang disediakannya cukup cepat / berkualitas layak untuk gaming 3d. Anda masih harus menyandikan output untuk mengkompresnya untuk transmisi jaringan :)
allquixotic
2
@somequixotic PlayClaw melakukan hal itu, sebenarnya, dan itulah "klaim atas ketenarannya": Ia menangani pengodean / kompresi dalam banyak utas (sebagai lawan Fraps, yang akan melakukan pengodean pada utas render permainan . Fraps mungkin telah mengubah ini baru-baru ini, tetapi beberapa tahun yang lalu, itu adalah status quo). Jika Anda memiliki CPU, putar engkol PlayClaw hingga kompresi tinggi.
Darth Android
7

Anda dapat menggunakan streaming rumah dari steam. Milik saya bekerja sangat baik dengan desktop saya terhubung melalui Gigabit LAN, dan laptop pada 5Ghz AC. Hanya ingat untuk pergi melalui pengaturan dan centang kotak untuk memprioritaskan lalu lintas uap saat streaming.

bantuan acak
sumber
3

Ada beberapa opsi lagi sekarang. Jika Anda memiliki kartu grafis Nvidia terbaru, Anda dapat memperoleh manfaat dari penangkapan yang dipercepat perangkat keras, tanpa perangkat keras tambahan. Ini disebut "Gamestream" Anda dapat membeli salah satu perangkat Nvidia yang mendukung protokol, atau Anda dapat mengunduh aplikasi sumber terbuka yang disebut "Moonlight" http://moonlight-stream.com

Dave Butler
sumber
Ini membutuhkan Windows untuk host, hanya klien yang lintas platform. Hanya ingin mencatat bahwa bagi siapa pun yang mencari solusi non-windows, seperti ketika saya menemukan posting ini.
Robm
0

Steam Remote Play jelas merupakan opsi. Sudah sering bermain misalnya ke Rocket League. Jika Anda memiliki koneksi LAN yang baik di kedua sisi, Anda baik untuk pergi. Bahkan bisa pasang gamepad di laptop.

webo80
sumber