Media dan Streaming dalam Pengembangan Seluler: Apa Itu, Protokol Apa Saja, dan Cara Kerjanya

Penulis: IT Sectr Diterbitkan: 2026-05-20 Waktu membaca: 10 mnt

Media dan streaming adalah salah satu kompetensi utama dalam pengembangan seluler modern. Menurut Statista (2025), pasar streaming video global akan melampaui $100 miliar pada tahun 2027. Perangkat seluler menyumbang lebih dari 60% dari seluruh lalu lintas platform streaming. Pengembang perlu memahami protokol, pemutar, mekanisme perlindungan konten, dan fitur seperti Picture-in-Picture. Streaming berkualitas di aplikasi seluler membutuhkan penguasaan semua teknologi ini.

Poin Penting

  • Protokol streaming utama — HLS (Apple) dan DASH (MPEG). HLS lebih disukai untuk iOS, DASH untuk Android dan solusi lintas platform.
  • ExoPlayer (Android) dan AVPlayer (iOS) adalah pemutar standar. ExoPlayer lebih fleksibel, AVPlayer lebih mudah diintegrasikan. Untuk pengembangan lintas platform ada Google Cast SDK.
  • Sistem DRM (Widevine, FairPlay, PlayReady) melindungi konten premium. Widevine adalah standar untuk Android, FairPlay untuk iOS, PlayReady untuk Windows/Xbox.
  • Audio Focus (Android) dan Audio Session (iOS) mengelola pemutaran audio selama panggilan dan notifikasi. Tanpa keduanya, pengalaman pengguna akan tidak lengkap.
  • Picture-in-Picture dan AirPlay adalah fitur wajib untuk aplikasi video premium. PiP memungkinkan menonton video di jendela mini saat aplikasi diperkecil.

Protokol HLS dan DASH

HTTP Live Streaming (HLS) adalah protokol untuk streaming di aplikasi seluler yang dikembangkan oleh Apple. Ini membagi video menjadi segmen-segmen kecil (biasanya 6–10 detik) dan mengirimkannya melalui HTTP biasa. Pemutar mengunduh daftar putar (.m3u8) dan memuat segmen secara berurutan, menyesuaikan kualitas dengan kecepatan koneksi. HLS menyediakan streaming yang andal di aplikasi seluler di semua perangkat Apple dan merupakan standar de facto untuk iOS.

HLS vs DASH

DASH (Dynamic Adaptive Streaming over HTTP) adalah standar MPEG terbuka untuk mengirimkan media ke aplikasi seluler. Tidak seperti HLS, DASH menggunakan format MP4 untuk segmen dan manifes XML (MPD) sebagai pengganti .m3u8. DASH memberikan lebih banyak kontrol atas codec dan mendukung lebih banyak format. Memilih antara HLS dan DASH adalah keputusan penting saat mengembangkan streaming untuk perangkat seluler. Perbandingan protokol ditunjukkan pada tabel di bawah ini.

Parameter HLS DASH
PengembangAppleMPEG (standar terbuka)
Format daftar putar.m3u8.mpd (XML)
Segmen.ts atau fMP4fMP4 (codec apa pun)
Dukungan asliiOS, macOS, tvOSAndroid, web
Bitrate adaptifYa (avc1, mp4a)Ya (codec apa pun)
Latensi rendahLL-HLS (2–5 detik)LL-DASH (2–5 detik)

Dalam praktiknya, aplikasi iOS memilih HLS — AVPlayer bekerja secara native dengannya. Untuk Android, DASH lebih disukai berkat ExoPlayer. Kedua protokol cocok untuk streaming media di perangkat seluler. Di IT Sectr, kami menggunakan kedua teknologi dan merekomendasikan memilih protokol berdasarkan platform target.

Bitrate adaptif dan codec

Adaptive Bitrate (ABR) adalah mekanisme di mana pemutar secara otomatis memilih kualitas video berdasarkan kecepatan koneksi. Stream dikodekan pada beberapa bitrate (360p, 720p, 1080p, 4K). Pemutar beralih di antara mereka tanpa jeda. Codec: H.264 (AVC) — dasar, H.265 (HEVC) — 50% lebih efisien, VP9 dan AV1 — alternatif terbuka untuk Android.

Untuk decoding perangkat keras di aplikasi seluler, memilih codec yang tepat sangat penting. Hardware Decoding menggunakan GPU/prosesor video perangkat dan mengonsumsi lebih sedikit baterai. Software Decoding berjalan di CPU — digunakan ketika decoding perangkat keras tidak tersedia. IT Sectr merekomendasikan untuk selalu memeriksa dukungan codec melalui MediaCodec (Android) atau AVAssetTrack (iOS) untuk pemutaran media yang optimal di perangkat seluler.

Pemutar: ExoPlayer dan AVPlayer

