LAN을 통한 게임, VNC 대안?


15

좋아, 나는 이것에 대해 약간의 숙제를 해왔고 세상이 어떻게 든이 아이디어에 반대한다고 생각하기 시작했다.

집에 랩톱이 있고 시각적으로 모든 것에 대해 완전히 끔찍한 GMA HD GPU가 장착 된 SB Core i3을 가지고 있으며 3D 특성의 데스크탑 장비에서 비디오를 스트리밍하고 싶습니다 (RDP 및 기타 후크 기반 프로토콜 제외).

유사한 스레드에 대한 대부분의 사람들의 첫 번째 대답은 대역폭 또는 처리 능력과 관련이 있습니다. 나는 기가비트 LAN을 가장 먼저 시도해 왔으며 데스크탑 장비에는 3930k가 오버 클럭킹되어 있으므로 CPU grunt와 대역폭 사이의 균형이 있어야 20FPS 이상의 전체 화면 새로 고침을 얻을 수 있다고 생각합니다 . 지금까지 호스트 컴퓨터에서 비디오를 전체 화면으로 재생하여 테스트하는 TightVNC를 사용할 수 없습니다.

따라서 OnLive 대역폭의 30 배가 넘는 대역폭으로 가정에서 LAN을 통해 고르지 못한 비디오 피드를 정확히 어떻게 만들 수 있습니까? 가능하고 어떻게?


1
아직 RemoteFX 를 살펴 보셨습니까 ? "RemoteFX는 3D 가상 어댑터, 지능형 코덱 및 가상 컴퓨터의 USB 장치를 리디렉션하는 기능을 제공하여 VDI (Virtual Desktop Infrastructure)에 대한 풍부한 사용자 경험을 제공합니다." 그래도 Server 2012를 구입해야 할 수도 있습니다. ;)
Ƭᴇcʜιᴇ007 '

이 프로젝트를 확인하십시오 : spgt.sourceforge.net 데스크탑의 일부를 스트리밍 할 수 있으며 컨트롤을 전달합니다.

답변:


16

소프트웨어 솔루션은 본질적으로 다음과 같은 이유로 많은 지연을 포함합니다.

  • GPU의 프레임 버퍼에서 데이터를 읽는 것은 매우 느립니다.
  • 기가비트 이더넷의 약 80 %의 대상 비트 전송률 (포화로 인한 손상으로 인해 100 %의 사용률을 원하지 않음)에도 대부분의 비디오 코덱은 엄청난 양의 CPU를 사용하여 1080p를 실시간으로 인코딩합니다. GPU 지원 인코딩을 사용하더라도 게임을 렌더링하는 장치에서 처리 성능을 떨어 뜨리고 GPU의 개별 프로그램 간 멀티 태스킹 기능이 거의 없기 때문에 게임의 프레임 속도를 크게 낮출 수 있습니다.
  • 완성 된 데이터를 유선으로 전송하는 지속적인 기가비트 이더넷 I / O 자체는 인터럽트로 인해 상당한 CPU를 소비합니다. 약간의 대기 시간이 발생하면 최신 서버 이더넷 칩셋의 기능인 인터럽트 조정을 사용하여 CPU 사용량을 줄일 수 있습니다.

매끄럽고 즐겁게하려면 캡처 카드를 사용해야합니다.

다음은 그러한 장치 중 하나의 예입니다. http://www.epiphan.com/products/frame-grabbers/vga2ethernet/

이 장치의 일반적인 개념은 다음과 같습니다.

  • 장치를 그래픽 카드에 꽂습니다.
  • 모니터를 장치에 연결
  • 장치의 이더넷 출력을 컴퓨터 또는 라우터에 연결
  • 이더넷을 통해 장치의 웹 인터페이스에 액세스 할 수 있으며 원하는 경우 비디오를 손실없이 전체 화면으로 스트리밍 할 수 있습니다

이 장치는 전용 하드웨어를 사용하여 프레임을 인코딩하고 이더넷을 통해 스트리밍하므로 매우 매끄럽고 높은 FPS와 신뢰성을 제공합니다. 또한 소프트웨어 설정을 크게 단순화하여 게임 장비에서 값 비싼 파이프 라인 솔루션이 필요하지 않습니다.

