เล่นเกมผ่าน LAN, ทางเลือก VNC?


15

โอเคฉันทำมากกว่าการทำการบ้านเล็กน้อยเกี่ยวกับเรื่องนี้และฉันก็เริ่มคิดว่าโลกไม่เห็นด้วยกับแนวคิดนี้

ฉันมีแล็ปท็อปในบ้านของฉัน SB Core i3 ที่มี GMA HD GPU ซึ่งเป็นสิ่งที่น่ากลัวที่สุดสำหรับทุกสิ่งที่มองเห็นและฉันอยากจะสตรีมวิดีโอจากแท่นวางตั้งโต๊ะบนเดสก์ท็อปของฉันในลักษณะ 3 มิติ (พิจารณา RDP และโปรโตคอลอื่น ๆ

คำตอบแรกของคนส่วนใหญ่ต่อเธรดที่คล้ายกันคือแบนด์วิดท์หรือกำลังประมวลผลที่เกี่ยวข้อง ฉันได้ลองก่อนและเหนือกว่า Gigabit lan และอุปกรณ์คอมพิวเตอร์ของฉันมีโอเวอร์คล็อก 3930k ดังนั้นฉันเห็นว่าควรมีความสมดุลระหว่าง grunt CPU และแบนด์วิดธ์ที่จะทำให้ฉันได้รับการรีเฟรชแบบเต็มหน้าจออย่างน้อย 20FPS . จนถึงตอนนี้ฉันไม่สามารถใช้ TightVNC ทดสอบโดยการเล่นวิดีโอแบบเต็มจอในเครื่องโฮสต์

เพื่อสรุปสิ่งต่าง ๆ ด้วยแบนด์วิดท์ของ OnLive มากกว่า 30 เท่าฉันจะสร้างฟีดวิดีโอในระดับที่ขาด ๆ หาย ๆ ผ่าน LAN ในบ้านของตัวเองได้อย่างไร เป็นไปได้และอย่างไร


1
คุณดูRemoteFX แล้วหรือยัง? "RemoteFX มอบประสบการณ์ผู้ใช้ที่หลากหลายสำหรับโครงสร้างพื้นฐานเดสก์ท็อปเสมือนจริง (VDI) ด้วยการจัดหาอะแดปเตอร์เสมือนจริง 3 มิติตัวแปลงสัญญาณอัจฉริยะและความสามารถในการเปลี่ยนเส้นทางอุปกรณ์ USB ในเครื่องเสมือน" คุณอาจจำเป็นต้องซื้อ Server 2012 ;)
Ƭᴇcʜιᴇ007

ตรวจสอบโครงการนี้: spgt.sourceforge.net อนุญาตให้สตรีมส่วนหนึ่งของเดสก์ท็อปและควบคุมการส่งต่อ

คำตอบ:


16

โซลูชันซอฟต์แวร์จะมีความล่าช้าจำนวนมากเนื่องจาก:

  • การอ่านข้อมูลจาก framebuffer ของ GPU ช้ามาก
  • แม้จะมีบิตเรตเป้าหมายประมาณ 80% ของกิกะบิตอีเธอร์เน็ต (คุณไม่ต้องการการใช้งาน 100% เนื่องจากความบกพร่องที่เกิดจากความอิ่มตัว) ตัวแปลงสัญญาณวิดีโอส่วนใหญ่จะใช้CPU จำนวนมหาศาลเพื่อเข้ารหัส 1080p แบบเรียลไทม์ แม้ว่าคุณจะใช้การเข้ารหัสด้วย GPU คุณก็สามารถใช้พลังในการประมวลผลออกมาจากอุปกรณ์ที่แสดงผลเกมของคุณซึ่งอาจทำให้เกมของคุณมีอัตราเฟรมลดลงมากเนื่องจากความสามารถในการทำงานหลายอย่างของ GPU ในการทำมัลติทาสก์ระหว่างโปรแกรมแยก
  • กิกะบิตอีเธอร์เน็ต I / O ที่ยั่งยืนนั้นเอง - เพียงแค่ส่งข้อมูลที่เสร็จสิ้นไปทั่วสาย - ใช้ CPU จำนวนมากเนื่องจากการขัดจังหวะ ด้วยค่าใช้จ่ายในการหน่วงเวลาคุณสามารถใช้การควบคุมการขัดจังหวะซึ่งเป็นคุณลักษณะของชิปเซ็ตอีเทอร์เน็ตเซิร์ฟเวอร์รุ่นใหม่เพื่อลดการใช้งาน CPU

