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:
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 SettingsLOCATION
: lokasi tempat channel Anda berada; gunakan salah satu region yang didukungMenampilkan lokasius-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 saluranDVR_SESSION_ID
: ID yang ditentukan pengguna untuk sesi DVRINTERVAL_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 SettingsLOCATION
: lokasi tempat channel Anda berada; gunakan salah satu region yang didukungMenampilkan lokasius-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 saluranDVR_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 SettingsLOCATION
: lokasi tempat channel Anda berada; gunakan salah satu region yang didukungMenampilkan lokasius-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 saluranDVR_SESSION_ID
: ID yang ditentukan pengguna untuk sesi DVRINTERVAL_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 SettingsLOCATION
: lokasi tempat channel Anda berada; gunakan salah satu region yang didukungMenampilkan lokasius-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 SettingsLOCATION
: lokasi tempat channel Anda berada; gunakan salah satu region yang didukungMenampilkan lokasius-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 saluranDVR_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.