본문 바로가기

정보통通/하늘방송국

Smooth Streaming, 풀HD급의 영상을 사용자 환경에 따라 최적화된 형태로 Encoding 한다?


HD급의 영상을 끊김없이 오랜시간 즐길 수 없을까?



영상을Streaming 해 주는 방식도 중요하지만 문제는 받는 사용자의 네트워크 Bandwidth, 다운로드 상황, CPU 상황 등이 다 다르다는 것입니다.

그런데Smooth Streaming을 사용하면

사용자의 다운로드 상황뿐만 아니라 네트워크 Bandwidth, CPU 상황, 해상도에 맞춰서

그때 그때 마다 최적화된 형태로 Encoding해서 내려보내기 때문에

끊기지 않는 동영상을 제공할 수 있습니다.

그럼, HTTP 기반의 adaptive Streaming을 통해서

최소한의 버퍼링과 빠른 속도의 재생 시작을 경험 해 보겠습니다.

 

(그림1) 470k > 845k >1.52M 로 스트리밍

영상을 시작하면, 낮은 비트레이트로 스트리밍을 하면서 영상을 받아놓습니다.

참 좋은 방법이죠?

그리고 사용자의 인터넷 상태에 맞추어 동적으로

(그림1,2)와 같이 대역폭을 올리기 시작합니다.

(그림2) 1520k 스트리밍 화면

(그림3) 630k 스트리밍 화면



(그림3)을 보면 네트워크 대역폭의 상태가 나빠지고 있습니다.

그러나

이 스트림은 1Bit라도 Skip하지 않고

낮은 대역폭에 맞춘 낮은 화질로 바뀌게 됩니다.

Smooth Streaming buffer 는 아주 극히 낮은 레이턴시로

서버에게 화질을 다이나믹하게 바꿀 수 있는 시간을 많이 확보해 줍니다.

대역폭 상태에 따라 다이나믹하게 화질을 변화시켜 주고 있습니다.


 

(그림4)1520k 스트리밍 화면




(그림4)를 보면 다시 대역폭이 오르고 있습니다.

즉, 느린 접속환경에서는 저화질 비디오를

고속 환경에서는 고화질 비디오를 전송받게 되는 겁니다.

이것이 IIS7 MeidaPack에 포함된 Smooth Streaming이라는 서비스입니다.





Smooth Streaming은 사용자가 요청할 때

그 파일의 일부를 보내주는데

중간에 Edge Server를 두고

그 서버를 통해 클라이언트로 파일을 전송합니다.

이 조각난 파일들은 Cache로 남아 있게 되고

다른 사용자의 요구에 처음 송출서버까지 가지 않고

Edge Server에서 전송받는 형태입니다.









by.zionlook