Encoding video di aplikasi mobile: apa itu, codec, dan parameter

Penulis: IT Sectr Diterbitkan: 2026-05-24 Waktu membaca: 8 mnt

Encoding video adalah proses kompresi sinyal video digital ke format yang cocok untuk penyimpanan dan transmisi melalui jaringan dengan kehilangan kualitas minimal. Tanpa encoding, satu menit video tidak terkompresi dalam resolusi 4K memakan sekitar 30 GB, membuat transmisi melalui internet menjadi tidak mungkin. Menurut laporan Sandvine Global Internet Phenomena (2025), video merupakan 65% dari seluruh lalu lintas internet, dan encoding adalah teknologi kunci yang memungkinkan hal ini.

Poin Penting

  • Encoding — kompresi sinyal video menggunakan codec untuk mengurangi volume data.
  • Codec H.264 dan H.265 — standar utama: AVC memastikan kompatibilitas, HEVC memberikan kompresi lebih baik.
  • VP9 dan AV1 — codec terbuka dari Google dan Alliance for Open Media, bebas royalti.
  • Bitrate menentukan ukuran dan kualitas: 2–5 Mbps untuk 1080p, 15–40 Mbps untuk 4K.
  • Codec audio AAC dan Opus — standar untuk aplikasi mobile dengan latensi rendah dan kualitas tinggi.

Apa itu encoding video?

Encoding video adalah proses mengubah sinyal video tidak terkompresi ke format digital menggunakan algoritma kompresi. Algoritma yang diimplementasikan dalam codec video menghilangkan informasi redundan baik dalam domain spasial (di dalam satu frame) maupun temporal (antara frame berurutan).

Video tidak terkompresi adalah urutan frame, di mana masing-masing disimpan sebagai array piksel dalam format RGB atau YUV. Tanpa kompresi, satu detik video 1080p pada 30 FPS membutuhkan sekitar 1,5 GB memori. Codec H.264 mengompresi aliran ini menjadi 3–5 Mbps, 2500 kali lebih kecil dari volume aslinya.

Prinsip kompresi video

Codec video menggunakan dua jenis kompresi: intra-frame dan inter-frame. Kompresi intra-frame diterapkan pada setiap frame secara independen menggunakan algoritma yang mirip dengan JPEG: transformasi kosinus diskrit (DCT), kuantisasi, dan pengkodean entropi.

Kompresi inter-frame menganalisis perbedaan antara frame berurutan dan hanya mengodekan perubahan. Jika latar belakang statis, codec mengirimkan frame lengkap hanya sekali (I-frame), lalu hanya perbedaannya (frame P dan B), yang secara signifikan mengurangi volume data untuk adegan dengan dinamika rendah.

Codec video: H.264, H.265, VP9, AV1

Pemilihan codec video menentukan rasio kualitas-ukuran, kompatibilitas dengan perangkat, dan biaya lisensi. Di pasar aplikasi mobile, empat codec utama mendominasi: H.264 (AVC), H.265 (HEVC), VP9, dan AV1.

CodecStandarTahunKompresi vs H.264Lisensi
H.264/AVCMPEG-4 Part 1020031x (dasar)Berbayar (MPEG LA)
H.265/HEVCMPEG-H Part 2201340–50% lebih efisienBerbayar (dua pool)
VP9Google201330–40% lebih efisienGratis
AV1AOM201850–60% lebih efisienGratis (Bebas royalti)

H.264 — standar universal

H.264 (AVC — Advanced Video Coding) tetap menjadi codec video paling kompatibel: didukung oleh semua perangkat mobile, browser, dan Smart TV sejak 2005. Akselerasi hardware decoding H.264 tersedia bahkan di perangkat murah, menjadikannya ideal untuk streaming universal.

Kekurangan utama H.264 — efisiensi kompresi yang relatif rendah dibandingkan codec modern. Pada bitrate yang sama, H.265 dan AV1 memberikan kualitas yang lebih tinggi, yang sangat penting untuk konten HDR dan 4K.

H.265 — efisiensi untuk 4K

H.265 (HEVC — High Efficiency Video Coding) memberikan kompresi 40–50% lebih baik daripada H.264 dengan kualitas visual yang sama. Ini dicapai melalui pembagian frame yang lebih fleksibel menjadi blok (CTU hingga 64×64 piksel, bukan 16×16) dan algoritma prediksi gerakan yang ditingkatkan.

HEVC didukung di semua perangkat Apple (mulai iPhone 6), di Android (mulai versi 5.0 dengan decoding hardware) dan di sebagian besar Smart TV. Biaya lisensi HEVC lebih tinggi daripada H.264 dan dikelola oleh dua pool paten, yang mempersulit penggunaan hukum.

AV1 — standar terbuka masa depan

AV1 — codec video yang dikembangkan oleh Alliance for Open Media (AOM), konsorsium yang dipimpin oleh Google, Netflix, Amazon, Intel, dan Mozilla. AV1 memberikan kompresi 50–60% lebih baik daripada H.264 dan sepenuhnya bebas royalti, menjadikannya menarik untuk layanan streaming.

