WebRTC 2

추억의 오락실 (9/11) - 오락기와 WebRTC

왜 WebRTC 인가? 아무래도 게임이다보니 유저의 입력과 그것이 반영된 화면의 갱신 사이에 딜레이가 있으면 원활한 플레이를 할 수가 없다. 롤할때 젤 많이 하는 소리가 가족분들 안부 묻는거고 그 다음이 아마 핑(ping)계일거다. 그래서 인코딩한 패킷을 가장 빨리 전달할 수 있는 프로토콜을 골라야한다. 오락기의 라이브스트리밍을 위한 프로토콜을 고르기 위해 대표적으로 언급되는 RTMP, HLS, WebRTC를 비교해봤다. 가장 중요한 요소는 얼마나 Low-latency 인지 얼마나 Browser에서 잘 지원되는지였다. 요소 RTMP HLS WebRTC Browser Support Flash 기술이 들어간 Plugin 이 필요함 표준은 따로 있지만(MPEG-DASH) 거의 De-facto 처럼 많이 쓰임 ..

추억의 오락실 (4/11) - 프로토타이핑

목표 이전 포스트의 스케치에서 어떤식으로 동작하면 되겠다라는 대충의 윤곽이 그려졌고 이를 실제로 구현해낼 수 있는지 프로토타이핑으로 검증하는 단계를 가져봤다. 이때 작업했던 것들이 제일 고통스러웠지만 가장 핵심적이기도 한 내용들이었다. 프로토타이핑의 목표는, "마메(MAME)에서 렌더링된 프레임을 인코딩해서 WebRTC 를 통해 브라우저로 스트리밍한다" 이를 위해 크게 3파트로 나눠서 진행했다. 1. 마메(MAME) 에뮬레이터로부터 이미지 프레임 추출 일단 한장이라도 추출할 수 있으면 구현 가능성이 급격히 올라간다. 2. Headless MAME 라이브러리 제작 마메(MAME)를 빌드하면 기본적으로 sdl2 기반 UI를 가진 앱이 생성되는데 우리는 이미지/오디오 프레임 데이터만 가져올 수 있으면 되기 때..