Video Stitcher API 권장사항

이 페이지에는 Video Stitcher API 권장사항이 요약되어 있습니다. Video Stitcher API를 처음 시작하는 경우에는 라이브 스트림 빠른 시작 또는 VOD 애셋 빠른 시작을 참조하세요.

VOD 애셋 컨디셔닝

DASH 기간과 HLS 세그먼트 사이의 광고 시점을 지원하는 매니페스트를 출력하도록 소스 인코더 및 트랜스코더를 구성합니다. Video Stitcher API는 광고 시점을 병합하기 위해 기간 또는 세그먼트를 분할하지 않으므로 광고 시점은 기간 및 세그먼트 경계에서만 병합됩니다.

VMAP 응답을 반환하는 광고 태그의 경우 VMAP에 지정된 각 광고 시점이 기간 또는 세그먼트 경계와 일치해야 합니다. 그렇지 않으면 광고 시점이 가장 가까운 경계에서 병합됩니다.

HLS의 광고 시점 불일치 방지

VOD 병합의 경우 사전에 미드롤 광고 시점의 소스 동영상 매니페스트에 조건을 지정하고 사전 조건이 지정된 오프셋 위치에서 미드롤 광고 시점을 반환하도록 동영상 다중 광고 재생목록(VMAP) 광고 태그를 구성해야 합니다. Video Stitcher API는 트랜스코딩된 출력의 결과를 가져와 광고를 지정한 위치에 최대한 가깝게 삽입할 수 있습니다 사전에 조건이 지정된 미드롤 광고 시점 입력을 사용하여 광고 병합 동작을 일관되고 정확하게 합니다.

예를 들어 다음 동영상 재생목록에서는 7초 지점의 광고 게재위치 기회를 보여줍니다.

#EXTM3U

#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:4

#EXTINF:2.0
../video/180_250000/hls/segment_0.ts
#EXTINF:2.0
../video/180_250000/hls/segment_1.ts
#EXTINF:2.0
../video/180_250000/hls/segment_2.ts
#EXTINF:1.0
../video/180_250000/hls/segment_3.ts
#EXT-X-PLACEMENT-OPPORTUNITY
#EXTINF:2.0
../video/180_250000/hls/segment_4.ts

다음 오디오 재생목록에서는 7초 지점의 광고 게재위치 기회를 보여줍니다.

#EXTM3U

#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:4

#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_0.ts
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_1.ts
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_2.ts
#EXTINF:1.03
../audio/1_stereo_128000/hls/segment_3.ts
#EXT-X-PLACEMENT-OPPORTUNITY
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_4.ts

다음 VMAP 구성에서는 7초 지점에서 발생할 광고 시점을 지정합니다. 동영상 및 오디오 재생목록에는 정확히 7초 지점의 광고 시점이 포함됩니다.

<vmap:VMAP xmlns:vmap="http://www.iab.net/videosuite/vmap" version="1.0">
  <vmap:AdBreak timeOffset="00:00:07.000" breakType="linear" breakId="midroll‑1">
    <vmap:AdSource id="midroll-1‑ad‑1" allowMultipleAds="false" followRedirects="true">
      <vmap:AdTagURI templateType="vast3">
      <![CDATA[
      https://securepubads.g.doubleclick.net/gampad/ads?...
      ]]>
      </vmap:AdTagURI>
    </vmap:AdSource>
  </vmap:AdBreak>
</vmap:VMAP>

라이브 및 VOD 애셋에 다중 기간 DASH 매니페스트 사용

단일 기간이 아닌 여러 기간으로 DASH 매니페스트를 출력하도록 소스 인코더 및 트랜스코더를 구성합니다. VOD 컨디셔닝과 비슷한 이유로 Video Stitcher API는 광고 시점을 병합하기 위해 기간을 분할하지 않으므로 여러 기간이 포함된 DASH 매니페스트는 예상 기간에 광고 시점을 병합할 기회가 더 많아집니다.

ISOBMFF 자막 캡슐화

DASH 매니페스트 자막은 대부분의 미디어 플레이어와 호환되도록 MP4와 같은 ISO 기본 미디어 파일 형식(ISOBMFF)으로 캡슐화되어야 합니다.

일정한 비트 전송률 사용

라이브 스트림의 안정적인 재생 환경을 보장하려면 스트림 매니페스트를 출력할 때 일정한 비트 전송률을 사용하도록 소스 인코더나 트랜스코더를 구성합니다. 이렇게 하면 Video Stitcher API가 매니페스트에 지정된 인코딩 프로필과 일치하도록 광고를 보다 일관되게 병합할 수 있습니다.

지원되는 광고 마커 사용

광고 마커 문서를 참조하여 지원되는 광고 마커, 광고 시점이 성공적으로 병합되도록 소스 인코더 또는 트랜스코더가 광고 마커를 출력하는 방법을 이해합니다.

소스 재생 확인

라이브 및 VOD 스트림의 안정적인 재생 환경을 보장하려면 Video Stitcher API로 병합하기 전에 널리 사용되는 클라이언트 플레이어를 사용하여 소스 스트림을 재생할 수 있는지 확인합니다.

HLS:

DASH:

CDN 키 관리

소스 미디어가 URL 서명으로 보호되는 경우 CDN 키를 Video Stitcher API로 등록해야 합니다. 그러면 API로 다음을 수행할 수 있습니다.

  • 병합을 위한 소스 동영상 매니페스트 가져오기
  • 플레이어가 재생할 동영상 세그먼트를 가져올 수 있도록 소스 동영상 세그먼트에 서명하기

자세한 내용은 CDN 키 관리를 참조하세요.

Media CDN 설정

미디어 애셋을 배포하도록 Media CDN을 설정하려면 Media CDN 빠른 시작을 참조하세요.

매니페스트 및 미디어 세그먼트에 대해 적합한 TTL로 개별 경로를 구성합니다. 자세한 내용과 예시는 Media CDN 고급 라우팅 가이드를 참조하세요.

경로에 비공개 Cloud Storage 원점이 사용되는 경우 비공개 Cloud Storage 버킷 사용을 참조하세요. 특히 이러한 경로의 캐시 모드를 FORCE_CACHE_ALL로 설정합니다.

HTTPS 설정에 대한 안내는 SSL(TLS) 인증서 구성을 참조하세요.

Media CDN 서명된 요청

서명된 요청이 사용 설정된 Media CDN을 사용하려면 서명된 요청 사용을 참조하고, 다음을 수행합니다.

  1. 비대칭 키 쌍을 만듭니다. Video Stitcher API와 호환되는 비공개 키 만들기에 대한 자세한 내용은 Media CDN의 비공개 키 만들기를 참조하세요.

  2. Video Stitcher API로 비공개 미디어 CDN 키를 등록합니다.

장기 실행 라이브 세션 기간 한도

LiveSession 리소스는 재생목록 요청이 없으면 5분이 경과하지 않는 한 만료되지 않습니다. 하지만 모든 재생 URI에는 최대 180일 전체 기간이 적용됩니다. 180일이 지난 후에도 재생을 계속하려면 새 라이브 세션을 만들어야 합니다. 신뢰성을 위해 최소 30일마다 새로운 라이브 세션을 만들어야 합니다.