스트리밍은 미디어 파일을 실제로 다운로드하지 않고 동영상을 보거나 오디오 콘텐츠를 듣는 방법입니다. 파일 소유자가 CDN을 사용하는 경우 스트리밍 성능을 개선하고 버퍼링 시간을 줄일 수 있습니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
관련 콘텐츠
인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!
글 링크 복사
최초의 웹 사이트는 이미지 한두 장이 포함된 단순한 텍스트 페이지였습니다. 하지만 오늘날에는 인터넷 연결 속도가 충분히 빠르면 누구나 고화질 영화를 보거나 인터넷을 통해 화상 통화를 할 수 있습니다. 이는 스트리밍이라는 기술 덕분에 가능합니다.
스트리밍은 서버에서 클라이언트로 오디오 또는 비디오 파일을 지속해서 전송하는 것을 말합니다. 간단히 말해서 스트리밍은 소비자가 인터넷에 연결된 장치에서 TV를 시청하거나 팟캐스트를 청취할 때 발생하는 현상입니다. 스트리밍을 사용하면 클라이언트 장치에서 재생 중인 미디어 파일이 원격으로 저장되고 인터넷을 통해 한 번에 몇 초씩 전송됩니다.
스트리밍은 실시간이며 미디어 파일을 다운로드하는 것보다 더 효율적입니다. 동영상 파일을 다운로드하면 전체 파일의 사본이 장치의 하드 드라이브에 저장되며, 전체 파일 다운로드가 완료될 때까지 동영상을 재생할 수 없습니다. 대신 스트리밍하는 경우 브라우저는 동영상을 실제로 복사하여 저장하지 않고 재생합니다. 동영상은 전체 파일이 한 번에 로드되는 대신 한 번에 조금씩 로드되며, 브라우저가 로드하는 정보는 로컬에 저장되지 않습니다.
호수와 개울의 차이점을 생각해 보세요. 둘 다 물이 담겨 있고 개울에도 호수만큼 많은 물이 담길 수 있지만, 개울의 경우 물이 동시에 같은 장소에 있지 않다는 차이가 있습니다. 다운로드한 동영상 파일은 하드 드라이브 공간을 많이 차지한다는 점에서 호수와 비슷합니다(호숫물을 옮기는 데는 시간이 오래 걸립니다). 스트리밍 동영상은 동영상 데이터가 사용자의 브라우저로 지속해서 빠르게 흘러간다는 점에서 시냇물이나 강과 비슷합니다.
인터넷을 통해 전송되는 다른 데이터와 마찬가지로 오디오 및 비디오 데이터도 데이터 패킷으로 나뉩니다. 각 패킷에는 파일의 작은 조각이 포함되어 있으며 클라이언트 장치의 브라우저에 있는 오디오 또는 비디오 플레이어는 데이터 패킷의 흐름을 가져와 비디오 또는 오디오로 해석합니다.
일부 스트리밍 방법에서는 UDP이 사용되고, 일부에서는 TCP가 사용됩니다. UDP와 TCP는 전송 프로토콜로, 네트워크를 통해 데이터 패킷을 이동시키는 데 사용됩니다. 둘 다 인터넷 프로토콜(IP)과 함께 사용됩니다. TCP는 데이터를 전송하기 전에 전용 연결을 열고 모든 데이터 패킷이 순서대로 도착하도록 보장합니다. TCP와 달리 UDP는 이러한 작업을 수행하지 않습니다. 따라서 TCP가 더 안정적입니다. 그러나 UDP를 통해 데이터를 전송하는 경우 일부 패킷이 손실되기는 하지만, TCP를 통해 전송하는 것만큼 오래 걸리지는 않습니다.
TCP가 받는 사람이 서명을 해야 하는 택배 서비스와 같다면, UDP는 문을 두드려 서명을 받지 않고 현관 앞에 택배 물품을 놓아두는 택배 서비스와 같습니다. TCP 배달 서비스는 패키지 손실이 더 적지만, UDP 배달 서비스는 집에 서명을 해줄 사람이 없어도 패키지가 배달될 수 있기 때문에 더 빠릅니다.
스트리밍의 경우 안정성보다 속도가 훨씬 더 중요한 경우도 있습니다. 예를 들어, 화상 회의에 참석하는 사람은 앉아서 모든 데이터가 전달될 때까지 기다리는 것보다 다른 회의 참석자들과 실시간으로 상호 작용하는 것을 선호합니다. 따라서 데이터 패킷 몇 개가 손실되는 것은 큰 문제가 아니며 UDP를 사용해야 합니다.
스트리밍의 안정성이 더 중요한 경우도 있습니다. 예를 들어 HTTP 라이브 스트리밍(HLS) 및 MPEG-DASH 모두 전송에 TCP를 사용하는 스트리밍 프로토콜입니다. 많은 주문형 비디오 서비스에서 TCP가 사용됩니다.
스트리밍 미디어 플레이어는 연결이 잠시 중단되더라도 비디오 또는 오디오가 계속 재생될 수 있도록 스트림의 몇 초 분량을 미리 로드합니다. 이를 버퍼링이라고 합니다. 버퍼링을 통해 동영상을 원활하고 연속적으로 재생할 수 있습니다. 그러나 연결 속도가 느리거나 네트워크의 대기 시간이 길면 동영상이 버퍼링되는 데 시간이 오래 걸릴 수 있습니다.
스트리밍은 다른 종류의 웹 콘텐츠와 동일한 종류의 지연 및 성능 저하가 발생할 수 있습니다. 스트리밍 콘텐츠는 다른 곳에 저장되므로 인터넷을 통해 액세스하는 모든 유형의 콘텐츠와 마찬가지로 호스팅 위치로 인하여 큰 차이가 납니다. 뉴욕에 있는 사용자가 로스 가토스에 있는 넷플릭스 서버에서 스트리밍을 시도하는 경우, 비디오 콘텐츠가 사용자에게 도달하려면 3,000마일을 가로질러야 하며, 버퍼링 시간이 길어지거나 아예 재생이 되지 않을 수도 있습니다. 이러한 이유로 넷플릭스와 기타 스트리밍 공급자는 사용자와 훨씬 가까운 전 세계 위치에 콘텐츠를 저장하는 분산형 콘텐츠 전송 네트워크(CDN)를 광범위하게 활용합니다.
CDN은 스트리밍 성능에 아주 긍정적인 영향을 미칩니다. Cloudflare Stream은 Cloudflare CDN을 사용하여 전 세계 모든 Cloudflare 데이터 센터에서 동영상 콘텐츠를 캐싱하고 제공하므로 대기 시간이 단축되어 동영상 시작 시간이 짧아지고 버퍼링이 줄어듭니다.