돈을 쓰고 싶지 않고 극도로 지연되고 매우 낮은 FPS로 살 수 있다면 Gstreamer 또는 VideoLAN (VLC)에서 파이프 라인을 작성하여 로컬 프레임 버퍼를 캡처하고 비디오 코덱으로 인코딩하는 등의 방법을 시도해보십시오. Shout 또는 RTP 또는 RTSP 또는 유사한 스트리밍 프로토콜을 통해 스트리밍 한 다음 느린 컴퓨터에서 다운로드 / 스트리밍하십시오. 그러나 내가 경고했듯이 이것은 느릴 것입니다.


쉽게 이해할 수있는 몇 가지 가정이 있지만 감사합니다. 나는 분명히 1080p에서 놀고 싶지 않습니다. 사실 1280x720 @ 24fps는 지금 당장 내가 생각하는 것이므로 작동하게하기 위해 더 낮아질 것입니다. 캡처 아이디어는 흥미로워 보이지만 어떻게 호스트를 제어하고 대기 시간은 어떻습니까? 아, 나는 아직 게임으로 시도하지도 않았다. 320x240 비디오 파일을 실행하여 전체 화면을 새로 고치면 VNC가 슬라이드 쇼로 바뀌는 것 같습니다. 소프트웨어 기반 솔루션을 최대한 활용하기 위해 할 수있는 일이 있어야한다는 것을 알고 있습니다.
user1901982

파란색에서 나는 대기 시간이 최적의 환경에서 약 1-2 프레임에 핑 시간을 더한 것으로 추정했습니다.
Hagen von Eitzen

2
@ user1901982 PlayClaw를 잡고 가상 웹캠 기능을 사용하여 3D 게임을 웹캠 피드로 변환하십시오. 그런 다음 네트워크에서 가상 웹캠을 스트리밍하는 대기 시간이 짧은 방법을 찾으십시오.
다스 안드로이드

그것은 확실히 흥미로운 아이디어입니다. 나는 전에 PlayClaw를 사용했다. 그것이 제공하는 가상 웹캠은 3D 게임을 위해 상당히 빠르고 괜찮은 품질입니다. 당신은 여전히 :)하지만 네트워크 전송을 위해 압축 출력을 인코딩해야
allquixotic

2
@somequixotic PlayClaw는 실제로 그것을 수행하며 이것이 "명명 한 명성"입니다 : 여러 스레드에서 인코딩 / 압축을 처리합니다 ( 게임의 렌더링 스레드 에서 인코딩 수행하는 Fraps와는 대조적으로) . 최근에, 그러나 몇 년 전, 그것은 현 상태였습니다). CPU가 있다면 PlayClaw를 최대 압축률까지 올리십시오.
다스 안드로이드

7

스팀에서 가정용 스트리밍을 사용할 수 있습니다. 내 기가비트 LAN을 통해 연결된 데스크톱과 5Ghz AC의 랩톱에서 매우 잘 작동합니다. 스트리밍하는 동안 설정을 살펴보고 증기 트래픽의 우선 순위를 지정하려면 확인란을 선택하십시오.


3

더 많은 옵션이 있습니다. 최신 Nvidia 그래픽 카드가있는 경우 추가 하드웨어없이 하드웨어 가속 캡처의 이점을 얻을 수 있습니다. "Gamestream"이라고합니다. 프로토콜을 지원하는 Nvidia 장치 중 하나를 구입하거나 "Moonlight"라는 오픈 소스 앱을 다운로드 할 수 있습니다 http://moonlight-stream.com


호스트에는 Windows가 필요하며 클라이언트 만 플랫폼 간입니다. 내가이 게시물을 찾았을 때와 같이 Windows 이외의 솔루션을 찾고있는 사람에게 주목하고 싶었습니다.
robm 2009 년

0

Steam Remote Play 는 옵션입니다. 로켓 리그와 같이 많은 시간을 보냈습니다. 양쪽에 LAN 연결이 양호하면 잘 가십시오. 랩톱에 게임 패드를 꽂을 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.