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:
- Output dalam berbagai format container, 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 khusus audio
- Konversi ke format rentang dinamis tinggi (HDR)
- Meningkatkan output video secara terprogram, termasuk:
- Memangkas dimensi video
- Menyisipkan gambar atau animasi overlay
- Mengonfigurasi parameter encoding tingkat rendah, seperti kecepatan bit
- Remix konten media yang ada menggunakan daftar edit komprehensif
- Tetapkan mode tugas ke mode interaktif latensi rendah atau mode batch
- Menentukan normalisasi kenyaringan audio
- Mengonfigurasi enkripsi video output untuk mendukung pengelolaan hak digital dan perlindungan konten
- Menyisipkan keyframe iklan agar klien pemutar video dapat 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 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 maksimum | 4.096 piksel |
Tinggi input maksimum | 4.096 piksel |
Lebar output maksimum | 4.096 piksel |
Tinggi output maksimum | 2.160 piksel |
Total ukuran output | 400 GB |
Durasi EditList maksimum | 24 jam |
Jumlah maksimum streaming video | 70 |
Jumlah maksimum streaming audio | 50 |
Jumlah maksimum stream 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 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.
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.
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 tinggimedia-hd0000000000.ts
: File segmen video definisi tinggi
media-sd.m3u8
: Playlist untuk varian definisi standarmedia-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 sajavideo-only-hd0000000000.m4s
: File segmen khusus video definisi tinggivideo-only-sd0000000000.m4s
: File segmen khusus video 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 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
- Coba quickstart.
- Pelajari cara menyelesaikan tugas Transcoder API tertentu.