스트리밍 게임 프로젝트 #5

예의 스트리밍 게임 프로젝트. 이번에도 스타벅스에서 노트북으로 비디오 클라이언트를 돌리고 사무실에 있는 GRID 카드 꽂힌 PC에 연결해서 테스트했다. 1. 비디오 클라이언트가 아무때나 접속해도 즉시 스트리밍을 할 수 있도록 했다. 2. 연결종료,재접속을 반복할때 문제가 있었는데 이 부분의 안정성을 크게 개선했다. 이제 서버에서 작동하는 게임을 종료하지 않고도 아무때나 재접속해도 서버에서의 게임 상태가 즉시 스트리밍된다. 3.키보드 입력을 처리했다. … More 스트리밍 게임 프로젝트 #5

스트리밍 게임 프로젝트 #4

버그를 잡고 코드를 개선하여 안정성과 반응성이 좋아졌다. 스타벅스의 퍼블릭 WiFI로 연결해봤다. 1192×788, 60fps 패킷량은 tcp헤더 빼고 초당 600KB-900KB정도. GRID장비 꽂아놓은 서버에 리모트 데스크탑으로 접속해서 그쪽으로 키보드 입력을 보내고 있기 때문에 실제 Latency는 두배. 그럼에도 불구하고 나쁘지 않다.

스트리밍 게임 프로젝트 #3

서버에서 게임 플레이 하고 h264 스트림으로 쏴서 원격에서 플레이하는데까진 일단 성공. NVIDIA GRID K2가 꽂혀있는 사무실 PC에 리모트로 들어가서 게임 플레이하고 서피스에서 사무실 pc에 접속하여 TCP로 게임 영상 받아서 플레이하는중. 코드 엄청 다듬어야하고 하고 아직 추가/개선할 부분 잔뜩 있다. 하여간 2950달러짜리 K2를 놀리진 않았다는걸로 뿌듯함을 느낀다.

스트리밍 게임 프로젝트 #2

서버머신에서 게임 영상을 캡쳐해서 h264스트림으로 만들어주도록은 했다. 이제 서버에서 날려주는 h264스트림을 디코딩 해야한다. Microsoft Media Foundation이나 Cuda도 고려했으나 역시 ffmpeg만한게 없다. 클라이언트에 Direct2D를 사용하기로 했다.영상 스트림만 디코딩해서 보여주면 되고 경우에 따라 비트맵을 출력하는 정도의 그래픽 기능만 있으면 된다. 3D API를 사용하면 너무 노가다가 극심해서 Direct2D를 선택했다. 또한 Windows Desktop, Windows Phone, Windows Store App을 거의 … More 스트리밍 게임 프로젝트 #2

스트리밍 게임 프로젝트 #1

이번 프로젝트에선 스트리밍 게임을 시범적으로나마 지원해보려고 한다. 2950달러짜리 NVIDIA GRID K2장비도 장착했으니 기계값은 뽑아야겠기에 꼭 스트리밍 기능을 넣고 싶다. 몇 일간 문서를 읽어보고 원리를 파악했다. 개발계획도 대충 세웠다. 간단한 연습 프로젝트를 만들어서 테스트해본 후 GRID SDK를 개발중인 게임 프로젝트에 적용시키는 중. GRID API의 NVIFR인터페이스를 사용하면 D3D의 렌더타겟을 캡쳐해서 H264 스트림으로 실시간 변환할 수 있다. 리모트 … More 스트리밍 게임 프로젝트 #1