Halaman ini menjelaskan cara mengonfigurasi teks yang dibuat AI dan teks yang diterjemahkan (yaitu, terjemahan) untuk live stream.
Teks dan terjemahan yang dibuat AI didukung untuk live stream HLS dan DASH.
Sebelum memulai
Halaman ini mengasumsikan bahwa Anda telah menyelesaikan langkah-langkah di bagian Sebelum memulai
pada
Panduan memulai untuk live stream HLS atau
Panduan memulai untuk live stream MPEG-DASH .
Lokasi yang didukung
Kode bahasa untuk teks buatan AI didukung berdasarkan per lokasi.
Tampilkan lokasi
Lokasi
Kode bahasa yang didukung
asia-northeast1
en-US
asia-south1
en-IN
en-GB
en-US
asia-southeast1
en-US
australia-southeast1
en-AU
europe-west1
da-DK
nl-NL
en-GB
en-US
fr-FR
de-DE
it-IT
es-ES
europe-west2
en-GB
europe-west3
da-DK
nl-NL
en-GB
en-US
fr-FR
de-DE
it-IT
es-ES
northamerica-northeast1
en-CA
fr-CA
us-central1
en-US
pt-BR
es-CO
es-MX
es-US
us-east1
en-US
pt-BR
es-CO
es-MX
es-US
us-west1
en-US
pt-BR
es-CO
es-MX
es-US
Fitur terjemahan buatan AI hanya didukung di us-west1
dan
europe-west1
.
Gunakan us-west1
atau europe-west1
untuk semua permintaan API di halaman ini.
Untuk membuat endpoint input, gunakan metode
projects.locations.inputs.create
.
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda; nomor ini ada di kolom Project number di halaman
IAM Settings
LOCATION
: lokasi tempat membuat endpoint
input; gunakan salah satu region yang didukung
Tampilkan 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
INPUT_ID
: ID yang ditentukan pengguna untuk endpoint
input baru yang akan dibuat (tempat Anda mengirimkan aliran input). Nilai ini harus terdiri dari 1-63 karakter, diawali dan diakhiri dengan [a-z0-9]
, dan
dapat berisi tanda hubung (-) di antara karakter. Misalnya, my-input
.
Isi JSON permintaan:
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF'
{
"type": "RTMP_PUSH"
}
EOF
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /inputs?inputId=INPUT_ID "
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@'
{
"type": "RTMP_PUSH"
}
'@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /inputs?inputId=INPUT_ID " | Select-Object -Expand Content
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 /inputs/INPUT_ID ",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Salin OPERATION_ID yang ditampilkan untuk digunakan di bagian berikutnya.
Periksa hasilnya
Gunakan metode projects.locations.operations.get
untuk memeriksa apakah
endpoint input telah dibuat. Jika respons berisi "done: false"
,
ulangi perintah hingga respons berisi "done: true"
. Membuat endpoint input pertama di suatu region dapat memerlukan waktu hingga 10 menit.
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda; nomor ini ada di kolom Project number di halaman
IAM Settings
LOCATION
: lokasi tempat endpoint input Anda berada;
gunakan salah satu region yang didukung
Tampilkan 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
OPERATION_ID
: ID untuk operasi
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /operations/OPERATION_ID "
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /operations/OPERATION_ID " | Select-Object -Expand Content
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 ,
"endTime": END_TIME ,
"target": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID ",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.video.livestream.v1.Input",
"name": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID ",
"createTime": CREATE_TIME ,
"updateTime": UPDATE_TIME ,
"type": "RTMP_PUSH",
"uri": INPUT_STREAM_URI , # For example, "rtmp://1.2.3.4/live/b8ebdd94-c8d9-4d88-a16e-b963c43a953b",
"tier": "HD"
}
}
Temukan kolom uri
dan salin INPUT_STREAM_URI yang ditampilkan untuk digunakan nanti
di bagian Kirimkan aliran input .
Buat channel
Untuk membuat saluran, gunakan metode
projects.locations.channels.create
.
Perhatikan hal berikut dalam konfigurasi saluran:
ElementaryStream
, TextStream
, digunakan untuk teks.
{
"key" : "webvtt_english_ai" ,
"textStream" : {
"codec" : "webvtt" ,
"displayName" : "English (AI captioned)" ,
"languageCode" : "en-US" ,
"mapping" : [
{
"inputTrack" : 1 // audio track number
}
]
}
}
Kolom TextStream
codec
harus ditetapkan ke webvtt
.
Kolom TextStream
mapping
menggunakan
inputTrack
untuk menetapkan trek audio
input yang akan digunakan untuk membuat teks. Pemetaan tidak boleh menyertakan kolom
inputCeaChannel
, yang hanya digunakan untuk teks tertutup yang disediakan pengguna.
Setel languageCode
ke bahasa yang digunakan dalam trek audio.
Aliran elementer digunakan untuk membuat MuxStream
dengan kunci
vtt_english_ai
.
{
"key" : "vtt_english_ai" ,
"container" : "vtt" ,
"elementaryStreams" : [
"webvtt_english_ai"
],
"segmentSettings" : {
"segmentDuration" : "2s"
}
}
Kemudian, stream mux ini dirujuk dalam manifes HLS dan DASH.
{
"fileName" : "main.m3u8" ,
"type" : "HLS" ,
"muxStreams" : [
"mux_video_ts" ,
"vtt_english_ai"
],
"maxSegmentCount" : 5
}
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda; nomor ini ada di kolom Project number di halaman
IAM Settings
LOCATION
: lokasi tempat membuat
channel; gunakan salah satu region yang didukung
Tampilkan 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 channel yang akan
dibuat; nilai ini harus terdiri dari 1-63 karakter, diawali dan diakhiri dengan [a-z0-9]
, dan
dapat berisi tanda hubung (-) di antara karakter
INPUT_ID
: ID yang ditentukan pengguna untuk
endpoint input
BUCKET_NAME
: nama bucket Cloud Storage yang Anda buat untuk menyimpan file segmen dan manifes live stream
Meminta isi JSON:
{
"inputAttachments": [
{
"key": "my-input",
"input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID "
}
],
"output": {
"uri": "gs://BUCKET_NAME "
},
"elementaryStreams": [
{
"key": "es_video",
"videoStream": {
"h264": {
"profile": "high",
"widthPixels": 1280,
"heightPixels": 720,
"bitrateBps": 3000000,
"frameRate": 30
}
}
},
{
"key": "es_audio",
"audioStream": {
"codec": "aac",
"channelCount": 2,
"bitrateBps": 160000
}
},
{
"key": "webvtt_english_ai",
"textStream": {
"codec": "webvtt",
"displayName": "English (AI captioned)",
"languageCode": "en-US",
"mapping": [
{
"inputTrack": 1
}
]
}
}
],
"muxStreams": [
{
"key": "mux_video_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_video"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_audio_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_video_ts",
"container": "ts",
"elementaryStreams": [
"es_video",
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "vtt_english_ai",
"container": "vtt",
"elementaryStreams": [
"webvtt_english_ai"
],
"segmentSettings": {
"segmentDuration": "2s"
}
}
],
"manifests": [
{
"key": "manifest_dash",
"fileName": "main.mpd",
"type": "DASH",
"muxStreams": [
"mux_video_fmp4",
"mux_audio_fmp4",
"vtt_english_ai"
],
"maxSegmentCount": 5
},
{
"key": "manifest_hls",
"fileName": "main.m3u8",
"type": "HLS",
"muxStreams": [
"mux_video_ts",
"vtt_english_ai"
],
"maxSegmentCount": 5
}
]
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF'
{
"inputAttachments": [
{
"key": "my-input",
"input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID "
}
],
"output": {
"uri": "gs://BUCKET_NAME "
},
"elementaryStreams": [
{
"key": "es_video",
"videoStream": {
"h264": {
"profile": "high",
"widthPixels": 1280,
"heightPixels": 720,
"bitrateBps": 3000000,
"frameRate": 30
}
}
},
{
"key": "es_audio",
"audioStream": {
"codec": "aac",
"channelCount": 2,
"bitrateBps": 160000
}
},
{
"key": "webvtt_english_ai",
"textStream": {
"codec": "webvtt",
"displayName": "English (AI captioned)",
"languageCode": "en-US",
"mapping": [
{
"inputTrack": 1
}
]
}
}
],
"muxStreams": [
{
"key": "mux_video_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_video"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_audio_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_video_ts",
"container": "ts",
"elementaryStreams": [
"es_video",
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "vtt_english_ai",
"container": "vtt",
"elementaryStreams": [
"webvtt_english_ai"
],
"segmentSettings": {
"segmentDuration": "2s"
}
}
],
"manifests": [
{
"key": "manifest_dash",
"fileName": "main.mpd",
"type": "DASH",
"muxStreams": [
"mux_video_fmp4",
"mux_audio_fmp4",
"vtt_english_ai"
],
"maxSegmentCount": 5
},
{
"key": "manifest_hls",
"fileName": "main.m3u8",
"type": "HLS",
"muxStreams": [
"mux_video_ts",
"vtt_english_ai"
],
"maxSegmentCount": 5
}
]
}
EOF
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels?channelId=CHANNEL_ID "
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@'
{
"inputAttachments": [
{
"key": "my-input",
"input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID "
}
],
"output": {
"uri": "gs://BUCKET_NAME "
},
"elementaryStreams": [
{
"key": "es_video",
"videoStream": {
"h264": {
"profile": "high",
"widthPixels": 1280,
"heightPixels": 720,
"bitrateBps": 3000000,
"frameRate": 30
}
}
},
{
"key": "es_audio",
"audioStream": {
"codec": "aac",
"channelCount": 2,
"bitrateBps": 160000
}
},
{
"key": "webvtt_english_ai",
"textStream": {
"codec": "webvtt",
"displayName": "English (AI captioned)",
"languageCode": "en-US",
"mapping": [
{
"inputTrack": 1
}
]
}
}
],
"muxStreams": [
{
"key": "mux_video_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_video"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_audio_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_video_ts",
"container": "ts",
"elementaryStreams": [
"es_video",
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "vtt_english_ai",
"container": "vtt",
"elementaryStreams": [
"webvtt_english_ai"
],
"segmentSettings": {
"segmentDuration": "2s"
}
}
],
"manifests": [
{
"key": "manifest_dash",
"fileName": "main.mpd",
"type": "DASH",
"muxStreams": [
"mux_video_fmp4",
"mux_audio_fmp4",
"vtt_english_ai"
],
"maxSegmentCount": 5
},
{
"key": "manifest_hls",
"fileName": "main.m3u8",
"type": "HLS",
"muxStreams": [
"mux_video_ts",
"vtt_english_ai"
],
"maxSegmentCount": 5
}
]
}
'@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels?channelId=CHANNEL_ID " | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Respons
{
"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 ",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Mendapatkan channel
Anda dapat memeriksa hasil operasi menggunakan ID operasi
yang baru.
Setelah channel dibuat, gunakan metode
projects.locations.channels.get
untuk mengkueri status
channel.
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda; nomor ini ada di kolom Project number di halaman
IAM Settings
LOCATION
: lokasi tempat channel Anda berada;
gunakan salah satu region yang didukung
Tampilkan 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 channel
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID "
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID " | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"name": "projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID ",
"createTime": CREATE_TIME ,
"updateTime": UPDATE_TIME ,
"inputAttachments": [
{
"key": "INPUT_ID ",
"input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID "
}
],
"activeInput": "INPUT_ID ",
"output": {
"uri": "gs://BUCKET_NAME "
},
"elementaryStreams": [
{
"key": "es_video",
"videoStream": {
"h264": {
"profile": "high",
"widthPixels": 1280,
"heightPixels": 720,
"bitrateBps": 3000000,
"frameRate": 30
}
}
},
{
"key": "es_audio",
"audioStream": {
"codec": "aac",
"channelCount": 2,
"bitrateBps": 160000
}
},
{
"key": "webvtt_english_ai",
"textStream": {
"codec": "webvtt",
"displayName": "English (AI captioned)",
"languageCode": "en-US",
"mapping": [
{
"inputTrack": 1
}
]
}
}
],
"muxStreams": [
{
"key": "mux_video_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_video"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_audio_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_video_ts",
"container": "ts",
"elementaryStreams": [
"es_video",
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "vtt_english_ai",
"container": "vtt",
"elementaryStreams": [
"webvtt_english_ai"
],
"segmentSettings": {
"segmentDuration": "2s"
}
}
],
"manifests": [
{
"key": "manifest_dash",
"fileName": "main.mpd",
"type": "DASH",
"muxStreams": [
"mux_video_fmp4",
"mux_audio_fmp4",
"vtt_english_ai"
],
"maxSegmentCount": 5
},
{
"key": "manifest_hls",
"fileName": "main.m3u8",
"type": "HLS",
"muxStreams": [
"mux_video_ts",
"vtt_english_ai"
],
"maxSegmentCount": 5
}
],
"streamingState": "STOPPED"
}
Respons lengkap berisi kolom berikut:
{
...
"streamingState": "STOPPED"
...
}
Respons ini menunjukkan bahwa Anda kini dapat memulai channel.
Mulai channel
Gunakan metode projects.locations.channels.start
untuk memulai
channel. Channel harus dimulai sebelum dapat menerima aliran input atau membuat aliran output.
Memulai channel pertama di suatu region memerlukan waktu sekitar 10 menit.
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda; nomor ini ada di kolom Project number di halaman
IAM Settings
LOCATION
: lokasi tempat channel Anda berada;
gunakan salah satu region yang didukung
Tampilkan 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 channel
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID :start"
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID :start" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"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 ",
"verb": "start",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Untuk menentukan apakah channel telah dimulai, dapatkan informasi channel
seperti yang dilakukan sebelumnya. Respons harus berisi hal berikut:
{
...
"streamingState": "AWAITING_INPUT"
...
}
Setelah channel siap, kirim aliran input ke endpoint input
untuk membuat live stream. Anda dapat mendownload MP4 (atau
TEST_VOD_FILE lainnya) dengan teks dan
menggunakan ffmpeg
untuk mengirimkannya ke endpoint input.
Buka jendela terminal baru. Jalankan perintah berikut, menggunakan
INPUT_STREAM_URI dari bagian
Periksa hasilnya :
ffmpeg -re -stream_loop -1 -i "TEST_VOD_FILE " \
-c:v copy -c:a aac -strict 2 -f "flv" "INPUT_STREAM_URI "
Catatan: Gunakan format flv
jika endpoint input menggunakan protokol RTMP. Gunakan
mpegts
untuk protokol SRT.
Verifikasi teks dalam manifes output
Jalankan perintah berikut untuk melihat isi manifes HLS yang dihasilkan:
gcloud storage cat gs://BUCKET_NAME /main.m3u8
Teks bahasa Inggris webvtt yang dibuat AI muncul di manifes output
mirip dengan berikut ini:
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="sub",LANGUAGE="en-US",NAME="English (AI captioned)",AUTOSELECT=YES,DEFAULT=YES,FORCED=NO,URI="vtt_english_ai/index-1.m3u8"
Menghentikan channel
Anda harus menghentikan channel sebelum memperbarui konfigurasi channel.
Gunakan metode
projects.locations.channels.stop
untuk menghentikan saluran.
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda; nomor ini ada di kolom Project number di halaman
IAM Settings
LOCATION
: lokasi tempat channel Anda berada;
gunakan salah satu region yang didukung
Tampilkan 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 channel
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID :stop"
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID :stop" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"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 ",
"verb": "stop",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Memperbarui konfigurasi channel untuk terjemahan
Perbarui konfigurasi channel untuk menyertakan teks terjemahan (yaitu, terjemahan).
Perhatikan penambahan berikut pada konfigurasi channel:
Satu
ElementaryStream
, TextStream
, digunakan
untuk teks dalam satu bahasa terjemahan.
{
"key" : "webvtt_spanish_ai" ,
"textStream" : {
"codec" : "webvtt" ,
"displayName" : "Spanish (AI captioned)" ,
"languageCode" : "es-MX" ,
"mapping" : [
{
"inputTrack" : 1 , // audio track number
"fromLanguageCode" : "en-US" // original audio in English
}
]
}
}
Tetapkan languageCode
ke bahasa terjemahan yang dipilih.
Setel fromLanguageCode
ke
bahasa sumber asli dalam trek audio.
Aliran elementer digunakan untuk membuat MuxStream
dengan kunci
vtt_spanish_ai
.
{
"key" : "vtt_spanish_ai" ,
"container" : "vtt" ,
"elementaryStreams" : [
"webvtt_spanish_ai"
],
"segmentSettings" : {
"segmentDuration" : "2s"
}
}
Kemudian, stream mux ini dirujuk dalam manifes HLS dan DASH.
{
"fileName" : "main.m3u8" ,
"type" : "HLS" ,
"muxStreams" : [
"mux_video_ts" ,
"vtt_english_ai" ,
"vtt_spanish_ai"
],
"maxSegmentCount" : 5
}
Untuk memperbarui saluran, gunakan metode
projects.locations.channels.patch
.
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda; nomor ini ada di kolom Project number di halaman
IAM Settings
LOCATION
: lokasi tempat membuat
channel; gunakan salah satu region yang didukung
Tampilkan 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 channel yang akan
dibuat; nilai ini harus terdiri dari 1-63 karakter, diawali dan diakhiri dengan [a-z0-9]
, dan
dapat berisi tanda hubung (-) di antara karakter
Meminta isi JSON:
{
"inputAttachments": [
{
"key": "my-input",
"input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID "
}
],
"output": {
"uri": "gs://BUCKET_NAME "
},
"elementaryStreams": [
{
"key": "es_video",
"videoStream": {
"h264": {
"profile": "high",
"widthPixels": 1280,
"heightPixels": 720,
"bitrateBps": 3000000,
"frameRate": 30
}
}
},
{
"key": "es_audio",
"audioStream": {
"codec": "aac",
"channelCount": 2,
"bitrateBps": 160000
}
},
{
"key": "webvtt_english_ai",
"textStream": {
"codec": "webvtt",
"displayName": "English (AI captioned)",
"languageCode": "en-US",
"mapping": [
{
"inputTrack": 1
}
]
}
},
{
"key": "webvtt_spanish_ai",
"textStream": {
"codec": "webvtt",
"displayName": "Spanish (AI captioned)",
"languageCode": "es-MX",
"mapping": [
{
"inputTrack": 1,
"fromLanguageCode": "en-US"
}
]
}
}
],
"muxStreams": [
{
"key": "mux_video_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_video"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_audio_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_video_ts",
"container": "ts",
"elementaryStreams": [
"es_video",
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "vtt_english_ai",
"container": "vtt",
"elementaryStreams": [
"webvtt_english_ai"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "vtt_spanish_ai",
"container": "vtt",
"elementaryStreams": [
"webvtt_spanish_ai"
],
"segmentSettings": {
"segmentDuration": "2s"
}
}
],
"manifests": [
{
"key": "manifest_dash",
"fileName": "main.mpd",
"type": "DASH",
"muxStreams": [
"mux_video_fmp4",
"mux_audio_fmp4",
"vtt_english_ai",
"vtt_spanish_ai"
],
"maxSegmentCount": 5
},
{
"key": "manifest_hls",
"fileName": "main.m3u8",
"type": "HLS",
"muxStreams": [
"mux_video_ts",
"vtt_english_ai",
"vtt_spanish_ai"
],
"maxSegmentCount": 5
}
]
}
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
cat > request.json << 'EOF'
{
"inputAttachments": [
{
"key": "my-input",
"input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID "
}
],
"output": {
"uri": "gs://BUCKET_NAME "
},
"elementaryStreams": [
{
"key": "es_video",
"videoStream": {
"h264": {
"profile": "high",
"widthPixels": 1280,
"heightPixels": 720,
"bitrateBps": 3000000,
"frameRate": 30
}
}
},
{
"key": "es_audio",
"audioStream": {
"codec": "aac",
"channelCount": 2,
"bitrateBps": 160000
}
},
{
"key": "webvtt_english_ai",
"textStream": {
"codec": "webvtt",
"displayName": "English (AI captioned)",
"languageCode": "en-US",
"mapping": [
{
"inputTrack": 1
}
]
}
},
{
"key": "webvtt_spanish_ai",
"textStream": {
"codec": "webvtt",
"displayName": "Spanish (AI captioned)",
"languageCode": "es-MX",
"mapping": [
{
"inputTrack": 1,
"fromLanguageCode": "en-US"
}
]
}
}
],
"muxStreams": [
{
"key": "mux_video_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_video"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_audio_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_video_ts",
"container": "ts",
"elementaryStreams": [
"es_video",
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "vtt_english_ai",
"container": "vtt",
"elementaryStreams": [
"webvtt_english_ai"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "vtt_spanish_ai",
"container": "vtt",
"elementaryStreams": [
"webvtt_spanish_ai"
],
"segmentSettings": {
"segmentDuration": "2s"
}
}
],
"manifests": [
{
"key": "manifest_dash",
"fileName": "main.mpd",
"type": "DASH",
"muxStreams": [
"mux_video_fmp4",
"mux_audio_fmp4",
"vtt_english_ai",
"vtt_spanish_ai"
],
"maxSegmentCount": 5
},
{
"key": "manifest_hls",
"fileName": "main.m3u8",
"type": "HLS",
"muxStreams": [
"mux_video_ts",
"vtt_english_ai",
"vtt_spanish_ai"
],
"maxSegmentCount": 5
}
]
}
EOF
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID ?updateMask=elementary_streams,mux_streams,manifests"
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Simpan isi permintaan dalam file bernama request.json
.
Jalankan perintah berikut di terminal untuk membuat atau menimpa file ini di direktori saat ini:
@'
{
"inputAttachments": [
{
"key": "my-input",
"input": "projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID "
}
],
"output": {
"uri": "gs://BUCKET_NAME "
},
"elementaryStreams": [
{
"key": "es_video",
"videoStream": {
"h264": {
"profile": "high",
"widthPixels": 1280,
"heightPixels": 720,
"bitrateBps": 3000000,
"frameRate": 30
}
}
},
{
"key": "es_audio",
"audioStream": {
"codec": "aac",
"channelCount": 2,
"bitrateBps": 160000
}
},
{
"key": "webvtt_english_ai",
"textStream": {
"codec": "webvtt",
"displayName": "English (AI captioned)",
"languageCode": "en-US",
"mapping": [
{
"inputTrack": 1
}
]
}
},
{
"key": "webvtt_spanish_ai",
"textStream": {
"codec": "webvtt",
"displayName": "Spanish (AI captioned)",
"languageCode": "es-MX",
"mapping": [
{
"inputTrack": 1,
"fromLanguageCode": "en-US"
}
]
}
}
],
"muxStreams": [
{
"key": "mux_video_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_video"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_audio_fmp4",
"container": "fmp4",
"elementaryStreams": [
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "mux_video_ts",
"container": "ts",
"elementaryStreams": [
"es_video",
"es_audio"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "vtt_english_ai",
"container": "vtt",
"elementaryStreams": [
"webvtt_english_ai"
],
"segmentSettings": {
"segmentDuration": "2s"
}
},
{
"key": "vtt_spanish_ai",
"container": "vtt",
"elementaryStreams": [
"webvtt_spanish_ai"
],
"segmentSettings": {
"segmentDuration": "2s"
}
}
],
"manifests": [
{
"key": "manifest_dash",
"fileName": "main.mpd",
"type": "DASH",
"muxStreams": [
"mux_video_fmp4",
"mux_audio_fmp4",
"vtt_english_ai",
"vtt_spanish_ai"
],
"maxSegmentCount": 5
},
{
"key": "manifest_hls",
"fileName": "main.m3u8",
"type": "HLS",
"muxStreams": [
"mux_video_ts",
"vtt_english_ai",
"vtt_spanish_ai"
],
"maxSegmentCount": 5
}
]
}
'@ | Out-File -FilePath request.json -Encoding utf8
Kemudian jalankan perintah berikut untuk mengirim permintaan REST Anda:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method PATCH ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID ?updateMask=elementary_streams,mux_streams,manifests" | Select-Object -Expand Content
Anda akan melihat respons JSON seperti berikut:
Respons
{
"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 ",
"verb": "update",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Anda dapat memeriksa hasil operasi menggunakan
ID operasi baru.
Seperti yang dilakukan sebelumnya, mulai channel dan
kirimkan input stream lagi.
Verifikasi terjemahan dalam manifes output
Jalankan perintah berikut untuk melihat isi manifes HLS yang dihasilkan:
gcloud storage cat gs://BUCKET_NAME /main.m3u8
Teks bahasa Inggris dan Spanyol yang dibuat AI akan muncul dalam manifes output
yang mirip dengan berikut ini:
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="sub",LANGUAGE="en-US",NAME="English (AI captioned)",AUTOSELECT=YES,DEFAULT=YES,FORCED=NO,URI="vtt_english_ai/index-1.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="sub",LANGUAGE="es-MX",NAME="Spanish (AI captioned)",AUTOSELECT=NO,DEFAULT=NO,FORCED=NO,URI="vtt_spanish_ai/index-1.m3u8"
Mengonfigurasi transkrip buatan AI untuk distribusi
Sebelum mengonfigurasi teks dan terjemahan buatan AI untuk distribusi, pahami cara mendistribusikan live stream ke endpoint jarak jauh .
Untuk mendistribusikan teks dan terjemahan yang dibuat AI ke endpoint jarak jauh, jangan merujuk ke aliran teks dalam format webvtt
yang dikonfigurasi sebelumnya saat membuat channel dengan teks yang dibuat AI dan memperbarui channel untuk terjemahan .
Aliran teks untuk distribusi harus berupa teks tertanam, dengan
codec
disetel ke cea608
atau cea708
.
Dalam konfigurasi saluran, pertimbangkan hal berikut:
ElementaryStream
, TextStream
, digunakan untuk teks, dan ElementaryStream
, TextStream
, digunakan untuk terjemahan.
{
"key" : "embedded_english_ai" ,
"textStream" : {
"codec" : "cea608" ,
"displayName" : "English (AI captioned)" ,
"languageCode" : "en-US" ,
"outputCeaChannel" : "CC1" , // closed caption channel that will contain AI-generated English captions
"mapping" : [
{
"inputTrack" : 1 // audio track number
}
]
}
}
{
"key" : "embedded_spanish_ai" ,
"textStream" : {
"codec" : "cea608" ,
"displayName" : "Spanish (AI captioned)" ,
"languageCode" : "es-MX" ,
"outputCeaChannel" : "CC2" , // closed caption channel that will contain AI-generated Spanish captions
"mapping" : [
{
"inputTrack" : 1 , // audio track number
"fromLanguageCode" : "en-US" // original audio in English
}
]
}
}
Kolom TextStream
codec
harus ditetapkan ke cea608
atau cea708
.
Kolom TextStream
mapping
menggunakan
inputTrack
untuk menetapkan trek audio
input yang akan digunakan untuk membuat teks. Pemetaan tidak boleh menyertakan kolom
inputCeaChannel
, yang hanya digunakan untuk teks tertutup yang disediakan pengguna.
Setel outputCeaChannel
ke
saluran teks tertutup untuk memuat transkrip buatan AI dalam
streaming distribusi.
Setel languageCode
ke bahasa yang digunakan dalam trek audio.
Aliran elementer disertakan dalam kolom elementaryStreams
objek DistributionStream
.
{
"distributionStreams" : [
{
"key" : "ds1" ,
"container" : "ts" , // to be used with an SRT distribution
"elementaryStreams" : [
"es_video" ,
"es_audio" ,
"embedded_english_ai" , // distribute both English
"embedded_spanish_ai" // and Spanish captions
]
},
{
"key" : "ds2" ,
"container" : "flv" , // to be used with an RTMP distribution
"elementaryStreams" : [
"es_video" ,
"es_audio" ,
"embedded_spanish_ai" // only distribute Spanish captions
]
}
]
}
Selesaikan pembuatan channel dengan mengikuti panduan mendistribusikan live stream ke endpoint jarak jauh .
Konfigurasi lanjutan
Tetapkan AutoTranscriptionConfig
di tingkat channel
untuk lebih menyetel aliran teks buatan AI sesuai kebutuhan Anda.
Pengaturan waktu tampilan teks
Secara default, teks buatan AI ditampilkan secara asinkron dengan audio
dan video. Tetapkan kolom DisplayTiming
di AutoTranscriptionConfig
ke SYNC
untuk menampilkannya secara serentak.
{
"autoTranscriptionConfig" : {
"displayTiming" : "SYNC"
}
}
Menampilkan teks secara sinkron akan mengurangi latensi penayangan antara audio dan teks, tetapi meningkatkan latensi media end-to-end secara keseluruhan.
Preset kualitas
Gunakan kolom QualityPreset
di
AutoTranscriptionConfig
untuk mengonfigurasi preferensi kualitas untuk aliran teks
yang dibuat AI.
Misalnya, Anda dapat mengurangi lebih lanjut latensi pembuatan aliran teks dengan
menyetel:
{
"autoTranscriptionConfig" : {
"qualityPreset" : "LOW_LATENCY"
}
}
Pembersihan
Menghentikan channel
Gunakan metode
projects.locations.channels.stop
untuk menghentikan saluran.
Anda harus menghentikan channel sebelum dapat menghapusnya.
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda; nomor ini ada di kolom Project number di halaman
IAM Settings
LOCATION
: lokasi tempat channel Anda berada;
gunakan salah satu region yang didukung
Tampilkan 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 channel
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID :stop"
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID :stop" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"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 ",
"verb": "stop",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Jika Anda menggunakan ffmpeg
untuk mengirimkan aliran input, koneksi akan otomatis
terputus setelah Anda menghentikan channel.
Menghapus channel
Gunakan metode
projects.locations.channels.delete
untuk menghapus
channel. Anda harus menghapus channel sebelum dapat menghapus endpoint input
yang digunakan oleh channel.
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda; nomor ini ada di kolom Project number di halaman
IAM Settings
LOCATION
: lokasi tempat channel Anda berada;
gunakan salah satu region yang didukung
Tampilkan 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 channel
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID "
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /channels/CHANNEL_ID " | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"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 ",
"verb": "delete",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Gunakan metode
projects.locations.inputs.delete
untuk menghapus endpoint
input.
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_NUMBER
: nomor Google Cloud project Anda; nomor ini ada di kolom Project number di halaman
IAM Settings
LOCATION
: lokasi tempat endpoint input Anda berada;
gunakan salah satu region yang didukung
Tampilkan 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
INPUT_ID
: ID yang ditentukan pengguna untuk
endpoint input
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID "
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://livestream.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /inputs/INPUT_ID " | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"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 /inputs/INPUT_ID ",
"verb": "delete",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
Menghapus bucket Cloud Storage
Di konsol Google Cloud , buka halaman Browser Cloud Storage.
Membuka halaman Browser Cloud Storage
Pilih kotak centang di samping bucket yang Anda buat.
Klik Hapus .
Di jendela dialog yang muncul, klik Hapus untuk menghapus bucket dan isinya.