라이브 스트리밍이란?

스트리밍은 동영상을 시청할 때 사용되는 전송 방식 중 하나입니다. 이 방식은 영상 파일을 한 번에 다운로드하지 않고, 작은 단위로 나누어 조금씩 전송받는 것이 특징입니다. 따라서 넷플릭스와 같은 서비스에서 영상을 시청할 때 다운로드가 완료될 때까지 기다릴 필요 없이, 다운로드와 동시에 영상을 재생할 수 있습니다.

그럼 라이브 스트리밍은 무엇일까?

클라이언트가 실시간으로 녹화 중인 영상을 스트리밍 방식으로 서버에 전송하고, 서버에서 이 데이터를 다른 클라이언트에게 실시간으로 동일한 방식으로 전달하는 것을 의미합니다.

<aside> 💡

스트리밍과 라이브 스트리밍의 차이는 이미 준비된 랩과 프리스타일 랩의 차이와 비슷합니다.

생산과 동시에 소비되는 것을 “라이브 스트리밍”이라 할 수 있습니다.

</aside>

라이브 스트리밍은 다음과 같은 순서로 클라이언트에게 전달됩니다.

촬영 → 압축 → 인코딩 → 분할 → CDN 배포 → 캐싱 → 디코딩 → 재생

압축

라이브 스트리밍은 데이터를 실시간으로 전송하고 수신하기 때문에 인코딩과 디코딩에 걸리는 시간이 중요합니다.

압축률이 높을수록 데이터의 크기는 줄어들지만, 인코딩 및 디코딩 시간이 증가하여 지연 시간이 늘어날 수 있습니다. 이를 저지연 코덱을 사용하여 어느 정도 완화할 수 있지만, 어떤 압축 기법을 사용하느냐에 따라 스트리밍의 품질이 달라질 수 있습니다.

<aside> 💡

지연시간이란 송출자와 수신자 사이의 딜레이입니다.

라이브 영상 시청 시 스트리머가 송출하는 영상이 시청자에게 전달되는데 3-5초 정도의 딜레이가 발생하는데 이를 3-5초의 지연시간이 발생했다고 할 수 있습니다.

</aside>

라이브 스트리밍에선 다양한 압축 기법 중 **프레임 간 압축(Inter-frame Compression) 과 손실 압축(Lossy Compression)**이 주로 사용됩니다.

프레임 간 압축(Inter-frame Compression)

연속된 프레임 중 중복된 데이터를 제거하며 영상 데이터를 압축하는 기법입니다.

출처: https://en.wikipedia.org/wiki/Inter_frame

출처: https://en.wikipedia.org/wiki/Inter_frame

I-프레임은 스트리밍된 영상의 첫 번째 프레임으로, 이후 프레임의 기준이 되는 핵심 프레임입니다.

P-프레임은 I-프레임이나 이전 P-프레임과의 차이만을 담고 있습니다.