Membuat dan mengelola klip channel

Halaman ini menunjukkan cara membuat dan mengelola klip channel Live Stream API. Klip channel adalah sub-resource dari sebuah channel. Anda dapat menggunakan klip channel untuk membuat file video on-demand (VOD) dari live stream. File VOD ini disimpan ke Cloud Storage. Untuk informasi selengkapnya, lihat Membuat klip VOD dari live stream.

Menyiapkan autentikasi dan project Google Cloud Anda

Jika Anda belum membuat Project Google Cloud dan kredensial, lihat Sebelum memulai.

Prasyarat

Anda harus membuat referensi berikut sebelum membuat klip channel:

  1. Membuat endpoint input

  2. Membuat channel dengan konfigurasi retensi

Membuat klip channel

Pastikan untuk memulai channel dan memulai streaming konten ke channel sebelum membuat klip channel.

Untuk membuat klip channel, gunakan projects.locations.channels.clips.create .

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: project Google Cloud Anda nomor; nomor ini terletak di kolom Project number di Halaman Setelan IAM
  • LOCATION: lokasi channel Anda berlokasi; menggunakan salah satu wilayah yang didukung
    Tampilkan lokasi
    • 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: ID yang ditentukan pengguna untuk saluran
  • CLIP_ID: ID yang ditentukan pengguna untuk klip VOD
  • MARK_IN_TIME: waktu epoch Unix mark-in di manifes live stream asli; menggunakan stempel waktu dalam RFC3339 UTC "Zulu" (misalnya, 2014-10-02T15:01:23Z)
  • MARK_OUT_TIME: waktu epoch Unix yang di-mark-out di manifes live stream asli; menggunakan stempel waktu dalam RFC3339 UTC "Zulu" (untuk contoh, 2014-10-02T15:01:23Z)
  • BUCKET_NAME: nama Cloud Storage bucket yang Anda buat untuk menyimpan manifes klip VOD dan file segmen; Anda dapat menggunakan bucket yang sama yang Anda buat untuk manifes live stream atau bucket berbeda; Anda juga dapat menambahkan direktori nama ke nama bucket (misalnya, my-bucket/vod-clip)

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "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
}

Perintah ini akan membuat operasi yang berjalan lama (LRO) yang dapat Anda gunakan untuk melacak perkembangan permintaan Anda. Lihat Mengelola operasi yang berjalan lama untuk mengetahui informasi selengkapnya.

Dapatkan detail klip channel

Untuk mendapatkan detail klip channel, gunakan projects.locations.channels.clips.get .

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: project Google Cloud Anda nomor; nomor ini terletak di kolom Project number di Halaman Setelan IAM
  • LOCATION: lokasi channel Anda berlokasi; menggunakan salah satu wilayah yang didukung
    Tampilkan lokasi
    • 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: ID yang ditentukan pengguna untuk saluran
  • CLIP_ID: ID yang ditentukan pengguna untuk klip VOD

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "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"
    }
  ]
}

Hanya 1.000 data tugas klip terbaru per channel yang tersedia menggunakan projects.locations.channels.clips.get . Semua catatan tugas klip yang lebih lama dari batas akan dihapus. Anda harus mengelola klip yang dihasilkan file yang ditentukan oleh outputUri; Live Stream API tidak menghapus file ini dari Cloud Storage.

Membuat daftar klip channel

Untuk membuat daftar semua klip channel yang Anda buat untuk sebuah channel, gunakan projects.locations.channels.clips.list .

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: project Google Cloud Anda nomor; nomor ini terletak di kolom Project number di Halaman Setelan IAM
  • LOCATION: lokasi channel Anda berlokasi; menggunakan salah satu wilayah yang didukung
    Tampilkan lokasi
    • 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: ID yang ditentukan pengguna untuk saluran

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip seperti berikut:

{
    "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"
          }
        ]
      }
  ]
}