Creare e gestire i clip del canale

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:

  1. Crea un endpoint di input

  2. Crea un canale con una configurazione di conservazione.

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 IAM
  • LOCATION: la località in cui si trova il tuo canale; utilizza una delle regioni supportate
    Mostra 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
  • CLIP_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 esempio my-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 IAM
  • LOCATION: la località in cui si trova il tuo canale; utilizza una delle regioni supportate
    Mostra 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
  • CLIP_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 IAM
  • LOCATION: la località in cui si trova il tuo canale; utilizza una delle regioni supportate
    Mostra 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"
          }
        ]
      }
  ]
}