사실 게임 스트리밍에 별다른 관심이 없었는데, 얼마전 새로운 숙소 근처에서 최악의 PC방을 만나 몬헌이 너무 느린 나머지 스팀을 보니 스트리밍이 켜져있길래, 해보니 생각보다 잘되서 괜찮다는 생각이 들어 이쪽을 찾아보게되었다. 게임을 좋아하는 사람은 많지만 항상 집에서 앉아 게임할 수는 없는 노릇 아니겠는가. 이제 그냥 노트북으로 스트리밍 플레이하고 PC방 안가도 되겠다 싶어 조금 찾아본 걸 정리한다. 보통 스마트폰을 통해 원격으로 하시는 걸 많이들 찾으시던데 나는 외부 데스크탑이나 노트북플레이를 중점으로 한다.

그리고 스팀 리모트 플레이또한 스팀에 등록하면 되는 것으로 알고있으나 공식적으로는 지원하지 않는다고 한다. 나는 윈도우와 안드로이드밖에 쓰지 않으므로 그 둘만 비교하면 되었기에 '게임의 종류'와 '지원 운영체제'는 딱히 고려하지 않고 고를 수 있었다.

Moonlight

Moonlight 홈페이지

Moonlight 셋업 가이드

문라이트를 가장 먼저 설명하는 이유는 가장 추천할만 하기 때문이다. Nvidia Shield 용으로 개발된 스트리밍을 이용한 프로그램인데 때문에 Nvidia계열 다음으로 많이쓰이는 Radeon계열 그래픽카드로는 사용할 수 없다. 또한 Geforce Experience를 설치해야한다. 엔비디아 섀도우플레이를 쓰는 유저라면 당연히 사용하고 있는 것. 설정에서 Shield Streaming 활성화만 눌러주면 Host에서의 설정은 끝난다. 다만 외부망에서 사용하기위해서는 공유기 포트포워딩이 필수다. 위의 셋업 가이드에서 나온 TCP와 UDP포트만 등록해주면 된다. 그다음 DDNS 서비스를 사용하고 있다면 Client측에서 고급 - 추가에서 주소를 넣어주면 끝. 내부망으로 쓰는 경우 Shield 옵션을 켰으면 바로 내부망에 있는 다른 Moonlight 앱에서 보인다.

대다수의 설정은 Client측에서 하게되는데, 이게 꽤나 자세하다. 해상도 비트레이트는 물론이고 프레임제한에 컨트롤러 지원까지 자세한 편이다. 실험에 보니 HDR지원까지 있다. 다만 PC든 모바일이든 어플 디자인이 심각하게 구리다. 도저히 볼 수 없는 수준인데 성능이 성능이라서 용서되는 편이다. 처음 연결할 때는 비밀번호를 입력해줘야한다. Client측이 PC에서는 Portable 버전을 제공하기 때문에 설치 부담이 극히 적다는 점도 큰 장점이다.

방식자체는 이런 류가 그렇듯 Virtual Devices를 추가해서 스트리밍시 이들로 출력을 보내면 스트리밍하는 방식이다. 다른 컴퓨터에선 Experience를 설치안해놓았기 때문에 Shield 옵션 활성화 이전에서 설치되어있는지 모르겠으나, 장치관리자를 보면 '마우스 및 기타 포인팅 장치'에 2개, '사운드, 비디오 및 게임 컨트롤러'에 Nvidia virtual audio device, '오디오 입력 및 출력'에 Nvidia hdmi out, '키보드'에 1개, '휴먼 인터페이스 장치'에 USB 입력장치 2개 (on NVVHCI Enumerator 라고 표기. 각각 마우스 2개와 키보드 1개에 연결되어 있다.)가 존재함을 확인할 수 있다. 스트리밍을 시작하면 이중 게임 컨트롤러를 제외하고 나머지는 연결해제 되어있다가 연결되며, USB가 연결되는 사운드가 호스트측에서 발생한다.

