Mengonfigurasi teks dan terjemahan otomatis

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.

Membuat endpoint input

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:

{
  "type": "RTMP_PUSH"
}

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/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:

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:

Anda akan melihat respons JSON seperti berikut:

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:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

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:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Untuk menentukan apakah channel telah dimulai, dapatkan informasi channel seperti yang dilakukan sebelumnya. Respons harus berisi hal berikut:

{
  ...
  "streamingState": "AWAITING_INPUT"
  ...
}

Kirimkan aliran 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"

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:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

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:

Anda akan melihat respons JSON seperti berikut:

Anda dapat memeriksa hasil operasi menggunakan ID operasi baru.

Mulai ulang channel dan kirim ulang aliran input

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:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Hentikan aliran input

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:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Menghapus endpoint input

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:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Menghapus bucket Cloud Storage

  1. Di konsol Google Cloud , buka halaman Browser Cloud Storage.

    Membuka halaman Browser Cloud Storage

  2. Pilih kotak centang di samping bucket yang Anda buat.

  3. Klik Hapus.

  4. Di jendela dialog yang muncul, klik Hapus untuk menghapus bucket dan isinya.