Membuat dan mengelola sesi DVR

Halaman ini menunjukkan cara membuat dan mengelola sesi perekam video digital (DVR) Live Stream API. Sesi DVR adalah sub-resource channel. Anda dapat menggunakan sesi DVR untuk merekam live stream mendatang. Untuk informasi selengkapnya, lihat panduan terpisah Membuat sesi DVR.

Menyiapkan autentikasi dan project Google Cloud Anda

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

Prasyarat

Anda harus membuat resource berikut sebelum membuat sesi DVR:

  1. Membuat endpoint input

  2. Membuat saluran dengan konfigurasi retensi dan kunci manifes

Membuat sesi DVR

Untuk membuat sesi DVR, gunakan metode projects.locations.channels.dvrSessions.create.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Project number di halaman IAM Settings
  • LOCATION: lokasi tempat channel Anda berada; gunakan salah satu region yang didukung
    Menampilkan lokasi
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-south1
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-north1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
  • CHANNEL_ID: ID yang ditentukan pengguna untuk saluran
  • DVR_SESSION_ID: ID yang ditentukan pengguna untuk sesi DVR
  • INTERVAL_START_TIME: waktu epoch Unix tanda masuk dalam manifes live stream asli; menggunakan stempel waktu dalam format "Zulu" UTC RFC3339 (misalnya, 2014-10-02T15:01:23Z)
  • INTERVAL_END_TIME: waktu epoch Unix yang ditandai dalam manifes live stream asli; menggunakan stempel waktu dalam format "Zulu" UTC RFC3339 (misalnya, 2014-10-02T15:01:23Z)

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/dvrSessions/DVR_SESSION_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

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

Mendapatkan detail sesi DVR

Untuk mendapatkan detail sesi DVR, gunakan metode projects.locations.channels.dvrSessions.get.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Project number di halaman IAM Settings
  • LOCATION: lokasi tempat channel Anda berada; gunakan salah satu region yang didukung
    Menampilkan lokasi
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-south1
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-north1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
  • CHANNEL_ID: ID yang ditentukan pengguna untuk saluran
  • DVR_SESSION_ID: ID yang ditentukan pengguna untuk sesi DVR

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/dvrSessions/DVR_SESSION_ID",
  "createTime": CREATE_TIME,
  "startTime": START_TIME,
  "updateTime": UPDATE_TIME,
  "state": "SUCCEEDED",
  "dvrManifests": [
    {
      "manifestKey": "manifest_hls",
      "outputUri": "gs://BUCKET_NAME/dvr/DVR_SESSION_ID/main.m3u8"
    }
  ],
  "dvrWindows": [
    {
      "timeInterval": {
        "startTime": "INTERVAL_START_TIME",
        "endTime": "INTERVAL_END_TIME"
      }
    }
  ]
}

Sesi DVR dan manifes yang dihasilkan akan dihapus saat segmen pertama berakhir masa berlakunya sesuai dengan retentionConfig saluran induk. Jika Anda ingin sesi berlangsung lebih dari periode retensi yang dikonfigurasi, buat klip saluran.

Memperbarui sesi DVR

Untuk memperbarui sesi DVR, gunakan metode projects.locations.channels.dvrSessions.patch.

Contoh berikut memperbarui periode waktu DVR yang digunakan oleh sesi DVR. Tidak semua kolom dapat diperbarui; lihat daftar kolom yang didukung.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Project number di halaman IAM Settings
  • LOCATION: lokasi tempat channel Anda berada; gunakan salah satu region yang didukung
    Menampilkan lokasi
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-south1
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-north1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
  • CHANNEL_ID: ID yang ditentukan pengguna untuk saluran
  • DVR_SESSION_ID: ID yang ditentukan pengguna untuk sesi DVR
  • INTERVAL_START_TIME: waktu epoch Unix tanda masuk dalam manifes live stream asli; menggunakan stempel waktu dalam format "Zulu" UTC RFC3339 (misalnya, 2014-10-02T15:01:23Z)
  • INTERVAL_END_TIME: waktu epoch Unix yang ditandai dalam manifes live stream asli; menggunakan stempel waktu dalam format "Zulu" UTC RFC3339 (misalnya, 2014-10-02T15:01:23Z)

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/dvrSessions/DVR_SESSION_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

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

Permintaan update ditolak jika status sesi DVR adalah LIVE dan update dapat menimpa manifes DVR saat ini. Satu-satunya pengecualian untuk hal ini adalah saat pembaruan membuat sesi DVR lebih singkat (misalnya, mengubah waktu berakhir menjadi sekarang atau beberapa waktu sebelumnya); dalam hal ini, sesi DVR akan langsung berhenti dan sesi DVR akan beralih ke status COOLDOWN. Setelah periode tunggu 60 detik, manifes DVR akan ditimpa untuk mencerminkan waktu mulai dan waktu berakhir yang diperbarui.

Mencantumkan sesi DVR

Untuk mencantumkan semua sesi DVR yang Anda buat untuk saluran, gunakan metode projects.locations.channels.dvrSessions.list.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Project number di halaman IAM Settings
  • LOCATION: lokasi tempat channel Anda berada; gunakan salah satu region yang didukung
    Menampilkan lokasi
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-south1
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-north1
    • 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 seperti berikut:

{
  "dvrSessions": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID",
      "createTime": CREATE_TIME,
      "startTime": START_TIME,
      "updateTime": UPDATE_TIME,
      "state": "SCHEDULED",
      "dvrManifests":[
        {
          "manifestKey": "manifest_hls",
          "outputUri": "gs://BUCKET_NAME/dvr/DVR_SESSION_ID/main.m3u8"
        }
      ],
      "dvrWindows":[
        {
          "timeInterval": {
            "startTime": "INTERVAL_START_TIME",
            "endTime": "INTERVAL_END_TIME"
          }
        }
      ]
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/my-other-DVR-session",
      "createTime": CREATE_TIME,
      "startTime": START_TIME,
      "updateTime": UPDATE_TIME,
      "state": "SCHEDULED",
      "dvrManifests":[
        {
          "manifestKey": "manifest_hls2",
          "outputUri": "gs://BUCKET_NAME/dvr/my-other-DVR-session/main.m3u8"
        }
      ],
      "dvrWindows":[
        {
          "timeInterval": {
            "startTime": "INTERVAL_START_TIME",
            "endTime": "INTERVAL_END_TIME"
          }
        }
      ]
    },
  ]
}

Menghapus sesi DVR

Untuk menghapus sesi DVR, gunakan metode projects.locations.channels.dvrSessions.delete. Metode ini menghapus tugas sesi DVR dan manifes yang dihasilkan. Resource yang dibuat di bucket Cloud Storage akan dihapus sesuai dengan konfigurasi retensi.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_NUMBER: nomor project Google Cloud Anda; nomor ini berada di kolom Project number di halaman IAM Settings
  • LOCATION: lokasi tempat channel Anda berada; gunakan salah satu region yang didukung
    Menampilkan lokasi
    • us-central1
    • us-east1
    • us-east4
    • us-west1
    • us-west2
    • northamerica-northeast1
    • southamerica-east1
    • asia-east1
    • asia-east2
    • asia-south1
    • asia-northeast1
    • asia-southeast1
    • australia-southeast1
    • europe-north1
    • europe-west1
    • europe-west2
    • europe-west3
    • europe-west4
  • CHANNEL_ID: ID yang ditentukan pengguna untuk saluran
  • DVR_SESSION_ID: ID yang ditentukan pengguna untuk sesi DVR

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/dvrSessions/DVR_SESSION_ID",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

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