Ringkasan Transcoder API

Halaman ini memberikan ringkasan teknis tentang Transcoder API, termasuk fitur, terminologi, dan konsep yang berguna. Transcoder API menerapkan REST dan RPC API yang memungkinkan Anda mengirimkan, memantau, dan mengelola tugas transcoding di Google Cloud. Untuk mengirimkan tugas menggunakan Transcoder API, Anda harus mengupload aset media ke Cloud Storage terlebih dahulu. Setelah memproses tugas, Transcoder API akan menyimpan media yang dihasilkan kembali ke Cloud Storage.

Fitur

Transcoder API menyertakan dukungan untuk fitur berikut:

Untuk informasi selengkapnya tentang standar MP4 dan MPEG-DASH, lihat situs Moving Picture Experts Group. Untuk informasi selengkapnya tentang standar HLS, lihat HTTP Live Streaming.

Penampung yang didukung untuk enkripsi konten

Tabel berikut menunjukkan penampung yang didukung untuk enkripsi konten.

Protokol streaming Container Sistem DRM Skema enkripsi
HLS TS ClearKey aes128
HLS TS FairPlay sampleAes
HLS fMP4 FairPlay Khusus mpegCenc cbcs
MPEG-DASH fMP4 Widevine mpegCenc cenc atau cbcs
MPEG-DASH fMP4 PlayReady mpegCenc cenc atau cbcs

Kontrol akses

Model kontrol akses Transcoder API didasarkan pada Identity and Access Management Google. Izin terperinci IAM memberi Anda kontrol atas tindakan yang dapat dilakukan dengan data media, dan oleh siapa.

Batas

Tabel berikut menunjukkan batas per tugas transcoding.

Batas tugas
Lebar input maksimum4.096 piksel
Tinggi input maksimum4.096 piksel
Lebar output maksimum4.096 piksel
Tinggi output maksimum2160 piksel
Total ukuran output400 GB
Durasi EditList maksimum24 jam
Jumlah maksimum streaming video70
Jumlah maksimum streaming audio50
Jumlah maksimum streaming teks50
Jumlah maksimum streaming mux100
Jumlah maksimum manifes100
Jumlah maksimum spritesheet10

Konsep

Bagian ini memberikan konsep penting terkait file video dan cara file tersebut digunakan dengan Transcoder API.

Komponen file video

Setiap file video memiliki penampung, yang merupakan wrapper untuk seluruh file. Transcoder API menggunakan MuxStreams untuk menentukan penampung. Setiap penampung menyertakan kumpulan ElementaryStreams untuk menentukan encoding trek teks video, audio, dan teks untuk file. Video dan audio dikompresi menggunakan codec.

Dalam contoh berikut, video dikompresi menggunakan H.264 dan audio dikompresi menggunakan AAC. Keduanya ditempatkan dalam penampung MP4.

Komponen file video dan contohnya
Gambar 1. Komponen file video (kiri) dan contoh file MP4 (kanan).

Struktur protokol streaming

Untuk media streaming, penyedia konten mengenkode konten yang sama dengan beberapa bitrate (diukur dalam Kilobit per detik). Penyedia kemudian membuat file manifes yang mengarah ke file yang berbeda dengan kecepatan bit yang berbeda. Pemutar media streaming menggunakan file manifes untuk memilih file yang sesuai, lalu mengambil video beberapa detik pada satu waktu. Setiap kecepatan bit dapat berupa satu file atau beberapa file pendek, bergantung pada apa yang didukung pemutar.

Resolusi media yang berbeda biasanya dienkode untuk menargetkan kecepatan bit yang berbeda. Misalnya, kecepatan bit yang lebih rendah dienkode dalam definisi standar (SD), bukan definisi tinggi (HD). Kumpulan kecepatan bit, resolusi, dan codec disebut hierarki Adaptive Bitrate (ABR). Penyedia konten streaming dapat menyesuaikan hierarki mereka sendiri berdasarkan biaya CDN, jenis perangkat pengguna, bandwidth dalam wilayah, dan faktor lainnya.