Kekurangan utama AV1 — kompleksitas komputasi yang tinggi dalam encoding. Encoding AV1 bisa 5–10 kali lebih lambat daripada H.264 pada perangkat keras yang sama, meskipun decoding hardware sudah mulai muncul di perangkat 2024–2025 (Snapdragon 8 Gen 3, Apple A17 Pro).

Codec audio: AAC, MP3, Opus

Codec audio dalam aplikasi mobile tidak kalah pentingnya dengan codec video. Untuk streaming video, diperlukan audio dengan latensi minimal, kualitas tinggi, dan kompatibilitas dengan container MP4 dan WebM. Tiga codec audio utama mencakup 99% aplikasi streaming mobile.

AAC — standar Apple dan YouTube

AAC (Advanced Audio Coding) — penerus MP3, dikembangkan oleh MPEG pada tahun 1997 dan menjadi codec audio standar untuk iTunes, YouTube, dan Android. AAC memberikan kualitas yang sama dengan MP3 pada bitrate 30% lebih rendah dan mendukung audio multi-channel hingga 7.1.

Untuk aplikasi mobile, disarankan AAC-LC pada bitrate 128–192 kbps untuk stereo dan AAC-HE untuk bitrate rendah 32–64 kbps. Decoding hardware AAC tersedia di semua perangkat modern, meminimalkan konsumsi daya.

Opus — codec audio modern

Opus — codec audio terbuka dari IETF (RFC 6716), yang memberikan kualitas terbaik di antara semua codec audio pada bitrate 6 hingga 510 kbps. Opus menggabungkan SILK (algoritma untuk bicara) dan CELT (untuk musik) dan secara otomatis mengganti mode tergantung konten.

Opus digunakan di WebRTC untuk panggilan video, di aplikasi Spotify dan Discord, dan didukung di HLS mulai iOS 11 dan Android 5.0. Latensi rendah Opus (5–26 ms vs 40–100 ms pada AAC) menjadikannya pilihan utama untuk siaran langsung dan konferensi video.

Parameter encoding: bitrate, resolusi, FPS

Parameter encoding menentukan ukuran file akhir, kualitas video, dan kompatibilitas dengan perangkat. Pengembang aplikasi mobile harus memilih pengaturan optimal untuk setiap jenis konten: film, siaran olahraga, konten pengguna.

Bitrate dan jenisnya

Bitrate — jumlah bit yang digunakan untuk mengodekan satu detik video. Dibedakan CBR (Constant Bitrate) — bitrate konstan untuk siaran langsung, VBR (Variable Bitrate) — bervariasi dengan kualitas target untuk penyimpanan arsip, dan ABR (Average Bitrate) — rata-rata untuk streaming.

ResolusiH.264 (disarankan)H.265/HEVCAV1
360p400–800 kbps250–500 kbps200–400 kbps
720p1,5–4 Mbps1–2,5 Mbps0,8–2 Mbps
1080p3–8 Mbps2–5 Mbps1,5–4 Mbps
4K (2160p)15–40 Mbps10–25 Mbps8–20 Mbps

CRF — kontrol kualitas

CRF (Constant Rate Factor) — parameter encoding di x264 dan x265 yang menetapkan kualitas target alih-alih bitrate tetap. Skala CRF dari 0 (lossless) hingga 51 (kualitas terburuk), di mana 18–28 adalah rentang kerja. Untuk aplikasi mobile, disarankan CRF 23 untuk x264 dan CRF 25 untuk x265.

CRF 18–20 memberikan kualitas tinggi untuk konten presentasi dan tontonan offline. CRF 24–28 cocok untuk streaming dan konten pengguna, di mana ukuran file lebih penting daripada kualitas absolut.

Profil dan level codec

Standar H.264 mendefinisikan profil (Baseline, Main, High) dan level (Level 1–5.2) yang membatasi parameter video maksimum. Baseline Profile kompatibel dengan semua perangkat tetapi tidak mendukung frame B. High Profile memberikan kualitas maksimal dan digunakan untuk konten 1080p.

Untuk streaming 4K, diperlukan Level 5.1 dan lebih tinggi, yang didukung oleh sebagian besar perangkat mobile sejak 2018. Level codec menentukan resolusi maksimum, bitrate, dan ukuran buffer, menjamin decoding yang benar di semua perangkat bersertifikat.

Encoding untuk streaming

Encoding untuk streaming berbeda dari encoding arsip dalam kebutuhan untuk membuat beberapa varian kualitas (ABR ladder) dan optimasi untuk transmisi jaringan. Penyedia konten menggunakan transcoding real-time atau encoding awal untuk VOD.

Set ABR tipikal untuk aplikasi mobile mencakup 4–6 varian: dari 144p (200 kbps) untuk jaringan lemah hingga 1080p (8 Mbps) untuk Wi-Fi. Resolusi yang disarankan: 144p, 240p, 360p, 480p, 720p, 1080p. Untuk konten 4K, ditambahkan 1440p dan 2160p.

