VOD 소스 파일 만들기

자체 주문형 동영상(VOD) 애셋이 아직 없으면 Transcoder API를 사용해서 Video Stitcher API에 사용할 수 있는 VOD 매니페스트 및 세그먼트 파일을 만들 수 있습니다. 이 기능은 완전히 선택사항입니다.

VOD 매니페스트는 VOD 구성에서 소스 URI로 사용됩니다. DASH 및 HLS 형식이 모두 지원됩니다.

다음은 VOD 파일을 만들기 위해 Transcoder API에 사용할 수 있는 작업 구성 예시입니다. 자세한 내용은 임시 구성으로 작업 만들기를 참조하세요. Google Cloud 프로젝트에서 Transcoder API를 사용 설정해야 합니다. 자세한 내용은 시작하기 전에를 참조하세요.

{
  "config":{
    "inputs":[
      {
        "key":"input0",
        "uri":"gs://STORAGE_BUCKET_NAME/STORAGE_INPUT_VIDEO"
      }
    ],
    "output":{
      "uri":"gs://STORAGE_BUCKET_NAME/STORAGE_OUTPUT_FOLDER/"
    },
    "editList":[
      {
        "key":"atom0",
        "inputs":[
          "input0"
        ]
      }
    ],
    "elementaryStreams":[
      {
        "key":"video_hd",
        "videoStream":{
          "h264":{
            "heightPixels":720,
            "widthPixels":1280,
            "pixelFormat":"yuv420p",
            "bitrateBps":5000000,
            "frameRate":25
          }
        }
      },
      {
        "key":"video_sd",
        "videoStream":{
          "h264":{
            "heightPixels":432,
            "widthPixels":768,
            "pixelFormat":"yuv420p",
            "bitrateBps":1100000,
            "frameRate":25
          }
        }
      },
      {
        "key":"video_sd_low",
        "videoStream":{
          "h264":{
            "heightPixels":360,
            "widthPixels":640,
            "pixelFormat":"yuv420p",
            "bitrateBps":365000,
            "frameRate":25
          }
        }
      },
      {
        "key":"audio_stereo",
        "audioStream":{
          "codec":"aac",
          "bitrateBps":64000,
          "channelCount":2,
          "channelLayout":[
            "fl",
            "fr"
          ],
          "sampleRateHertz":48000
        }
      }
    ],
    "muxStreams":[
      {
        "key":"hd",
        "container":"mp4",
        "elementaryStreams":[
          "video_hd",
          "audio_stereo"
        ],
        "segmentSettings":{
          "segmentDuration":"6s",
          "individualSegments":true
        }
      },
      {
        "key":"sd",
        "container":"mp4",
        "elementaryStreams":[
          "video_sd",
          "audio_stereo"
        ],
        "segmentSettings":{
          "segmentDuration":"6s",
          "individualSegments":true
        }
      },
      {
        "key":"sd_low",
        "container":"mp4",
        "elementaryStreams":[
          "video_sd_low",
          "audio_stereo"
        ],
        "segmentSettings":{
          "segmentDuration":"6s",
          "individualSegments":true
        }
      },
      {
        "key":"media_hd",
        "container":"ts",
        "elementaryStreams":[
          "video_hd",
          "audio_stereo"
        ],
        "segmentSettings":{
          "segmentDuration":"6s",
          "individualSegments":true
        }
      },
      {
        "key":"media_sd",
        "container":"ts",
        "elementaryStreams":[
          "video_sd",
          "audio_stereo"
        ],
        "segmentSettings":{
          "segmentDuration":"6s",
          "individualSegments":true
        }
      },
      {
        "key":"media_sd_low",
        "container":"ts",
        "elementaryStreams":[
          "video_sd_low",
          "audio_stereo"
        ],
        "segmentSettings":{
          "segmentDuration":"6s",
          "individualSegments":true
        }
      },
      {
        "key":"video_only_hd",
        "container":"fmp4",
        "elementaryStreams":[
          "video_hd"
        ],
        "segmentSettings":{
          "segmentDuration":"6s",
          "individualSegments":true
        }
      },
      {
        "key":"video_only_sd",
        "container":"fmp4",
        "elementaryStreams":[
          "video_sd"
        ],
        "segmentSettings":{
          "segmentDuration":"6s",
          "individualSegments":true
        }
      },
      {
        "key":"video_only_sd_low",
        "container":"fmp4",
        "elementaryStreams":[
          "video_sd_low"
        ],
        "segmentSettings":{
          "segmentDuration":"6s",
          "individualSegments":true
        }
      },
      {
        "key":"audio_only",
        "container":"fmp4",
        "elementaryStreams":[
          "audio_stereo"
        ],
        "segmentSettings":{
          "segmentDuration":"6s",
          "individualSegments":true
        }
      }
    ],
    "manifests":[
      {
        "type":"HLS",
        "fileName":"manifest.m3u8",
        "muxStreams":[
          "media_hd",
          "media_sd",
          "media_sd_low"
        ]
      },
      {
        "type":"DASH",
        "fileName":"manifest.mpd",
        "muxStreams":[
          "video_only_hd",
          "video_only_sd",
          "video_only_sd_low",
          "audio_only"
        ]
      }
    ]
  }
}