Komponen struktur protokol streaming dan contohnya
Gambar 2. Komponen struktur protokol streaming (atas) dan contoh penerapan HTTP Live Streaming (HLS) (bawah).

Terminologi

Bagian ini menyediakan glosarium istilah yang berguna untuk menggunakan Transcoder API.

Jeda iklan

Jeda iklan adalah iklan singkat yang muncul sebelum atau selama pemutaran media. Transcoder API mendukung keyframe jeda iklan dalam konfigurasi tugas. Transcoder API tidak menyisipkan atau memutar iklan, atau menghentikan pemutaran media; klien pemutar video bertanggung jawab untuk menangani keyframe.

Atom

Atom adalah struktur data dasar untuk menentukan metadata dan lokasi video. Video dapat terdiri dari hierarki bertingkat yang kompleks dari berbagai jenis atom, termasuk atom audio, edit, dan teks.

Atom audio

Atom audio memetakan audio dari streaming dasar ke daftar edit.

Jenis dan profil codec

Saat memilih codec untuk streaming video, Anda menentukan jenis codec, seperti H.264 dan profil, seperti profil high default.

Container

Penampung adalah wrapper yang menjelaskan hubungan antara berbagai komponen dalam streaming multipleks, termasuk file media dan metadata. Transcoder API mendukung format penampung MP4, MPEG-DASH, dan HLS.

Mengedit atom

Atom edit menentukan offset awal dan akhir untuk setiap segmen streaming yang ingin Anda gabungkan dalam daftar edit.

Edit daftar

Daftar edit menentukan urutan pengeditan sebagai linimasa untuk file atau manifes yang dihasilkan dari tugas transcoding.

Aliran data dasar

Streaming dasar adalah encoding file input, seperti trek teks subtitel, video, atau audio. Anda harus memaketkan streaming dasar sebelum memetakan dan membagikan streaming ke format output yang berbeda.

Encoding entropi

Encoding entropi adalah bentuk kompresi lossless yang didukung oleh Transcoder API. Saat mengonfigurasi tugas, Anda dapat menentukan coder entropi Context-Adaptive Variable-Length Coding (CAVLC) atau Context-Adaptive Binary Arithmetic Coding (CABAC).

Tugas

Tugas adalah unit dasar untuk mengelola tugas dengan Transcoder API. Saat Anda mengirimkan tugas ke Transcoder API, tugas tersebut akan diproses secara asinkron di lokasi geografis yang dikenal sebagai region. Anda dapat mencantumkan dan mengelola semua tugas untuk suatu region.

Siklus proses tugas mencakup tiga langkah: menyiapkan, mentranskode, dan memaketkan.

  • Menyiapkan
    • Mendownload input dari Cloud Storage
    • Menganalisis input
    • Memvalidasi input
  • Transcode
    • Menjalankan operasi transcoding pada input
  • Paket
    • Input stitch
    • Input multipleks
    • Mengupload output ke Cloud Storage

Tugas memiliki status yang diperbarui. Layanan melaporkan error menggunakan kolom error.

Konfigurasi tugas

Konfigurasi tugas mewakili banyak setelan yang dapat Anda sesuaikan saat membuat dan mengirimkan tugas ke Transcoder API. Anda dapat menentukan setelan konfigurasi seperti daftar edit dan tempat menyisipkan tag jeda iklan dalam manifes output. Anda dapat membuat konfigurasi tugas yang dapat digunakan kembali sebagai template tugas untuk digunakan di region Google Cloud.

Mode tugas

Transcoder API mendukung dua mode tugas: interaktif dan batch.

Mode interaktif adalah mode tugas default. Gunakan mode ini jika Anda ingin pemrosesan tugas dimulai sesegera mungkin atau jika Anda ingin memiliki kontrol yang lebih terperinci tentang tugas mana yang dieksekusi terlebih dahulu. Dalam mode ini, kuota jumlah tugas serentak mengontrol jumlah tugas yang dijalankan secara serentak. Setelah kuota ini tercapai, semua tugas yang Anda coba mulai akan ditolak.

