Membuat dan mengelola klip channel

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

Siapkan autentikasi dan project Google Cloud Anda

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

Prasyarat

Anda harus membuat referensi berikut sebelum membuat klip channel:

  1. Membuat endpoint input

  2. Membuat saluran 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 metode projects.locations.channels.clips.create.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Nomor project pada halaman Setelan IAM
  • LOCATION: lokasi lokasi channel Anda; gunakan 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 ditetapkan pengguna untuk channel
  • CLIP_ID: ID yang ditetapkan pengguna untuk klip VOD
  • MARK_IN_TIME: waktu epoch mark-in Unix dalam manifes live stream asli; menggunakan stempel waktu dalam format "Zulu" RFC3339 UTC (misalnya, 2014-10-02T15:01:23Z)
  • MARK_OUT_TIME: waktu epoch Unix mark-out dalam manifes live stream asli; menggunakan stempel waktu dalam format "Zulu" RFC3339 UTC (misalnya, 2014-10-02T15:01:23Z)
  • BUCKET_NAME: nama bucket Cloud Storage 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 yang berbeda; Anda juga dapat menambahkan nama direktori 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 menghasilkan operasi yang berjalan lama (LRO) yang dapat digunakan untuk melacak progres permintaan Anda. Lihat Mengelola operasi yang berjalan lama untuk mengetahui informasi selengkapnya.

Mendapatkan detail klip channel

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

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Nomor project pada halaman Setelan IAM
  • LOCATION: lokasi lokasi channel Anda; gunakan 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 ditetapkan pengguna untuk channel
  • CLIP_ID: ID yang ditetapkan 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 catatan tugas klip terbaru per saluran yang tersedia menggunakan metode projects.locations.channels.clips.get. Semua catatan tugas klip yang lebih lama dari batas akan dihapus. Anda harus mengelola file klip yang dihasilkan yang ditentukan oleh outputUri. Live Stream API tidak akan menghapus file ini dari Cloud Storage.

Membuat daftar klip channel

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

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Nomor project pada halaman Setelan IAM
  • LOCATION: lokasi lokasi channel Anda; gunakan 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 ditetapkan pengguna untuk channel

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