Streaming 서비스(1)

업데이트:

1. Streaming 서비스

  • 면접에서 유튜브 스트리밍에 동작 방법에 대한 질문을 받았고 대답을 못해서 찾아봤다.

  • 일단 정의는 인터넷에서 데이터를 연속적으로 전송하여 실시간으로 재생하는 일로 파일을 전체 다운로드 받지 않고도 원하는 부분을 재생할 수 있다.

  • 이와 비슷하게 프로그레시브 다운로드(Progressive Download)라고 파일의 일부 다운 받음과 동시에 재생하는 방법이 있다.

  • 하지만 일단은 Streaming에 대해서 알아보자

2. 구조

  • 구조 streaming1

  • Live Streaming

    • 소리나 동영상을 실시간으로 인코딩해 사용자들에게 서비스

    • 아프리카 생방송, 트위치 생방송 같은 실시간 방송

  • VOD Streaming

    • 소리나 동영상을 파일형태로 제작하여 사용자들의 요청에 의해 서비스

    • 유튜브(실시간 스트리밍 X)나 방송 다시 보기 같은 서비스

  • Encoding

    • 원시 자료를 여러 장치와 호환되는 디지털 형식으로 변환하는 과정

    • 압축을 위해서 코덱을 사용하여 오디오랑 비디오를 따로 압축

3. Streaming 서비스 방법

  • Progressive Download streaming2

    • 필요 없는 부분까지 다운로드

    • 영상 품질 고정(작은 화면에서 큰 화면으로 전환시 품질이 떨어짐)

  • RTMP/RTSP Streaming streaming3

    • Streaming Server에서 재생에 필요한 부분만 버퍼에 채워가는 방법

    • 클라이언트 상황에 따라 가변적인 품질

  • Adaptive HTTP Streaming streaming4

    • Progressive + RTMP/RTSP의 장점을 결합

    • 서버의 유동적 활용을 위해 HTTP 프로토콜(웹서버)을 활용

    • CDN(Contents Delivery Network) 활용을 통해 비용이나 확장성 측면에서 강세

    • HLS, MPEG-DASH 등이 있음

4. 정리

  • 일단은 간단한 구조와 내용을 공부하고 흐름을 이해(공부할 내용이 너무 많다)

  • 그 후 다음편부터는 구체적으로 내용을 쓸 예정

출처