

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# DASH 매니페스트 유형
<a name="dash-manifest-types"></a>

Dynamic Adaptive Streaming over HTTP(DASH)는 미디어 프레젠테이션 설명(MPD) 매니페스트를 사용하여 스트리밍 콘텐츠를 제공합니다. DASH 매니페스트의 구조와 구성 요소를 이해하는 것은 MediaTailor 워크플로를 구성하고 문제를 해결하는 데 필수적입니다.

MPD(미디어 프레젠테이션 설명)  
MPD는 미디어 콘텐츠의 구조와 가용성을 설명하는 DASH 스트리밍의 기본 매니페스트 파일입니다. 여기에는 스트리밍 콘텐츠를 구성하는 기간, 적응 세트, 표현 및 세그먼트에 대한 정보가 포함되어 있습니다.  
이 매니페스트 유형은 다양한 컨텍스트에서 여러 다른 이름으로도 알려져 있습니다.  
+ DASH 매니페스트
+ 대시 MPD
+ 마스터 매니페스트(HLS와 비교 시)
+ 프레젠테이션 매니페스트
MediaTailor 워크플로에서 MPD는 재생 요청의 진입점이며 광고 개인화가 시작되는 곳입니다.  

**Example MPD 매니페스트 예제**  

```
<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="dynamic" minBufferTime="PT5.000S" maxSegmentDuration="PT2.005S" availabilityStartTime="2020-01-01T00:00:00Z" publishTime="2020-01-01T12:30:00Z" minimumUpdatePeriod="PT2.000S" timeShiftBufferDepth="PT5M">
  <Period id="1" start="PT0.000S">
    <AdaptationSet id="1" contentType="video" segmentAlignment="true" bitstreamSwitching="true" frameRate="30000/1001" maxWidth="1920" maxHeight="1080" par="16:9">
      <Representation id="1" mimeType="video/mp4" codecs="avc1.640028" width="1920" height="1080" bandwidth="5000000">
        <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
      </Representation>
      <Representation id="2" mimeType="video/mp4" codecs="avc1.4d401f" width="1280" height="720" bandwidth="2800000">
        <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
      </Representation>
      <Representation id="3" mimeType="video/mp4" codecs="avc1.4d401e" width="640" height="360" bandwidth="1100000">
        <SegmentTemplate timescale="90000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
      </Representation>
    </AdaptationSet>
    <AdaptationSet id="2" contentType="audio" segmentAlignment="true" lang="eng">
      <Representation id="4" mimeType="audio/mp4" codecs="mp4a.40.2" audioSamplingRate="48000" bandwidth="128000">
        <SegmentTemplate timescale="48000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="96000"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>
```

Period  
기간은 DASH 프레젠테이션의 임시 섹션입니다. 각 기간은 하나 이상의 적응 세트를 포함하며 미디어 시간 범위를 나타냅니다. 광고 삽입 워크플로에서는 일반적으로 별도의 기간을 사용하여 콘텐츠와 광고를 구분합니다.  
이 구성 요소는 다른 여러 이름으로도 알려져 있습니다.  
+ 콘텐츠 세그먼트
+ 타임라인 섹션
+ 프로그램 세그먼트
MediaTailor 워크플로에서 기간은 기본 콘텐츠를 광고 콘텐츠와 분리하는 데 사용되며, 각 광고는 일반적으로 자체 기간으로 표시됩니다.  

**Example 기간 예제**  

```
<Period id="ad-period-1" start="PT30.000S" duration="PT15.000S">
  <AdaptationSet id="1" contentType="video" segmentAlignment="true" bitstreamSwitching="true" frameRate="30000/1001" maxWidth="1920" maxHeight="1080" par="16:9">
    <Representation id="1" mimeType="video/mp4" codecs="avc1.640028" width="1920" height="1080" bandwidth="5000000">
      <SegmentTemplate timescale="90000" initialization="ad1/init-stream$RepresentationID$.m4s" media="ad1/chunk-stream$RepresentationID$-$Number%05d$.m4s" startNumber="1" duration="180000"/>
    </Representation>
  </AdaptationSet>
</Period>
```

AdaptationSet  
AdaptationSet는 하나 또는 여러 미디어 콘텐츠 구성 요소의 교체 가능한 인코딩 버전 세트를 그룹화합니다. 예를 들어 한 AdaptationSet에는 여러 오디오 언어 옵션이 포함될 수 있습니다.  
이 구성 요소를 다음과 같이 알려져 있습니다.  
+ 미디어 구성 요소 그룹
+ 스트림 세트
+ 트랙 그룹
MediaTailor 워크플로에서는 콘텐츠와 광고 간에 일관된 미디어 유형을 유지하기 위해 광고 삽입 중에 AdaptationSets가 보존됩니다.

표시  
표현은 AdaptationSet 내의 미디어 콘텐츠의 특정 인코딩 버전입니다. 각 표현은 일반적으로 비트 전송률, 해상도 또는 기타 인코딩 파라미터가 다르므로 클라이언트가 네트워크 조건 및 디바이스 기능에 따라 가장 적합한 버전을 선택할 수 있습니다.  
이 구성 요소를 다음과 같이 알려져 있습니다.  
+ 변환(HLS와 유사)
+ 품질 수준
+ 비트레이트 변형
+ 스트림 변형
MediaTailor 워크플로에서 광고 기간의 표현은 원활한 시청 경험을 보장하기 위해 콘텐츠 기간의 표현과 최대한 가깝게 매칭됩니다.

세그먼트  
세그먼트는 URL에서 개별적으로 참조할 수 있는 미디어 데이터의 단위입니다. 세그먼트에는 실제 미디어 콘텐츠(비디오, 오디오 등)가 포함되며 MPD 내에서 참조됩니다. DASH에는 두 가지 주요 유형의 세그먼트가 있습니다.  
+ **초기화 세그먼트**: 코덱 파라미터 및 타이밍 정보와 같은 표현에 대한 초기화 정보를 포함합니다.
+ **미디어 세그먼트**: 표현 내의 특정 시간 범위에 대한 실제 미디어 데이터를 포함합니다.
MediaTailor 워크플로에서 세그먼트 URLs은 적절한 콘텐츠 또는 광고 미디어 파일을 가리키도록 수정되는 경우가 많습니다.

**참고**  
DASH 매니페스트는 일반적으로 `.mpd` 확장자를 사용하는 XML 기반 파일입니다. 이러한 파일 및 해당 구성 요소의 용어는 설명서 및 컨텍스트에 따라 다를 수 있지만 DASH 스트리밍 아키텍처에서는 기본 구조가 동일하게 유지됩니다.

MediaTailor를 구성할 때 콘텐츠 오리진의 MPD 매니페스트에 대한 URL을 제공합니다. 그런 다음 MediaTailor는 일반적으로 구성에 따라 광고에 대한 추가 기간을 삽입하여 매니페스트의 개인화를 처리합니다.

DASH 매니페스트 사양에 대한 자세한 내용은 [DASH Industry Forum 구현 지침을](https://dashif.org/docs/DASH-IF-IOP-v4.3.pdf) 참조하세요.