Transcoding pada perangkat mobile

kotlin
val mediaCodec = MediaCodec.createEncoderByType(
    MediaFormat.MIMETYPE_VIDEO_AVC
)
val format = MediaFormat.createVideoFormat(
    MediaFormat.MIMETYPE_VIDEO_AVC,
    1280, 720
).apply {
    setInteger(MediaFormat.KEY_BIT_RATE, 3_000_000)
    setInteger(MediaFormat.KEY_FRAME_RATE, 30)
    setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 2)
    setInteger(MediaFormat.KEY_PROFILE,
        MediaCodecInfo.CodecProfileLevel.AVCProfileHigh)
    setInteger(MediaFormat.KEY_LEVEL,
        MediaCodecInfo.CodecProfileLevel.AVCLevel31)
}
mediaCodec.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE)

Encoding untuk siaran langsung

Untuk siaran langsung, latensi rendah sangat penting. Pengaturan encoding harus meminimalkan latensi input/output codec: disarankan ukuran GOP 1–2 detik (setiap 30–60 frame), frame B dimatikan atau diminimalkan, untuk H.264 gunakan Baseline Profile.

Protokol modern untuk latensi rendah — LL-HLS dan CMAF-Low Latency — memerlukan encoding terfragmentasi dengan segmen 1–2 detik dan kemampuan pemuatan parsial (Partial Segments). Codec harus mendukung moof-box di setiap segmen untuk MP4 terfragmentasi.

Optimasi pipeline encoding

  • Encoding hardware melalui MediaCodec (Android) atau VideoToolbox (iOS) wajib untuk real-time.
  • Encoding multi-thread di server menggunakan libx264/libx265 dalam mode ultrafast atau veryfast.
  • Preset encoding: placebo — terburuk untuk VOD (kompresi maksimal), ultrafast — untuk siaran langsung.
  • Two-pass VBR — mode preferensi untuk VOD, memberikan ukuran dan kualitas yang dapat diprediksi.

Pertanyaan Umum

Apa itu encoding video di aplikasi mobile?

Encoding video — proses kompresi sinyal video digital menggunakan codec untuk mengurangi volume data. Di aplikasi mobile, encoding memungkinkan transmisi dan penyimpanan video, mengurangi ukuran ratusan kali lipat tanpa kehilangan kualitas yang terlihat di layar perangkat.

Codec mana yang lebih baik: H.264 atau H.265?

H.264 memberikan kompatibilitas maksimal dengan perangkat lama, dan H.265 40–50% lebih efisien pada kualitas yang sama. Untuk konten 1080p dan di bawahnya, H.264 sudah cukup, untuk 4K disarankan H.265 atau AV1 jika perangkat mendukung.

Apa itu bitrate dan bagaimana memilihnya?

Bitrate — jumlah data per detik video. Untuk 1080p, bitrate optimal adalah 3–8 Mbps untuk H.264, 2–5 Mbps untuk H.265. Pemilihan tergantung konten: adegan dinamis (olahraga) memerlukan bitrate lebih tinggi, adegan statis (wawancara) — bitrate lebih rendah.

Apa perbedaan VP9 dan AV1?

VP9 — pendahulu AV1 dari Google, memberikan kompresi setara H.265. AV1 mengompresi 20–30% lebih efisien daripada VP9, tetapi membutuhkan 5–10 kali lebih banyak sumber daya untuk encoding. VP9 lebih baik untuk YouTube, AV1 — untuk Netflix dan layanan streaming modern.

Bagaimana mengatur encoding untuk siaran langsung?

Untuk siaran langsung, gunakan H.264 Baseline Profile dengan GOP 1–2 detik, tanpa frame B, bitrate 2–4 Mbps untuk 1080p. Aktifkan MP4 terfragmentasi (CMAF) untuk LL-HLS dan gunakan encoding hardware melalui MediaCodec atau VideoToolbox.

Kesimpulan

  • Encoding — teknologi fundamental yang tanpanya transmisi video melalui internet tidak mungkin karena volume data tidak terkompresi yang sangat besar.
  • H.264 tetap menjadi standar kompatibilitas dan direkomendasikan untuk streaming universal di aplikasi mobile.
  • H.265 dan AV1 memberikan kompresi 40–60% lebih baik, tetapi memerlukan dukungan hardware untuk decoding yang efisien.
  • Bitrate dan CRF — parameter kunci: untuk 1080p H.264 gunakan 3–8 Mbps, untuk 4K H.265 — 10–25 Mbps.
  • AAC — codec audio standar, Opus lebih disukai untuk siaran langsung karena latensi minimal.
  • Set ABR untuk streaming mencakup 4–6 varian dari 144p hingga 1080p dengan bitrate berbeda.
  • Encoding hardware wajib untuk real-time di perangkat mobile.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga