Se non hai ancora un asset video on demand (VOD), puoi utilizzare l'API Transcoder per creare un manifest VOD e file di segmenti che possono essere utilizzati con l'API Video Stitcher. Questa opzione è completamente facoltativa.
Il manifest VOD viene utilizzato come URI di origine in un Configurazione VOD. Sia DASH che Sono supportati i formati HLS.
Di seguito è riportato un esempio di configurazione del job che puoi utilizzare l'API Transcoder per creare i file VOD. Per ulteriori informazioni, consulta la sezione Creare job con configurazioni ad hoc. Dovrai abilitare l'API Transcoder nel tuo account Google Cloud progetto; consulta Prima di iniziare per ulteriori informazioni.
{
"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"
]
}
]
}
}