Ringkasan Transcoder API

Halaman ini menyediakan 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, upload aset media ke Cloud Storage terlebih dahulu. Setelah memproses tugas, Transcoder API menyimpan media yang dihasilkan kembali ke Cloud Storage.

Fitur

Transcoder API menyertakan dukungan untuk fitur berikut:

Untuk mengetahui informasi selengkapnya tentang standar MP4 dan MPEG-DASH, lihat Situs The Move Picture Experts Group. Untuk mengetahui informasi selengkapnya tentang standar HLS, lihat Live Streaming HTTP.

Penampung yang didukung untuk enkripsi konten

Tabel berikut menunjukkan penampung yang didukung untuk enkripsi konten.

Jenis Teknologi Format Codec Video Codec Audio
H.264 H.265 AAC
DRM FairPlay HLS TS (CONTOH-AES) fMP4 (CONTOH-AES) TS (CONTOH-AES)
fMP4 (CONTOH-AES) fMP4 (CONTOH-AES)
DRM Widevine, PlayReady DASH fMP4 (MPEG-CENC) fMP4 (MPEG-CENC)
DRM Widevine, PlayReady HLS fMP4 (MPEG-CENC) fMP4 (MPEG-CENC)
Perlindungan konten AES-128 HLS, DASH fMP4, TS (AES-128) fMP4, TS (AES-128) fMP4, TS (AES-128)

Kontrol akses

Model kontrol akses Transcoder API didasarkan pada Identity and Access Management Google. Izin IAM yang terperinci memberi Anda kontrol atas apa 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 maksimum2.160 piksel
Total ukuran output400 GB
Durasi EditList maksimum24 jam
Jumlah maksimum streaming video70
Jumlah maksimum streaming audio50
Jumlah maksimum stream 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 mencakup sekumpulan ElementaryStreams untuk menentukan encoding trek teks video, audio, dan teks untuk file. Video dan audio dikompresi menggunakan codec.

Pada contoh berikut, video dikompresi menggunakan H.264 dan audio dikompresi menggunakan AAC. Keduanya ditempatkan dalam wadah 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 pada beberapa kecepatan bit (diukur dalam Kilobit per detik). Penyedia kemudian membuat file manifes yang mengarah ke file berbeda dengan kecepatan bit yang berbeda. Pemutar media streaming menggunakan file manifes untuk memilih file yang sesuai, lalu menarik video beberapa detik dalam satu waktu. Setiap kecepatan bit dapat berupa satu file atau beberapa file pendek, tergantung apa yang didukung oleh pemutar.

Resolusi media yang berbeda biasanya dienkode untuk menargetkan kecepatan bit yang berbeda. Misalnya, kecepatan bit yang lebih rendah dienkode pada format definisi standar (SD), bukan definisi tinggi (HD). Kumpulan kecepatan bit, resolusi, dan codec disebut ladder Adaptive Bitrate (ABR). Penyedia konten streaming dapat menyesuaikan tangganya sendiri berdasarkan biaya CDN, jenis perangkat pengguna, bandwidth dalam region, 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 frame utama 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

Ketika 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 container MP4, MPEG-DASH, dan HLS.

Edit atom

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

Edit daftar

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

Aliran dasar

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

Encoding entropi

Encoding entropi adalah bentuk kompresi lossless yang didukung 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 pekerjaan 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 menampilkan daftar dan mengelola semua pekerjaan untuk suatu region.

Siklus proses tugas mencakup tiga langkah: menyiapkan, melakukan transcoding, dan mengemas.

  • Mempersiapkan
    • Mendownload input dari Cloud Storage
    • Menganalisis input
    • Validasi input
  • Transcoding
    • Menjalankan operasi transcoding pada input
  • Paket
    • Input jahitan
    • Input multipleks
    • Mengupload output ke Cloud Storage

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

Konfigurasi tugas

Konfigurasi tugas mewakili berbagai 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 pekerjaan

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 dijalankan terlebih dahulu. Dalam mode ini, kuota jumlah tugas serentak mengontrol jumlah tugas yang dijalankan secara serentak. Setelah kuota ini tercapai, tugas apa pun yang Anda coba mulai akan ditolak.

Gunakan mode batch untuk mengirim banyak tugas yang latensi pemrosesannya tidak sepenting 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 akan dimasukkan ke dalam antrean pertama masuk, pertama keluar dan memiliki status tugas PENDING selagi menunggu untuk dijalankan. Dalam mode ini, kuota jumlah tugas yang tertunda mengontrol jumlah tugas yang diantrekan. Setelah kuota ini tercapai, tugas apa pun yang Anda coba mulai akan ditolak. Tugas bertransisi ke status RUNNING saat dieksekusi. Kuota jumlah tugas serentak batch mengontrol jumlah tugas yang dijalankan secara serentak.

Anda dapat menggunakan kedua mode tersebut secara bersamaan. Satu mode tidak memiliki prioritas dibandingkan mode lainnya. Untuk mengetahui informasi selengkapnya tentang menetapkan mode tugas, lihat Membuat tugas dalam mode batch.

Template lowongan

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 definisi standar (SD) output.
    • media-hd.m3u8: Playlist untuk varian definisi tinggi
      • media-hd0000000000.ts: File segmen video definisi tinggi
    • media-sd.m3u8: Playlist untuk varian definisi standar
      • media-sd0000000000.ts: File segmen video definisi standar
  • manifest.mpd: Playlist untuk streaming media MPEG-DASH. File ini berisi referensi ke file segmen hanya video dan audio saja.
    • audio-only0000000000.m4s: File segmen audio saja
    • video-only-hd0000000000.m4s: File segmen khusus video definisi tinggi
    • video-only-sd0000000000.m4s: File segmen khusus video 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 terjadi sebelum transcoding utama.

Konfigurasi pra-pemrosesan

Konfigurasi pra-pemrosesan 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 tarif

Mode kontrol kapasitas 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 tarif VBR. Untuk tujuan pengarsipan, pilih mode kontrol rasio CRF.

Manifes

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

Atom teks

Atom teks memetakan teks dari aliran dasar ke daftar edit.

Aliran teks

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

Langkah selanjutnya