In questa pagina viene spiegato come creare e gestire i clip del canale dell'API Live Stream. Un clip del canale è una risorsa secondaria di un canale. Puoi usare il clip di un canale per creare file video on demand (VOD) da un live streaming. Questi file VOD vengono salvati in Cloud Storage. Per ulteriori informazioni, consulta la pagina Creare clip VOD a partire da un live streaming.
Configura il progetto Google Cloud e l'autenticazione
Se non hai creato un progetto Google Cloud e le credenziali, consulta Prima di iniziare.Prerequisiti
Prima di creare un clip del canale, devi creare le risorse seguenti:
Creare un clip del canale
Assicurati di avviare il canale e di iniziare a trasmettere contenuti in streaming sul canale prima di creare un clip del canale.
Per creare un clip del canale, usa il metodo projects.locations.channels.clips.create
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: la località in cui si trova il tuo canale; utilizza una delle regioni supportateMostra localitàus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: un identificatore del canale definito dall'utenteCLIP_ID
: un identificatore definito dall'utente per il clip VOD.MARK_IN_TIME
: l'ora di inizio di un'epoca Unix nel manifest del live streaming originale; utilizza un timestamp nel formato "Zulu" RFC3339 UTC (ad esempio,2014-10-02T15:01:23Z
)MARK_OUT_TIME
: l'ora di Unix di mark-out nel file manifest del live streaming originale; utilizza un timestamp nel formato RFC3339 UTC "Zulu" (ad esempio,2014-10-02T15:01:23Z
)BUCKET_NAME
: il nome del bucket Cloud Storage creato per contenere il manifest dei clip VOD e i file dei segmenti; puoi utilizzare lo stesso bucket che hai creato per il manifest del live streaming o un bucket diverso; puoi anche aggiungere un nome di directory al nome del bucket (ad esempiomy-bucket/vod-clip
)
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Questo comando crea un'operazione a lunga esecuzione (LRO) che puoi utilizzare per monitorare l'avanzamento della richiesta. Per ulteriori informazioni, vedi Gestire le operazioni a lunga esecuzione .
Visualizza i dettagli dei clip del canale
Per vedere i dettagli del clip di un canale, usa il metodo projects.locations.channels.clips.get
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: la località in cui si trova il tuo canale; utilizza una delle regioni supportateMostra localitàus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: un identificatore del canale definito dall'utenteCLIP_ID
: un identificatore definito dall'utente per il clip VOD.
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "outputUri": "gs://BUCKET_NAME", "slices": [ { "timeSlice": { "markinTime": "MARK_IN_TIME", "markoutTime": "MARK_OUT_TIME" } } ], "features": {}, "clipManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/main.m3u8" } ] }
Sono disponibili solo i 1000 record di job di clip più recenti per canale
utilizzando il metodo
projects.locations.channels.clips.get
. Tutti i record di job di clip antecedenti il limite vengono rimossi. Devi gestire i file di clip generati specificati dall'outputUri
; l'API Live Stream non elimina questi file da Cloud Storage.
Elenca clip del canale
Per elencare tutti i clip del canale che hai creato per un canale, usa il metodo projects.locations.channels.clips.list
.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: la località in cui si trova il tuo canale; utilizza una delle regioni supportateMostra localitàus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-northeast1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: un identificatore del canale definito dall'utente
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "clips": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/CLIP_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "outputUri": "gs://BUCKET_NAME", "slices": [ { "timeSlice": { "markinTime": "MARK_IN_TIME", "markoutTime": "MARK_OUT_TIME" } } ], "features": {}, "clipManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/main.m3u8" } ] }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/clips/my-clip2", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "outputUri": "gs://BUCKET_NAME", "slices": [ { "timeSlice": { "markinTime": "MARK_IN_TIME", "markoutTime": "MARK_OUT_TIME" } } ], "features": {}, "clipManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/main.m3u8" } ] } ] }