ExoPlayer adalah pemutar media dari Google untuk Android, yang dioptimalkan untuk pemutaran media di aplikasi seluler. Tidak seperti MediaPlayer, ExoPlayer tidak terikat pada decoding perangkat keras dan mendukung skema khusus melalui modul ekstensi. Ini bekerja dengan HLS, DASH, SmoothStreaming, dan RTSP. ExoPlayer adalah pemutar utama untuk YouTube, Google TV, dan Android TV.

ExoPlayer vs AVPlayerViewController

AVPlayer dan AVPlayerViewController adalah pemutar Apple untuk iOS, macOS, tvOS. AVPlayer adalah API tingkat rendah, AVPlayerViewController adalah pembungkus UI siap pakai dengan PiP dan AirPlay. Perbedaan utama: ExoPlayer memberikan kontrol penuh atas buffering dan rendering, AVPlayerViewController memberikan integrasi cepat dengan kode minimal. Pilihan pemutar secara langsung mempengaruhi kualitas streaming di aplikasi seluler.

kotlin
// ExoPlayer — pengaturan pemutar dasar di Android
val player = ExoPlayer.Builder(this)
    .setMediaSource(ProgressiveMediaSource.Factory(DefaultHttpDataSource.Factory()))
    .build()
val mediaItem = MediaItem.fromUri("https://example.com/stream.m3u8")
player.setMediaItem(mediaItem)
player.prepare()
player.playWhenReady = true

Kode menunjukkan inisialisasi minimal ExoPlayer: membuat instance, mengatur item media, dan memulai pemutaran. ExoPlayer secara otomatis menangani siklus hidup Activity melalui player.release() di onStop. Untuk Android TV atau PiP, diperlukan penanganan siklus hidup tambahan melalui PlayerView — ini sangat penting saat menyiapkan streaming untuk aplikasi seluler.

Transcoding dan pemrosesan video

Transcoding adalah mengonversi video dari satu format ke format lainnya. Ini digunakan untuk mengoptimalkan aliran media untuk berbagai perangkat seluler (misalnya, H.264 → H.265). Di perangkat seluler, transcoding dimungkinkan melalui MediaCodec (Android) atau AVAssetExportSession (iOS). Transcoding intensif sumber daya dan menguras baterai — lakukan di latar belakang melalui WorkManager atau BGTaskScheduler.

DRM: Widevine, FairPlay, dan PlayReady

Digital Rights Management (DRM) adalah sistem untuk melindungi konten media dari penyalinan tidak sah. Tiga teknologi utama digunakan untuk streaming media premium di aplikasi seluler: Widevine (Google), FairPlay (Apple), dan PlayReady (Microsoft). Tanpa DRM, layanan premium (Netflix, Spotify, Disney+) tidak dapat mendistribusikan konten.

Perbandingan sistem DRM

Widevine adalah standar perlindungan DRM untuk Android, tersedia dalam tiga tingkat: L3 (enkripsi perangkat lunak), L2, L1 (enkripsi perangkat keras, hanya Trusted Execution Environment). FairPlay adalah sistem eksklusif Apple, menggunakan SVP (Secure Video Pipeline) di tingkat chip. PlayReady adalah sistem Microsoft, tersebar luas di perangkat Xbox dan Windows.

Multi-DRM adalah pendekatan di mana Anda menggunakan satu platform untuk mengelola semua kunci DRM. Contoh: EZDRM atau Verimatrix. Mereka mengeluarkan lisensi Widevine, FairPlay, dan PlayReady melalui API terpadu. Multi-DRM sangat relevan untuk media premium di perangkat seluler. Di IT Sectr, kami mengimplementasikan multi-DRM melalui agregator — ini menghemat waktu dan uang dibandingkan dengan mengintegrasikan setiap DRM secara terpisah.

Pemutaran Audio: Audio Focus dan Audio Session

Audio Focus (Android) adalah sistem manajemen aliran audio untuk pemutaran media di aplikasi seluler. Saat aplikasi Anda meminta Audio Focus, aplikasi lain (musik, podcast) akan menjeda atau menurunkan volumenya (ducking). Tanpa Audio Focus, dua aplikasi akan diputar secara bersamaan, menimbulkan kebisingan.

Audio Focus di Android

Android membagi aliran audio menjadi beberapa jenis: MUSIC, VOICE_CALL, ALARM, NOTIFICATION. Untuk pemutar media, Anda perlu meminta AudioManager.AUDIOFOCUS_GAIN. Saat kehilangan fokus (panggilan masuk), Anda harus menjeda pemutaran media dan melanjutkannya setelah fokus kembali. Implementasi melalui AudioManager.OnAudioFocusChangeListener.

Audio Session di iOS

