💨 분산형 Application-level 인프라 구축을 통해 해결 가능
🎞 Video Streaming 개념
Video : 비디오는 변함없는 비율로 나타나는 연속된 이미지들이라고 할 수 있다! (예를 들어 초마다 24 or 30 프레임을 연속적으로 보여주는 것)
Digital image : 픽셀들의 배열, 각 픽셀은 bits(rgb정보같은 것을 나타내는)로 이루어짐
Encoding : 이미지 내부 혹은 이미지들 사이의 중복을 활용해서 이미지를 부호화 하는 데에 사용되는 비트 수를 줄이는 것
- 공간적 활용 예시: 같은 색의 N개 값을 다 보내는 대신에 무슨 색인지(1), 그 색이 반복되는 갯수(2) 이렇게 두 가지 값만 보내는 것
- 시간적 활용 예시: i번째 프레임에서 i+1프레임으로 넘어갈 때, i+1프레임의 완벽한 값 말고 i프레임과 비교했을 때 차이가 나는 부분에 대해서만 정보를 보내는 것
- 비트 전송률과 비디오 화질 사이의 균형
CBR(constant bit rate) : 고정된 비디오 인코딩 속도
VBR(variable bit rate) : 비디오 인코딩 속도는 공간적/시간적 코딩의 변화에 따라 달라질 수 있음
👀 같은 비디오를 다양한 버전으로 만들 수 있고 각 버전의 퀄리티는 다를 수 있음. 유저는 자신이 이용가능한 대역폭에 따라 원하는 버전으로 선택할 수 있음.
📽 Streaming stored video(비디오 스트리밍)
- 비디오는 저장된 서버 -> 인터넷 -> 클라이언트로 옴
- 모든 데이타를 받기 전에 클라이언트에서 재생 할 수 있다.
- 서버와 클라이언트 사이의 대역폭은 시간이 지남에 따라 달라질 수 있다(변동하는 network congestion levels 때문).
- congestion으로 인한 패킷 손실, 딜레이는 재생을 지연시키거나 형편없는 화질의 이유가 될 수 있다.