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:
- Output dalam berbagai format penampung, termasuk MPEG-4 (MP4), Dynamic Adaptive Streaming over HTTP (DASH, juga dikenal sebagai MPEG-DASH), dan HTTP Live Streaming (HLS)
- Output dengan kecepatan bit dan resolusi yang berbeda, termasuk output hanya audio
- Konversi ke format rentang dinamis tinggi (HDR)
- Meningkatkan output video secara terprogram, termasuk:
- Mengonfigurasi parameter encoding tingkat rendah, seperti kecepatan bit
- Membuat remix konten media yang ada menggunakan daftar edit yang komprehensif
- Menetapkan mode tugas ke mode interaktif latensi rendah atau mode batch
- Menentukan normalisasi volume audio
- Mengonfigurasi enkripsi video output untuk mendukung manajemen hak digital dan perlindungan konten
- Sisipkan keyframe iklan untuk memungkinkan klien pemutar video menyisipkan iklan
- Membuat thumbnail dari spritesheet frame video yang dihasilkan
- Membuat template tugas untuk menyimpan dan menggunakan kembali konfigurasi kustom atau kompleks untuk tugas transcoding
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 maksimum | 4.096 piksel |
Tinggi input maksimum | 4.096 piksel |
Lebar output maksimum | 4.096 piksel |
Tinggi output maksimum | 2160 piksel |
Total ukuran output | 400 GB |
Durasi EditList maksimum | 24 jam |
Jumlah maksimum streaming video | 70 |
Jumlah maksimum streaming audio | 50 |
Jumlah maksimum streaming teks | 50 |
Jumlah maksimum streaming mux | 100 |
Jumlah maksimum manifes | 100 |
Jumlah maksimum spritesheet | 10 |
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.
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.
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 tinggimedia-hd0000000000.ts
: File segmen video beresolusi tinggi
media-sd.m3u8
: Playlist untuk varian definisi standarmedia-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 audiovideo-only-hd0000000000.m4s
: File segmen khusus video beresolusi tinggivideo-only-sd0000000000.m4s
: File segmen khusus video dengan definisi standar
sd.mp4
: File video definisi standar mandirihd.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
- Coba panduan memulai.
- Pelajari cara menyelesaikan tugas Transcoder API tertentu.