หากคุณต้องการให้ราบรื่นและสนุกสนานคุณควรใช้การ์ดจับภาพ

นี่คือตัวอย่างของอุปกรณ์หนึ่งตัวดังกล่าว: http://www.epiphan.com/products/frame-grabbers/vga2ethernet/

อุปกรณ์นี้มีแนวคิดทั่วไปของ:

  • คุณเสียบอุปกรณ์เข้ากับกราฟิกการ์ดของคุณ
  • คุณเสียบจอภาพของคุณเข้ากับอุปกรณ์
  • คุณเสียบเอาต์พุตอีเธอร์เน็ตของอุปกรณ์เข้ากับคอมพิวเตอร์หรือเราเตอร์
  • คุณเข้าถึงเว็บอินเตอร์เฟสของอุปกรณ์ผ่านทางอีเธอร์เน็ตและคุณมีวิดีโอสตรีมมิ่งแบบไม่เต็มจอหากคุณต้องการ

เนื่องจากอุปกรณ์ใช้ฮาร์ดแวร์เฉพาะในการเข้ารหัสเฟรมและสตรีมผ่านอีเธอร์เน็ตมันจะเป็น FPS ที่ราบรื่นและสูงและเชื่อถือได้ นอกจากนี้ยังช่วยให้การตั้งค่าซอฟต์แวร์ของคุณง่ายขึ้นอย่างมากโดยไม่จำเป็นต้องใช้โซลูชันขั้นสูงที่มีราคาแพงบนอุปกรณ์เล่นเกมของคุณ

หากคุณไม่ต้องการใช้จ่ายเงินใด ๆ และสามารถใช้ชีวิตอยู่กับความล่าช้าอย่างมากและ FPS ที่ต่ำมากคุณสามารถลองบางอย่างเช่นการเขียนไปป์ไลน์ใน Gstreamer หรือ VideoLAN (VLC) เพื่อจับภาพ framebuffer ท้องถิ่นเข้ารหัสในโคเดกวิดีโอบางตัว และสตรีมมันผ่าน Shout หรือ RTP หรือ RTSP หรือโปรโตคอลสตรีมที่คล้ายกันจากนั้นดาวน์โหลด / สตรีมจากคอมพิวเตอร์ที่ช้ากว่าของคุณ แต่เมื่อฉันเตือนคุณสิ่งนี้จะช้า


ขอบคุณแม้ว่าจะมีสมมติฐานบางอย่างที่สามารถชี้แจงได้อย่างง่ายดาย แน่นอนฉันไม่ต้องการเล่นใน 1080p จริง ๆ แล้ว 1280x720 @ 24fps เป็นสิ่งที่ฉันกำลัง gunning สำหรับตอนนี้และฉันจะลงไปเพียงเพื่อให้สามารถทำงานได้ แนวคิดการถ่ายภาพดูน่าสนใจ แต่ฉันจะควบคุมโฮสต์จากสิ่งนั้นได้อย่างไรและเวลาแฝงเป็นอย่างไร โอ้และฉันยังไม่ได้ลองกับเกมเลย เพียงแค่เรียกใช้ไฟล์วิดีโอขนาด 320x240 เพื่อทำให้หน้าจอสดชื่นขึ้นดูเหมือนว่าจะเปลี่ยน VNC ให้เป็นสไลด์โชว์ ฉันรู้ว่าต้องมีบางสิ่งที่ฉันสามารถทำได้เพื่อให้ได้ประโยชน์มากขึ้นจากโซลูชันที่ใช้ซอฟต์แวร์
user1901982

