-
Adaptive Bitrate와 MPD파일프로젝트/미디어 스트리밍 서버 프로젝트 2023. 1. 5. 00:01
개요
mediaconvert의 ABR옵션을 알아보고 적용하는 과정에서 MPD파일과 APR옵션에 대한 이해를 가져가려고 합니다.
비디오를 전체 다운로드하고 비디오를 시청해야 할까?
비디오 파일을 보기 전 전체를 다운로드 할 필요가 없습니다.이와 동일한 효과를 얻기 위해 재생을 위한 약간의 미디어 청크를 가져올 수 있습니다.이때 주의할 점은 플레이어가 미디어를 소비하는 속도만큼 미디어를 수신해야 합니다.만약 고품질 비디오를 스트리밍하려면 더 빠른 네트워크가 필요하게됩니다.하지만 네트워크 속도는 상황에 따라 달라질 수 있습니다.ABR(Adaptive BitRate) 등장
위의 문제를 해결하기 위해 ABR이 등장하게 되었습니다.ABR은 2가지의 개념으로 이 문제를 해결합니다.1. 다양한 품질 수준의 콘텐츠 사본을 여러 개 서버에 저장한다.2. 클라이언트 장치는 현재 네트워크 상태를 감지하고 네트워크 속도가 느릴 때 낮은 품질의 콘텐츠를 요청하고 네트워크 속도가 더 빠른 경우 높은 품질의 콘텐츠를 요청한다.오늘날 비디오 스트리밍의 상당 부분은 여러 ABR 형식 중 하나를 사용하고 있습니다.Apple의 HLS와 MPEG의 DASH가 주요 기술입니다.ABR 기술은 클라이언트가 사용할 수 있는 콘텐츠의 위치, 품질 및 유형을 설명하는 일종의 설명 파일 또는 "매니페스트"를 지정합니다.MPEG-DASH와 MPD파일
해당 글에서는 MPEG-DASH에 초점을 맞춰 글을 작성하고자 합니다.XML 기반으로 클라이언트가 주어진 콘텐츠를 다운로드하고 표시하는데 필요한 모든 정보를 포함하는 Media Presentation Description 이하 MPD 매니페스트 파일에 기록됩니다.
[그림 1]은 MPD의 XML 파일 구조를 보여줍니다.
루트 요소의 이름은 MPD입니다.
여기에는 전체 콘텐츠에 대한 고급 정보가 포함됩니다.
루트 MPD 요소 내에는 하나 이상의 Period 요소가 포함되어 있습니다.
미디어가 표시될 것으로 예상되는 기간을 나타냅니다.
각 Period에는 하나 이상의 AdaptationSet 요소가 포함됩니다.다른 비디오 코덱을 사용하는 미디어 복사본이 여러 개 있다면 AdaptationSet이 여러 개가 됩니다.
참고자료
https://www.cablelabs.com/blog/adaptive-bitrate-and-mpeg-dash
https://unipro.tistory.com/111
'프로젝트 > 미디어 스트리밍 서버 프로젝트' 카테고리의 다른 글
CDN이란? (0) 2023.01.17 S3 pre-signed url 만들기(Kotlin + Spring) (0) 2023.01.06 스프링과 스트리밍 서버 (0) 2022.12.23 [Kotlin] AWS S3에 업로드하기 (0) 2022.12.19 AWS Foundation 기반 온디맨드 비디오 솔루션 구현 - 이론편 (0) 2022.12.12