Gunakan mode batch untuk mengirimkan banyak tugas yang latensi pemrosesannya tidak begitu kritis seperti tugas yang dikirimkan dalam mode interaktif default. Anda dapat menentukan prioritas pemrosesan tugas untuk tugas dalam mode ini. Tugas yang dikirim dalam mode batch dengan nilai prioritas yang sama dimasukkan ke dalam antrean first-in, first-out dan memiliki status tugas PENDING saat menunggu untuk dijalankan. Dalam mode ini, kuota jumlah tugas batch yang tertunda mengontrol jumlah tugas yang diantrekan. Setelah kuota ini tercapai, semua tugas yang Anda coba mulai akan ditolak. Tugas akan bertransisi ke status RUNNING saat dijalankan. Kuota jumlah tugas serentak batch mengontrol jumlah tugas yang dijalankan secara serentak.

Anda dapat menggunakan kedua mode secara bersamaan. Satu mode tidak lebih diprioritaskan daripada mode lainnya. Untuk mengetahui informasi selengkapnya tentang cara menyetel mode tugas, lihat Membuat tugas dalam mode batch.

Template tugas

Secara default, Transcoder API menerapkan template preset yang disebut preset/web-hd untuk mengisi konfigurasi tugas. Konfigurasi tugas ini menghasilkan file output berikut:

  • manifest.m3u8: Playlist utama untuk streaming media HLS. File ini berisi referensi ke playlist untuk varian output definisi tinggi (HD) dan varian output definisi standar (SD).
    • media-hd.m3u8: Playlist untuk varian beresolusi tinggi
      • media-hd0000000000.ts: File segmen video beresolusi tinggi
    • media-sd.m3u8: Playlist untuk varian definisi standar
      • media-sd0000000000.ts: File segmen video dengan definisi standar
  • manifest.mpd: Playlist untuk streaming media MPEG-DASH. File ini berisi referensi ke file segmen khusus video dan khusus audio.
    • audio-only0000000000.m4s: File segmen khusus audio
    • video-only-hd0000000000.m4s: File segmen khusus video beresolusi tinggi
    • video-only-sd0000000000.m4s: File segmen khusus video dengan definisi standar
  • sd.mp4: File video definisi standar mandiri
  • hd.mp4: File video definisi tinggi mandiri

Anda dapat membuat dan mengelola template tugas kustom Anda sendiri dan menentukannya saat membuat tugas.

Prapemrosesan

Prapemrosesan adalah tahap tugas yang dilakukan sebelum transcoding utama.

Konfigurasi pra-pemrosesan

Konfigurasi prapemrosesan mewakili setelan yang dapat Anda terapkan ke video sebelum tahap transcoding tugas. Anda dapat menerapkan pemangkasan atau padding sebagai bagian dari konfigurasi ini.

Mode kontrol kecepatan

Mode kontrol kecepatan menunjukkan apakah akan memproses tugas menggunakan mode faktor kecepatan konstan (CRF) atau kecepatan bit variabel (VBR). CRF memastikan kualitas yang konstan di seluruh aset media yang diproses. VBR mengoptimalkan proses encoding untuk mengurangi ukuran file aset media yang diproses. Untuk kasus penggunaan streaming, pilih mode kontrol kecepatan VBR. Untuk tujuan pengarsipan, pilih mode kontrol kecepatan CRF.

Manifes

Manifes adalah deskripsi konten dan metadata streaming media adaptif yang tersedia untuk klien. Di Transcoder API, Anda dapat mengonfigurasi tugas untuk menghasilkan manifes dengan nama file, daftar streaming multipleks, serta jenis manifes, yang harus berupa HLS atau MPEG-DASH.

Atom teks

Atom teks memetakan teks dari aliran dasar ke daftar edit.

Streaming teks

Streaming teks mengenkode data teks yang terkait dengan video, seperti teks tertutup atau subtitel.

Langkah selanjutnya