인터넷이 발전하면서 스트리밍은 우리의 일상생활에 깊숙이 자리 잡았습니다. 넷플릭스나 유튜브와 같은 서비스는 스트리밍의 대명사처럼 여겨지지만, 정확히 스트리밍이란 무엇이며 어떻게 작동하는 걸까요?
스트리밍: 비트 단위의 전송 과정
컴퓨터에서 동영상을 시청하거나 음악을 감상하려면, 원칙적으로 해당 콘텐츠를 먼저 다운로드해야 합니다. 하지만 스트리밍은 이와는 다른 방식으로 작동합니다. 넷플릭스나 스포티파이에서 콘텐츠를 즉시 이용할 수 있는 것은, 콘텐츠가 미리 다운로드되는 것이 아니라 실시간으로 ‘조금씩’ 다운로드되기 때문입니다.
단어 ‘스트리밍(streaming)’ 자체가 의미하듯, 정보는 마치 물이 흐르듯 지속적으로 컴퓨터로 전송됩니다. 마치 영화를 다운로드하는 것이 생수를 구매하는 것과 같다면, 영화를 스트리밍하는 것은 수도꼭지에서 물을 받아 병을 채우는 것과 같습니다.
스트리밍은 VHS 테이프를 재생하는 방식과 비슷하게 작동합니다. VHS 테이프를 재생할 때 비디오와 오디오는 1초 단위로 스캔되어 재생됩니다. 이와 마찬가지로, 스트리밍도 실시간으로 진행됩니다. 스트리밍 도중 중단이 발생하면 영화 감상 경험이 일시 중단되거나 종료될 수 있습니다.
스트리밍 시, 컴퓨터는 미디어 파일의 작은 부분을 실시간으로 다운로드하고 디코딩합니다. 인터넷 연결 속도가 빠르면 콘텐츠 재생이 끝나기 전에 전체 파일이 다운로드될 수도 있습니다. 따라서 인터넷 연결이 잠시 끊겨도 스트리밍이 계속되는 경우가 있습니다. 중요한 점은 스트리밍되는 모든 콘텐츠가 컴퓨터의 영구 저장 공간에 저장되지는 않는다는 것입니다(일부 서비스는 재이용 시 속도 향상을 위해 작은 캐시 파일을 저장하기도 함).
기업들의 스트리밍 속도 개선 노력
인터넷 스트리밍 서비스는 과거에도 존재했지만, 사용하기에 불편했습니다. 웹사이트에서 비디오나 음악을 재생하는 데 많은 시간이 소요되었으며, 버퍼링 문제로 인해 스트리밍이 끊기는 일이 다반사였습니다. 하지만 기술 발전에 힘입어 현재는 원활한 스트리밍이 가능해졌습니다.
스트리밍의 기본적인 작동 방식은 변하지 않았습니다. 파일이 조금씩 다운로드된다는 점은 동일하지만, 유튜브나 넷플릭스와 같은 기업들은 인프라 구축에 막대한 투자를 하여 현재의 빠르고 안정적인 스트리밍 환경을 만들었습니다.
초기에는 콘텐츠를 호스팅하는 데 한두 대의 서버만 사용했습니다. 이로 인해 서버에서 멀리 떨어진 사용자들은 지연을 경험했으며, 트래픽이 많은 날에는 스트리밍 속도가 현저히 느려졌습니다. 이를 해결하기 위해 기업들은 콘텐츠 전송 네트워크(CDN)를 구축했습니다. CDN은 전 세계에 분산된 서버 네트워크로, 동일한 콘텐츠를 저장하여 지연을 줄이고 사용자 밀도가 높은 지역의 서버 과부하를 방지합니다.
물론, 아무리 강력한 CDN을 갖추고 있어도 인터넷 연결 상태가 좋지 않으면 원활한 스트리밍은 불가능합니다. 다행히 ISP들은 더 빠르고 강력한 인터넷 연결을 제공하기 위해 끊임없이 경쟁하고 있습니다. 구글 파이버와 5G 홈 인터넷 연결의 등장은 인터넷 환경을 더욱 발전시킬 것입니다.
빠른 홈 인터넷 연결과 고밀도 CDN에도 불구하고, 높은 글로벌 인터넷 트래픽으로 인해 스트리밍 지연이 발생할 수 있다는 점도 고려해야 합니다. 넷플릭스와 같은 서비스는 전 세계 인터넷 대역폭의 15% 이상을 차지합니다. 많은 사람들이 동시에 최신 인기 콘텐츠를 스트리밍하면 전체 인터넷 속도가 느려질 수 있습니다.
이러한 문제점을 해결하기 위해 스트리밍 서비스는 ISP에 OCA(Open Connect Appliance)를 제공하기도 합니다. OCA는 인기 콘텐츠로 가득 찬 하드 드라이브로, ISP가 인터넷 트래픽을 스트리밍 서비스 서버로 리디렉션할 필요성을 줄여줍니다. 이는 스트리밍 속도를 향상시킬 뿐만 아니라, 특정 서비스에 의해 인터넷 속도가 좌우되는 현상을 방지하는 데도 기여합니다.
라이브 스트리밍의 새로운 도전
페이스북 라이브나 트위치와 같은 플랫폼에서 라이브 비디오 스트리밍을 이용하면, 정보가 실시간으로 컴퓨터에 전송됩니다. 라이브 스트리머는 콘텐츠를 다운로드하는 만큼 빠르게 콘텐츠를 업로드해야 합니다.
라이브 스트리머가 비디오를 녹화하면, 비디오(및 오디오)의 각 밀리초가 작은 파일로 나뉩니다. 이 파일들은 인코더에 의해 압축 및 구성되어 인터넷을 통해 전송되며, 컴퓨터는 이를 조금씩 다운로드합니다. 파일이 인코딩되었기 때문에 컴퓨터는 파일을 이해하고 비디오로 재구성할 수 있습니다. 라이브 스트리밍은 스트리머와 사용자 사이의 지연을 최소화해야 합니다.
트위치나 유튜브와 같은 라이브 스트리밍 서비스는 글로벌 서버 네트워크를 활용하여 지연을 줄이고 비디오 스트리밍 품질을 개선합니다. 하지만 라이브 스트리밍 품질은 스트리머의 인터넷 연결 상태에 크게 좌우됩니다. 물론, 라이브 스트리머는 OCA를 사용할 수 없다는 점도 고려해야 합니다. 다행히도 구글 파이버와 같은 빠른 홈 인터넷 연결의 발전으로 라이브 스트리밍이 가능해졌으며, 5G 홈 인터넷 연결은 라이브 스트림 품질을 한층 더 향상시킬 것으로 기대됩니다.
스트리밍의 미래: 비디오 게임
웹 브라우저에서 비디오 게임을 한다는 아이디어는 새로운 것은 아닙니다. 하지만 일부 기업들은 고사양 콘솔 게임을 스트리밍하는 서비스를 개발하여 웹 브라우저 게임을 한 단계 더 발전시키려고 노력하고 있습니다.
이는 단순히 트위치에서 게임을 라이브 스트리밍하는 것을 넘어, 고가의 콘솔이나 컴퓨터 없이 원격 서버에서 게임을 즐길 수 있도록 하는 것을 의미합니다. 게임 스트리밍은 자원 집약적인 게임을 구동하는 데 필요한 모든 연산을 원격 서버에서 처리합니다. 구글의 프로젝트 스트림이나 엔비디아의 지포스 나우와 같은 서비스는 저사양 노트북으로도 고사양 게임을 즐길 수 있다고 약속합니다. 이는 사용자들의 경제적 부담을 줄이고, 하드웨어 제한으로 인해 게임을 즐기지 못했던 사람들에게 새로운 기회를 제공할 것입니다.
물론, 다른 사람의 컴퓨터로 비디오 게임을 스트리밍하는 것은 영화를 스트리밍하는 것보다 훨씬 복잡한 문제입니다. 단순한 파일 다운로드가 아닌, 실시간으로 파일을 조작하고 상호 작용해야 합니다. 컨트롤러 입력과 화면 반응 사이에 지연이 발생하면 게임을 제대로 즐길 수 없습니다. 스카이프나 페이스타임과 같은 서비스는 빠른 양방향 연결을 필요로 하기 때문에, 게임 스트리밍의 예비 단계라고 볼 수 있습니다. 하지만 게임 스트리밍은 이보다 훨씬 더 원활해야 합니다.
고사양 게임 스트리밍 서비스는 아직 주류가 아니거나 안정성이 완벽하지 않기 때문에, 관련 기업들은 영업 비밀에 대해 말을 아끼고 있습니다. 하지만 이들 기업이 넷플릭스와 같은 스트리밍 서비스의 선례를 따르고 있다는 것은 분명합니다. 엔비디아는 고성능 그래픽 카드로 가득 찬 CDN을 구축하고 있으며, 구글은 고속 구글 파이버 홈 인터넷 서비스와 게임이 가득 찬 Open Connect Appliance를 연결하는 방법을 모색하고 있습니다. 결국, 게임 스트리밍은 스트리밍 미디어의 다음 단계가 될 것입니다.