Audio Session (iOS) adalah padanan Audio Focus untuk aplikasi media di perangkat seluler Apple. Ini dikonfigurasi melalui AVAudioSession.sharedInstance(). Kategori: .playback (wajib untuk video), .soloAmbient (default, senyap saat dikunci), .playAndRecord (untuk perekaman). Untuk streaming, gunakan .playback dengan opsi .allowAirPlay.

PiP dan AirPlay

Picture-in-Picture (PiP) adalah mode di mana konten media terus diputar di jendela kecil mengambang saat aplikasi diperkecil atau berpindah ke layar lain. PiP telah menjadi standar untuk aplikasi media di perangkat seluler — iOS (sejak iPadOS 13) dan Android (sejak Android 8.0).

PiP di Android

Di Android, PiP diaktifkan melalui Activity.isInPictureInPictureMode() dan PictureInPictureParams.Builder. Aplikasi harus dalam mode multi-jendela. MediaSession diperlukan untuk mengontrol pemutaran media dari jendela PiP. Di manifes, tentukan android:supportsPictureInPicture="true".

AirPlay dan Chromecast

AirPlay adalah protokol Apple untuk streaming media ke Apple TV, HomePod, dan Smart TV yang kompatibel. Di iOS, ini diimplementasikan melalui AVRoutePickerView atau MPNowPlayingInfoCenter. Di Android, padanannya adalah Google Cast SDK (Chromecast). Kedua teknologi memerlukan konfigurasi di file biner dan dukungan di pemutar. Streaming berkualitas di aplikasi seluler tidak mungkin tanpa salah satunya.

Pertanyaan yang Sering Diajukan

Mana yang lebih baik: HLS atau DASH untuk aplikasi seluler?

Untuk iOS, HLS lebih baik — didukung secara native oleh AVPlayer. Untuk Android dan aplikasi lintas platform, DASH lebih disukai karena ExoPlayer memberikan dukungan DASH yang lebih baik dan kontrol buffering yang lebih fleksibel. Pilihan protokol secara langsung mempengaruhi streaming di aplikasi seluler.

Apakah DRM wajib digunakan di aplikasi streaming?

DRM wajib hanya jika Anda mendistribusikan konten media premium (film, musik, kursus). Untuk konten buatan pengguna atau siaran free-to-air, DRM tidak diperlukan. IT Sectr merekomendasikan memulai tanpa DRM dan menambahkannya hanya saat diperlukan.

Apa perbedaan antara ExoPlayer dan AVPlayerViewController?

ExoPlayer adalah pemutar media yang dapat disesuaikan untuk Android dengan dukungan DASH, HLS, dan SmoothStreaming. AVPlayerViewController adalah pemutar native iOS untuk HLS dengan PiP dan AirPlay. ExoPlayer memberikan lebih banyak kontrol, AVPlayerViewController membutuhkan lebih sedikit kode. Keduanya memberikan pemutaran media berkualitas di aplikasi seluler.

Apa itu Picture-in-Picture (PiP) dan bagaimana cara mengimplementasikannya?

PiP adalah mode di mana konten media terus diputar di jendela kecil saat aplikasi diperkecil. Di iOS diaktifkan melalui delegasi AVPlayerViewController, di Android melalui PictureInPictureParams. Membutuhkan konfigurasi manifes dan penanganan siklus hidup.

Mengapa Audio Focus dan Audio Session diperlukan?

Audio Focus (Android) dan Audio Session (iOS) mengelola pemutaran audio secara bersamaan dari sumber yang berbeda. Mereka memastikan aplikasi media Anda merespons dengan benar terhadap panggilan, notifikasi, dan peluncuran aplikasi audio lainnya.

Ringkasan

  • HLS adalah standar untuk iOS, DASH untuk Android. Pilihan protokol tergantung pada platform target dan persyaratan latensi rendah.
  • ExoPlayer memberikan kontrol penuh atas pemutaran media di Android. AVPlayerViewController memberikan integrasi cepat di iOS.
  • DRM (Widevine, FairPlay, PlayReady) melindungi konten media premium dari pembajakan. Multi-DRM adalah pendekatan standar untuk layanan premium.
  • Audio Focus (Android) dan Audio Session (iOS) mengelola konteks audio aplikasi. Penting untuk aplikasi seluler dengan pemutaran media.
  • Picture-in-Picture dan AirPlay adalah fitur utama untuk aplikasi media modern. Implementasi memerlukan konfigurasi siklus hidup dan pemutar.
  • Adaptive Bitrate (ABR) secara otomatis menyesuaikan kualitas video dengan kecepatan koneksi di perangkat seluler. Gunakan tugas latar belakang untuk transcoding.
  • Hardware Decoding menghemat baterai perangkat seluler. Selalu periksa dukungan codec melalui API sistem sebelum memulai pemutaran.

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