다음으로 이동: 매니페스트 및 콘텐츠 요구사항 | 패키지, 플랫폼, 플레이어
다중 기간 매니페스트와 단일 기간 매니페스트 비교
Ad Manager에서는 DASH에 대한 다중 기간 매니페스트와 단일 기간 매니페스트의 수집을 모두 지원합니다.
단일 기간 매니페스트를 사용하면 게시자는 콘텐츠를 구별하는 여러 기간이 아닌, 모든 콘텐츠와 광고 시점 기회가 포함된 하나의 기간으로 DASH 스트림을 제공합니다. DAI는 가져오기를 실행할 때마다 매니페스트를 다중 기간으로 변환하여 단일 기간 메니페스트를 지원합니다.
조건 지정을 사용 설정하면 매니페스트를 단일 기간으로 선택할 수 있습니다.
단일 기간 MPEG-DASH에 조건 지정 사용 설정
VOD DAI를 사용하려면 Google Ad Manager가 VOD 콘텐츠를 처리할 수 있도록 콘텐츠 소스를 설정하세요. DAI는 MRSS 피드 요소를 사용하여 콘텐츠가 DASH 단일 기간 매니페스트 조건 지정을 거쳐야 하는지 여부를 결정합니다.
ingestUrl
을 MPD 콘텐츠 URL로 설정합니다.preconditioned
를 false로 설정합니다.
preconditioned
가 true로 설정되면 단일 기간 DASH 매니페스트가 미드롤 광고 시점에 대해 컨디셔닝되지 않습니다.- 매니페스트는 매니페스트의
Event@presentationTime
속성에 따라 분할됩니다. 이는 다음과 같은 이유로 큐 포인트가 정렬되지 않은 경우에도 마찬가지입니다. - 매니페스트에
EventStream
요소가 없는 경우 매니페스트는 큐 포인트에 따라 분할됩니다. - 큐 포인트는 미디어 세그먼트 경계와 정렬되어야 합니다. 그렇지 않으면 조건 지정이 실패합니다.
splice_insert
이벤트로부터 100ms 이내에 큐 포인트를 설정합니다. 이는 큐 포인트 값과Event@presentationTime
속성에 의해 결정됩니다.
매니페스트 및 콘텐츠 요구사항
다중 기간 매니페스트의 경우
다중 기간 MPEG-DASH 매니페스트
다중 기간 MPEG-DASH 매니페스트에 대한 기대치
Google DAI는 원본 MPD에서 다음 유효성 검사를 수행합니다.
MPD 요소 유효성 검사
MPD 요소 유효성 검사를 다음과 같이 설정합니다.
type
이static
으로 설정됨.profiles
가 다음과 같이 설정됨:urn:mpeg:dash:profile:isoff-on-demand:2011
.urn:mpeg:dash:profile:isoff-live:2011
.
- HTTPS는 동일한 MPD에서 참조되는 DASH 콘텐츠 전체에 사용해야 합니다.
기간 요소 유효성 검사
기간 요소에 필요한 사항은 다음과 같습니다.
- 각 기간은
duration
속성을 지정해야 합니다. - 각 기간은
start
속성을 지정하지 않아야 합니다. - 오디오 및 비디오 적응 세트는 기간 전반에 걸쳐 일관되어야 합니다.
단일 기간 매니페스트의 경우
단일 기간 MPEG-DASH 매니페스트(알파)
이 기능은 제한된 수의 일부 게시자만 사용할 수 있습니다.
단일 기간 MPEG-DASH 매니페스트에 대한 기대치
Google DAI는 원본 MPD에서 다음 유효성 검사를 수행합니다.
콘텐츠 요구사항
DASH 콘텐츠는 DASH-IF 상호 운용성 포인트에 명시된 규칙을 모두 따라야 합니다.
MPEG-DASH
Google DAI는 다음 유효성 검사를 수행하고 원본 MPD에서 다음과 같은 가정을 합니다.
- MPD 요소 유효성 검사:
@profiles
가urn:mpeg:dash:profile:isoff-live:2011
로 설정됨.@type
이static
으로 설정됨.- MPD에 정확히 하나의 기간 요소가 있음.
<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" type="static" profiles="urn:mpeg:dash:profile:isoff-live:2011" maxSegmentDuration="PT2S" minBufferTime="PT2S">
<Period …>
…
</Period>
…
</MPD>
- 기간 요소 유효성 검사:
- 기간에 1개 이상의
@AdaptationSet
요소가 있음. - 분할할 기간에 대해 이음 포인트로 인코딩된
Event
요소가 있는 중첩된EventStream
요소가 하나 이상 있어야 합니다. 이음 포인트 인코딩 요구사항은 SCTE-35를 참고하세요.
<Period id=”1” start="PT0S">
<AdaptationSet …>
…
</AdaptationSet>
<AdaptationSet …>
…
</AdaptationSet>
</Period>
- 기간에 1개 이상의
AdaptationSet
요소 유효성 검사에 필요한 사항은 다음과 같습니다.
AdaptationSet
에@Representation
요소가 하나 이상 있어야 합니다.썸네일 및 자막 적응 세트가 지원됩니다. 자막 적응 세트가 필요합니다.<AdaptationSet mimeType="video/mp4" startWithSAP="1" contentType="text" par="16:9" minWidth="640" maxWidth="640" minHeight="360" maxHeight="360" maxFrameRate="60/2" segmentAlignment="true">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"></Role>
<ContentComponent id="0" contentType="video" />
<Representation …>
…
</Representation>
<Representation …>
…
</Representation>
</AdaptationSet>
Representation
요소 유효성 검사를 완료합니다.@id
가 비어 있지 않은지 확인합니다.@SegmentBase
또는@SegmentList
요소가 없어야 합니다.
<Representation width="640" height="360" sar="1:1" frameRate="60/2" codecs="avc1.64001e" id="V300" bandwidth="300000">
…
</Representation/>
$Time$
이 있는SegmentTemplate
의 유효성을 검사합니다.- 미디어 세그먼트의 주소를 명시적으로 지정하기 위해
SegmentTemplate
요소에 중첩된SegmentTimeline
요소가 포함되어 있는지 확인합니다. SegmentTimeline S
요소에는 미디어 URL에 사용되는S@t
속성이 포함될 수 있습니다.- 없는 경우, 처음
S
요소 및 차후S
요소에 대해 해당 값은0
으로 간주되며, 이전S
요소의 가장 이른 프레젠테이션 시간 및 인접 기간의 합, 즉S@t + @d * (@r + 1)
값으로 간주됩니다. SegmentTemplate@startNumber
는 사용되지 않습니다.
<SegmentTemplate timescale="90000" initialization="$RepresentationID$/init.mp4" media="$RepresentationID$/$Time$.m4s">
<SegmentTimeline>
<S t="0" d="270000" r="20" />
</SegmentTimeline>
</SegmentTimeline>
- 없는 경우, 처음
- 미디어 세그먼트의 주소를 명시적으로 지정하기 위해
-
Google DAI는 ISO-8601 기간의 시간 구성요소 부분을 지원하며 선택적 정수 날짜 구성요소(
P0Y0M[n]DT[n]H[n]M[n]S
)를 지원합니다. 일 구성요소는 1일 = 24시간임을 고려해 기간으로 변환되며 시간 구성요소에 추가됩니다. 인식되는 가장 작은 단위는 나노초입니다.
유효한 형식의 예:
P0Y0M
P0Y0M2D
P2D
PT3H
PT0H3M
P0Y0M0DT0H0M1.000S
P0Y0M1DT2H4M10S
PT0.000000001S
잘못된 형식의 예:
P
PT
2007-03-01
P5Y0M1DT2H4M1.000S
P0Y1.5M1DT2H4M1.000S
P0YiM1DT2H4M1.000S
P0Y0M.3DT0H0M1.000S
3h
PT100,000H
자막
- Google DAI는 TTML 및 WebVTT 형식의 자막을 모두 지원합니다.
- Google DAI는 MRSS 피드를 통해 제공되는 모든 사이드카 자막 파일을 지원합니다.
- DASH 매니페스트에 지정된 사이드카 자막 파일은 변환되지 않으며 컨디셔닝된 매니페스트에 존재하지 않습니다. 사이드카 자막이 필요한 경우 MRSS 피드를 통해 지정해야 합니다.
지원되지 않는 DASH 매니페스트 사이드카 자막
<AdaptationSet
id="3"
group="3"
contentType="text"
lang="fr"
mimeType="application/ttml+xml"
startWithSAP="1">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main" />
<Representation
id="textstream_fra=0"
bandwidth="0">
<BaseURL>sub/tears-of-steel-fr.ttml</BaseURL>
</Representation>
</AdaptationSet>
AdaptationSet
에contentType
="text"와SegmentTimeline
이 있는 분할된 자막은 지원되지만 유효성 검사를 통과하려면 자막 세그먼트에 이음 포인트 마커와 정렬된 세그먼트 경계가 있어야 합니다.
지원되는 DASH 매니페스트 분할 자막
<AdaptationSet
id="2"
group="3"
contentType="text"
lang="en"
mimeType="application/mp4"
codecs="stpp.ttml.im1t"
startWithSAP="1">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="subtitle" />
<SegmentTemplate
timescale="1000"
initialization="tears-of-steel-en-$RepresentationID$.dash"
media="tears-of-steel-en-$RepresentationID$-$Time$.dash">
<SegmentTimeline>
<S t="0" d="4000" r="140" />
<S d="3000" />
</SegmentTimeline>
</SegmentTemplate>
<Representation
id="texttream_eng=1000"
bandwidth="1000">
</Representation>
</AdaptationSet>
SCTE-35
- Google DAI는 다음 유효성 검사를 통과한 경우에만 이음 포인트를 DASH
MPD@Period@EventStream@Event
요소에 전달되는 SCTE-35 마커로 인식합니다.- Base64로 인코딩된 SCTE-35 데이터는
Event@Signal@Binary
요소에 포함되어야 합니다.
splice_insert
만 지원됩니다. - SCTE-35 마커가 있는
Events
가 포함된EventStream
요소는@schemeIdUri
가urn:scte:scte35:2014:xml+bin
으로 설정되어 있어야 합니다. EventStream@timescale
을 설정해야 합니다. 그렇지 않으면1
(시간 기준 초)로 설정된 것으로 간주됩니다.- 각
Event
요소에서Event@presentationTime
을 설정해야 합니다. Event@Signal@namespace
에는http://www.scte.org/schemas/35/2016
네임스페이스가 있어야 합니다.EventStream
의 이벤트는Event@presentationTime
을 기준으로 정렬되어 있어야 합니다.
- Base64로 인코딩된 SCTE-35 데이터는
Splice_insert
가정
EventStream
의 모든splice_insert
마커는 광고 시점 게재위치 기회로 취급됩니다. 즉, 단일 기간 조건 지정은 큐 아웃과 큐 인을 구분하지 않으며, 대신 모든 신호를 광고 시점 게재위치 기회로 취급합니다.- DASH VOD용 Google DAI는 세그먼트 분할을 지원하지 않으므로 이음 포인트의 프레젠테이션 시간과 가장 가까운 세그먼트 경계로부터 얼마나 멀리 떨어져 있는지에 대한 허용 오차는 100ms입니다.
VOD용으로 지원되는 플랫폼, 패키지 프로그램, 플레이어
플랫폼 |
||
---|---|---|
기기/브라우저 |
버전 |
DRM |
Chrome 브라우저 |
66 이상 버전 |
Widevine |
Firefox 브라우저 |
60 이상 버전 |
Widevine |
Microsoft Edge |
18 |
PlayReady |
Android |
4.4 이상 버전 |
Widevine |
Chromecast |
Gen2, Ultra(CAF API) |
Widevine |
Roku |
3, 4(펌웨어 8.1) |
PlayReady |
패키지 프로그램 |
||
---|---|---|
2.1.0 |
여러 기간 지원 |
|
1.47.3 |
여러 기간 지원 |
|
1.11.17 | 단일 기간 지원 |
플레이어 |
||
---|---|---|
Shaka |
테스트에 권장됨 |
|
Bitmovin |
||
Exo-Player |
||
Dash.js |