จากสีน้ำเงินฉันประเมินว่าเวลาแฝงนั้นอยู่ที่ประมาณหนึ่งหรือสองเฟรมบวกเวลา ping ในสถานการณ์ที่เหมาะสม
Hagen von Eitzen

2
@ user1901982 หยิบPlayClawและใช้คุณสมบัติ Virtual Webcam เพื่อแปลงเกม 3D ของคุณเป็นฟีดเว็บแคม จากนั้นหาวิธีหน่วงเวลาต่ำในการสตรีมเว็บแคมเสมือนผ่านเครือข่าย
Darth Android

นั่นเป็นความคิดที่น่าสนใจอย่างแน่นอน ฉันเคยใช้ PlayClaw มาก่อน เว็บแคมเสมือนที่ให้บริการนั้นมีคุณภาพที่รวดเร็ว / เหมาะสมสำหรับการเล่นเกม 3 มิติ คุณยังคงต้องเข้ารหัสเอาท์พุทเพื่อบีบอัดมันสำหรับการส่งผ่านเครือข่าย :)
allquixotic

2
@somequixotic PlayClaw ทำเช่นนั้นจริง ๆ แล้วและนั่นคือ "การอ้างสิทธิ์เพื่อชื่อเสียง": มันจัดการการเข้ารหัส / การบีบอัดในหลายกระทู้ (ซึ่งต่างกับ Fraps ซึ่งจะทำการเข้ารหัสบนเธรดการแสดงผลของเกม Fraps อาจมีการเปลี่ยนแปลงนี้ เมื่อเร็ว ๆ นี้ แต่ไม่กี่ปีที่ผ่านมานั่นคือสถานะเดิม) หากคุณมีซีพียูเพียงแค่หมุน PlayClaw ไปจนถึงการบีบอัดสูง
Darth Android

7

คุณสามารถใช้สตรีมในบ้านจากไอน้ำ Mine ทำงานได้ดีมากกับเดสก์ท็อปของฉันที่เชื่อมต่อผ่าน Gigabit LAN และแล็ปท็อปใน 5Ghz AC เพียงจำไว้ว่าต้องผ่านการตั้งค่าและทำเครื่องหมายที่ช่องเพื่อจัดลำดับความสำคัญของปริมาณข้อมูลไอน้ำขณะสตรีมมิ่ง


3

ตอนนี้มีตัวเลือกเพิ่มเติม หากคุณมีการ์ดกราฟิก Nvidia เมื่อเร็ว ๆ นี้คุณสามารถได้รับประโยชน์จากการเร่งความเร็วด้วยฮาร์ดแวร์โดยไม่ต้องใช้ฮาร์ดแวร์เพิ่มเติม เรียกว่า "Gamestream" คุณสามารถซื้ออุปกรณ์ Nvidia หนึ่งตัวที่สนับสนุนโปรโตคอลหรือคุณสามารถดาวน์โหลดแอปโอเพ่นซอร์สที่เรียกว่า "Moonlight" http://moonlight-stream.com


สิ่งนี้ต้องการ Windows สำหรับโฮสต์เฉพาะไคลเอ็นต์ที่เป็นข้ามแพลตฟอร์ม เพียงแค่ต้องการที่จะทราบว่าสำหรับทุกคนที่กำลังมองหาวิธีการแก้ปัญหาที่ไม่ใช่ windows เช่นเดียวกับฉันเมื่อฉันพบโพสต์นี้
robm

0

Steam Remote Playเป็นตัวเลือกอย่างแน่นอน เคยเล่นมาหลายครั้งแล้วเช่น Rocket League หากคุณมีการเชื่อมต่อ LAN ที่ดีทั้งสองด้านคุณก็พร้อมใช้งาน แม้สามารถเสียบ gamepad บนแล็ปท็อป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.