'NVVHCI Enumerator'와 'Nvidia Virtual Audio Device'를 찾아보면 게임용 스트리밍 서비스에 지원된다느니, Experience를 설치했을 뿐인데 설치되었다느니.. 섀도우플레이 지원을 위해 필요하다느니 등. 다만 확인해본 결과 Nvidia Experience 설치 시 본래 보이는 게임 컨트롤러만 설치되고 (섀도우 플레이 등에 사용되는 듯?) 나머지는 Shield 기능 활성화 한 뒤 연결할 때 설치되는 것으로 확인되었다. 어차피 연결 끊으면 보이지 않기에 단순한 흔적이라서 큰 상관은 없는 녀석들.

Steam Remote Play

Steam Remote Play - Steam Support

이것도 역사가 꽤나 길다. 리모트 플레이라는 이름 보다는 스팀 링크라는 이름이 더 익숙한 편. 맨 처음 게임 스트리밍을 이걸로 시작했다. 그만큼 아무것도 설정할 필요 없이 Host측에서는 스팀 설정에서 remote Play 체크만 하면 끝Client측에서는 게임 설치 대신 표시된 스트리밍 버튼을 클릭하면 끝이다. 외부망에서 쓰더라도 포트포워딩 그런건 필요없다.

시작은 간단하지만 설정도 많다. Moonlight급은 아니지만.. Host에서도 대충 퀄리티를 지정가능하고 Client측에서도 따로 설정할 수 있는 게 꽤 있다. 검색해보면 여러 세팅값들이 나오기도한다.. 하지만 가장 큰 문제는 어떤 설정을 해도 Moonlight만큼의 반응속도와 그래픽이 나오질 않는다. 편하게 쓸 수 있지만.. 그래픽을 희생하면 Moonlight정도의 반응속도는 나오는 것 같으나 아무래도 직접 써보니 너무 차이가 와닿아서 쓰지않게되었다.

방식은 간단히 Remote Play를 체크하고 다른 기기에서 Streaming을 켠 순간 Host의 Sound, Video or game controller 장치에 Microphone과 Speakers 모듈이 추가된다. 결국 문라이트랑 비슷한 방식이라는건데.. 귀찮은점은 remote play를 꺼도 이들이 '연결된 채로 항상' 남아있다는 사실로 사운드에 나오는게 보기싫으면 장치 관리자에 가서 직접 삭제해주어야한다..

삭제해도 한번 호스트역할을 하면 호스트로 나와서 그게 불편했는데 윈도우 다시깔 때 보니 해제되어있고 정작 스트리밍 한 적 없는 쪽이 호스트로 설정되어있다. 큰 상관은 없는 것으로 보인다.

Parsec

Parsec Gaming

유일하게 아직 사용하지 않고 데이터상으로 간단히 비교해봤다. 왜냐하면 Moonlight에 이미 만족하고 있고 무엇보다도 문라이트는 Experience, 리모트 플레이는 Steam이라는 거의 기본적으로 쓰는 프로그램에 얹혀있지만 얘는 회원가입을 하고 따로 설치해야하기 때문이다.

다만 무엇보다 장점은 모바일이든 PC든 애플리케이션의 디자인이 가장 진보적이고 깔끔하다. 퀄리티와 반속모두 Steam과 Moonlight 사이에서 Moonlight에 근접하다는 평이다. 편리성도 회원가입과 설치를 제외하면 포트포워딩도 필요없다.

참고

게임 스트리밍 비교 - reddit

게임 스트리밍 비교 - linustechtip

결론으로 현재는 문라이트를 쓰다가 다시 스팀 링크로 돌아왔다. 그래픽만 희생하면 반속은 비슷하게 느껴졌고, 두가지 이유 때문이다. 첫번째로는 문라이트는 한글 입력이 어렵다. 한영버튼이 안먹기에 직접 입력기를 바꾸어주어야 하고, 두번째로는 보안성. 스팀 링크는 딱 게임만 원격으로 할 수 있지만 문라이트는 사실상 화면 송출이기에 약간의 트릭을 쓰거나 애초에 메모장 등을 프로그램으로 등록하면 윈도우 원격이랑 다를 바가 없기 때문이었다.

하지만 이 문제도 해결하신 분이 있으니 Moonlight를 쓰고싶다면 참고할 것.

Moonlight Remote Utility