지난 블로그 글 (LG U+의 LTE-A 기반 비디오 서비스 - U+ HDTV 스트리밍 방식 분석)에서 LG U+가 모바일 U+ HDTV 서비스에서 비디오 파일을 어떻게 단말로 전달해주는 지 살펴보았다. 지난 번 1차 실측에서 LG U+가,
i) Apple사의 Adaptive Streaming 방식인 HLS를 사용하고(Chunk 기반으로 비디오 파일을 전달, Not progressive download & not RTMP/RTSP)
ii) 3개의 Profile(화질 등급)을 제공
하는 것까지는 확인하였으나, Adaptive Streaming (ABR Streaming)이 실제로 적용되어 네트워크 품질 상황에 따라 화질이 자동으로 변경되는 것까지는 아쉽게도 확인하지 못하였다(Adaptive Streaming은 네트워크 품질 상황에 따라 화질을 자동 변경시켜줌으로써 이용자에게 끊김없는/버퍼링없는 영상을 제공해주는 기술이다).
이번 2차 실측에서는 Adaptive Streaming 방식이 실제로 적용되어 동작하고 있음을 확인(필자도 국내 인터넷 비디오 서비스에서 Adaptive Streaming이 적용되어 화질이 자동으로 변경되는 것을 처음 목격하였음)하였고 본 블로그 글에서는 LG U+가 Adaptive Streaming을 어떻게 구현하였는 지 살펴 본다.
아래 동영상은 Samsung Galaxy 4 단말 (LTE-A)로 LG U+ LTE망에 접속하여 LG U+ HDTV 서비스를 이용하는 환경에서, 네트워크 품질이 변화할 때 실제로 화질도 자동으로 변화하는 것을 캡처한 동영상이다.
처음에는 고화질로 재생되다가 약 14초쯤 되면 저화질로 변경되어 화질이 매우 저하됨을 볼 수 있다. 중요한 점은 네트워크 품질이 안 좋아지면 버퍼링이 발생하는 것이 아니라 화질을 저하시켜 끊김없는 영상 시청을 제공해준다는 점이다. 실제로 고화질에서 저화질로 화질은 변경되나 버퍼링은 발생하지 않음을 볼 수 있다.
실제 테스트 화면
LG U+ HDTV Adaptive Streaming: Playlist (3 Profiles)
LG U+ HDTV 서비스는 지난 번 블로그 글(LG U+의 LTE-A 기반 비디오 서비스 - U+ HDTV 스트리밍 방식 분석)에서 살펴본 바와 같이 Apple사의 Adaptive Streaming 방식인 HLS를 사용하며 하나의 영상에 3개의 프로파일(화질 등급)을 제공한다. 아래 그림은 LG U+ HDTV의 Playlist 파일을 캡춰한 이미지이다. 하나의 채널에 3개의 프로파일(Playlist.m3u8)이 존재하며 각 프로파일의 화질(인코딩율)은 1.5Mbps, 1Mbps, 500Kbps임을 볼 수 있다.
Adaptive Bit Rate을 위한 Playlist
Adaptive Bit Rate 스위칭 발생: 단말이 요청하는 청크의 프로파일 관측
화질 자동 변경이 LG U+ 상용망에서 발생하는 지 확인해보기 위해 실제로 단말(Galaxy G4)의 통신환경을 변경시켜가며 단말이 네트워크 품질 상황에 따라 요청하는 Chunk의 Profile이 다르게 나가는 지 확인해보았다.
실측된 패킷을 청크 요청 메시지(HTTP GET)를 분석해본 결과 단말의 통신환경이 3Mbps 이상에서는 최고 화질(프로파일 50101, 1.5Mbps)의 청크를 요청하고 받아갔고 약 2Mbps에서는 일반 화질(프로파일 50102, 1Mbps), 1Mbps 이하에서는 최저 화질(프로파일 50103, 500Kbps)의 청크를 요청하여 받아가는 것은 확인하였다.
Playlist상에는 각 프로파일의 인코딩율이 1.5Mbps, 1Mbps, 500Kbps로 표기되어 있는 데, 실제로 각 프로파일 미디어 파일(.ts file)을 분석해보니 각 미디어 파일의 실제 인코딩율(Bitrate)은 Playlist에 표기된 인코딩율보다 약 20~30% 정도의 변동을 높게 관측되었다.
실측된 MediaInfo는 블로그 글 마지막에 있는 부록에 첨부하였다.
Adaptive Bit Rate Traffic 분석
아래 그림은 전체 화면의 경우 통신환경 변화에 따른 Chunk를 요청하고 다운로드해가는 과정을 캡춰(Wireshark)한 그림이다.
단말의 통신환경이 변화함에 따라 단말에서 끊기지 않을 적절한 화질을 선택하여 끊김 없는 미디어 서비스를 제공하는 것을 확인할 수 있었다.
모바일 비디오 서비스와 Adaptive Streaming
Playlist (Manifest) 파일에 존재하는 3개의 프로파일에 대하여 실제 테스트를 통해 단말의 네트워크 환경에 따라 프로파일이 Adaptive Bit Rate Switching 하는 것을 확인하였다. 모바일 환경에서의 ABR 지원은 현재까지 본 블로그에서 조사된 내용으로는 국내 모바일 비디오 사업자들 중 최초로 추정된다. LG U+ HDTV 외 국내 모바일 비디오 서비스는 사용자와의 인터렉션을 통한 화질의 선택 혹은 단일 화질의 서비스를 제공하고 있다.
아마도 현재까지 미지원인 국내 모바일 비디오 사업자들의 대다수가 ABR을 업데이트 할 것으로 예상된다.
<부록>
고화질 (프로파일 50101)
일반화질 (프로파일 50102)
저화질 (프로파일 50103)
본문 마지막 부분에 들어있는 '모바일 환경에서의 ABR 지원은 현재까지 본 블로그에서 조사된 내용으로는 국내 모바일 비디오 사업자들 중 최초로 추정된다. '
이미 국내에서는 3년전인 2010년부터 HLS 방식의 Adaptive Streaming 시작되었고 현재 많은 곳에서 Aaptive 로 서비스를 하고 있는 상태입니다.
국내에서는 처음 보았다는 내용은 HLS의 적용이 최초라는 것이 아니라,
HLS이면서 여러 화질 등급간에 자동으로 Bit-Rate이 변경되는 "adaptive"가 처음이라는 말씀이였습니다.
말씀하신 것처럼 국내에서도 수년 전부터 HLS가 적용되어져 왔는 데,
넷매니아즈에서 파악한 바로는 단일 등급(Single Profile)이였습니다.
혹시 국내에서도 여러 화질등급간에 자동 스위칭이 적용된 HLS의 사례가 있는 지요?
(참고로 현재 SKT의 Btv Mobile, Pooq, 올초 KT OTN가 HLS이나 Single Profile로 알고 있습니다.)
알고 계신 사이트를 알려주시면 넷매니아즈에서 실측 테스트를 해보겠습니다.
감사합니다.
앞선 코멘트에서 처럼 이미 3년전부터 국내에서도 HLS 기반의 Adaptive 가 적용되었고
그 방법에 있어서도 Apple 의 HLS 말고도 모바일 환경 기반은 아니지만 MS 의 Smooth Streaming 과
Adobe HDS 기반의 Adaptive 도 이미 예전부터 서비스 되었습니다~
적용된 사이트는 조금만 관심 가지시면 쉽게 찾으실수 있으실텐데요..
좋은 글이 편협한 내용으로 특정 사이트가 마치 최초인 것처럼 비춰져
지나친 홍보의 글로 보이길래 지나가다 코멘트 남깁니다.
제가 알기로는 국내에서 Major OTT(KT,SKT, LG, Pooq 등)들 중 Multi Bitrate가 적용된 사례가 이번이 최초로 알고 있습니다.
최근에 KT 올레티비가 시작한걸로 알고 있습니다.
(LG 보다는 KT가 먼저 시작했는지 좀 애매하긴 한데요)
지가나다님이 말씀하신 3년전 부터 적용한 사이트가 어딘지 알수있을까요?
네이버 스포츠/프로야구의 경우, 모바일 중계를 최초로 시작한 2011년도이래 ABR을 사용해서 서비스 했었습니다. 300Kbps/500Kbps/800Kbps 로 3개의 profile로 서비스 했었는데요...
ABR의 제일 큰 장점인 네트워크 품질에 따라, 다양한 화질간의 영상 스위칭이 IOS의 내장 플레이어와, Android(특히 갤럭시의 삼성이 수정한 내장 플레이어) 플레이어간의 동작 차이(?)로 오히려 화질에 대한 혼란이 야기될 수 있디는 판단에 따라서, 현재와 같이 사용자가 저화질/일반화질/고화질(초고화질)을 선택하는 형태로 바꾸었죠...(작년...)