실시간 스트리밍 이해하기
목차
- 전체적인 흐름 : 기자의 생중계를 집에서 보기까지
- 1대1 관계: 호스트에서 서버로의 신속한 전송
- 1대N 관계: 서버에서 클라이언트로의 효율적인 대량 전송
- 화질과 레이턴시: 스트리밍 품질의 두 가지 핵심 요소
- 화질과 레이턴시 전략
- 실제 서비스들의 적용 사례
- 마무리: 실시간 스트리밍의 핵심과 우리의 선택
유튜브나 치지직, 트위치 같은 라이브 스트리밍 서비스를 사용해 보신 적이 있나요?
오늘날 우리는 스마트폰을 통해 뉴스 나 드라마를 실시간으로 시청하는 시대에 살고 있습니다.
이번 글에서는 실시간 영상 스트리밍의 전체적인 흐름을 소개하고자 합니다.
- 호스트와 서버 간의 1대1 관계, 서버와 클라이언트 간의 1대N 관계에서 사용되는 다양한 프로토콜
- 화질과 레이턴시, 두 가지 핵심 요소
- 유튜브와 트위치 같은 실제 서비스의 전략
실시간 스트리밍의 세계로 함께 떠나보실까요?
전체적인 흐름 : 기자의 생중계를 집에서 보기 까지
뉴스 현장에서 기자의 생중계를 진행하는 장면을 보신 적이 있나요? 현장에 나가 있는 기자들은 스마트폰이나 카메라를 통해 실시간으로 상황을 촬영하고 있습니다. 이때 촬영한 영상은 방송국으로 직접 전송되는데, 이 과정은 호스트(카메라맨)와 서버(방송국) 간의 1대1 관계에 해당합니다.
방송국은 이 영상을 받아 즉시 편집하거나 추가적인 처리 없이 그대로 송출할 수 있어야 합니다. 이는 신속하고 원본 화질의 손실 없이 영상을 전달해야 하기 때문에 최적화된 전송 방식이 필요합니다. 이러한 전송 방식을 프로토콜이라고 합니다.
1대1 관계: 호스트에서 서버로의 신속한 전송
호스트와 서버 간의 1대1 전송은 퀵 배송 서비스에 비유할 수 있습니다. 기자가 현장에서 촬영한 영상을 방송국으로 보내는 과정은 긴급한 패키지를 신속하게 보내는 것과 유사합니다. 이때 사용하는 프로토콜은 다음과 같습니다:
- RTSP (Real Time Streaming Protocol): 가장 먼저 개발된 스트리밍 프로토콜로 안정적이지만 최신 기술에 비해 유연성이 떨어집니다. 현재는 주로 CCTV 영상 전송에 사용됩니다.
- RTMP (Real-Time Messaging Protocol): 퀵으로 물건을 전송하는 빠른 프로토콜로, 지연 시간을 최소화하여 실시간 전송을 가능하게 합니다.
- SRT (Secure Reliable Transport): 위의 프로토콜들의 장점만을 모아 만든 최신 프로토콜로, 보안과 신뢰성을 강화하여 중요한 데이터를 안전하게 전송합니다.
카메라맨이 촬영한 원본 영상은 방송국으로 지연 시간 없이, 원본에 최대한 가까운 상태로 전달되어야 합니다. 이를 위해 최소한의 포장, 즉 최소한의 압축과 빠른 전송이 필요합니다. 이러한 이유로 1대1 관계에서는 RTSP, RTMP, SRT와 같은 프로토콜이 사용됩니다.