Media și streaming în dezvoltarea mobilă: ce este, ce protocoale și cum funcționează

Autor: IT Sectr Publicat: 2026-05-20 Timp de citire: 10 min

Media și streaming reprezintă una dintre competențele cheie ale dezvoltării mobile moderne. Potrivit Statista (2025), piața globală de streaming video va depăși 100 de miliarde de dolari până în 2027. Dispozitivele mobile reprezintă peste 60% din întregul trafic al platformelor de streaming. Dezvoltatorul trebuie să înțeleagă protocoale, playere, mecanisme de protecție a conținutului și funcții precum Picture-in-Picture. Streamingul de calitate în aplicațiile mobile necesită stăpânirea tuturor acestor tehnologii.

Puncte principale

  • Principalele protocoale de streaming sunt HLS (Apple) și DASH (MPEG). HLS este preferabil pentru iOS, DASH pentru Android și soluții cross-platform.
  • ExoPlayer (Android) și AVPlayer (iOS) sunt playerele standard. ExoPlayer este mai flexibil, AVPlayer este mai ușor de integrat. Pentru dezvoltarea cross-platform există Google Cast SDK.
  • Sistemele DRM (Widevine, FairPlay, PlayReady) protejează conținutul premium. Widevine este standardul pentru Android, FairPlay pentru iOS, PlayReady pentru Windows/Xbox.
  • Audio Focus (Android) și Audio Session (iOS) gestionează redarea audio în timpul apelurilor și notificărilor. Fără ele, experiența utilizatorului va fi incompletă.
  • Picture-in-Picture și AirPlay sunt funcții esențiale pentru aplicațiile video premium. PiP permite vizionarea videoclipurilor într-o fereastră miniaturală la minimizarea aplicației.

Protocoalele HLS și DASH

HTTP Live Streaming (HLS) este un protocol pentru streaming în aplicațiile mobile dezvoltat de Apple. Împarte videoclipul în segmente mici (de obicei 6–10 secunde) și le transmite prin HTTP obișnuit. Playerul descarcă o listă de redare (.m3u8) și încarcă secvențial segmentele, adaptând calitatea la viteza conexiunii. HLS asigură un streaming fiabil în aplicațiile mobile pe toate dispozitivele Apple și este standardul de facto pentru iOS.

HLS vs DASH

DASH (Dynamic Adaptive Streaming over HTTP) este un standard deschis MPEG pentru livrarea de conținut media către aplicațiile mobile. Spre deosebire de HLS, DASH utilizează formatul MP4 pentru segmente și un manifest XML (MPD) în loc de .m3u8. DASH oferă mai mult control asupra codecurilor și suportă mai multe formate. Alegerea între HLS și DASH este o decizie cheie atunci când se dezvoltă streaming pentru dispozitive mobile. Comparația protocoalelor este prezentată în tabelul de mai jos.

Parametru HLS DASH
DezvoltatorAppleMPEG (standard deschis)
Format listă de redare.m3u8.mpd (XML)
Segmente.ts sau fMP4fMP4 (orice codec)
Suport nativiOS, macOS, tvOSAndroid, web
Rată de biți adaptivăDa (avc1, mp4a)Da (orice codec)
Latență redusăLL-HLS (2–5 s)LL-DASH (2–5 s)

În practică, aplicațiile iOS aleg HLS — AVPlayer funcționează nativ cu acesta. Pentru Android, DASH este preferat datorită ExoPlayer. Ambele protocoale sunt potrivite pentru streaming media pe dispozitive mobile. La IT Sectr, folosim ambele tehnologii și recomandăm alegerea protocolului în funcție de platforma țintă.

Rată de biți adaptivă și codecuri

Adaptive Bitrate (ABR) este un mecanism prin care playerul selectează automat calitatea videoclipului în funcție de viteza conexiunii. Fluxul este codat la mai multe rate de biți (360p, 720p, 1080p, 4K). Playerul comută între ele fără întreruperi. Codecuri: H.264 (AVC) — de bază, H.265 (HEVC) — cu 50% mai eficient, VP9 și AV1 — alternative deschise pentru Android.

Pentru decodarea hardware în aplicațiile mobile, este important să alegeți codecul potrivit. Hardware Decoding utilizează GPU/procesorul video al dispozitivului și consumă mai puțină baterie. Software Decoding funcționează pe CPU — utilizat atunci când decodarea hardware nu este disponibilă. IT Sectr recomandă să verificați întotdeauna suportul codecurilor prin MediaCodec (Android) sau AVAssetTrack (iOS) pentru o redare optimă a conținutului media pe dispozitivele mobile.

Playere: ExoPlayer și AVPlayer

ExoPlayer este un player media de la Google pentru Android, optimizat pentru redarea conținutului media în aplicațiile mobile. Spre deosebire de MediaPlayer, ExoPlayer nu este legat de decodarea hardware și suportă scheme personalizate prin module de extensie. Funcționează cu HLS, DASH, SmoothStreaming și RTSP. ExoPlayer este playerul principal pentru YouTube, Google TV și Android TV.

ExoPlayer vs AVPlayerViewController

AVPlayer și AVPlayerViewController sunt playerele Apple pentru iOS, macOS, tvOS. AVPlayer este o API de nivel scăzut, AVPlayerViewController este un înveliș UI gata făcut cu PiP și AirPlay. Diferențe principale: ExoPlayer oferă control total asupra stocării în tampon și redării, AVPlayerViewController oferă integrare rapidă cu cod minim. Alegerea playerului afectează direct calitatea streamingului în aplicațiile mobile.

kotlin
// ExoPlayer — configurarea playerului de bază pe 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

Codul arată inițializarea minimă a ExoPlayer: crearea unei instanțe, setarea elementului media și pornirea redării. ExoPlayer gestionează automat ciclul de viață al Activity prin player.release() în onStop. Pentru Android TV sau PiP, este necesară o gestionare suplimentară a ciclului de viață prin PlayerView — acest lucru este deosebit de important la configurarea streamingului pentru aplicațiile mobile.

Transcodarea și procesarea video

Transcoding este conversia unui videoclip dintr-un format în altul. Este utilizat pentru optimizarea fluxurilor media pentru diferite dispozitive mobile (de exemplu, H.264 → H.265). Pe dispozitivele mobile, transcodarea este posibilă prin MediaCodec (Android) sau AVAssetExportSession (iOS). Transcodarea consumă multe resurse și descarcă bateria — faceți-o în fundal, prin WorkManager sau BGTaskScheduler.

DRM: Widevine, FairPlay și PlayReady

Digital Rights Management (DRM) sunt sisteme de protecție a conținutului media împotriva copierii neautorizate. Pentru streamingul media premium în aplicațiile mobile se folosesc trei tehnologii principale: Widevine (Google), FairPlay (Apple) și PlayReady (Microsoft). Fără DRM, serviciile premium (Netflix, Spotify, Disney+) nu pot distribui conținut.

Compararea sistemelor DRM

Widevine este standardul de protecție DRM pentru Android, disponibil în trei niveluri: L3 (criptare software), L2, L1 (criptare hardware, numai Trusted Execution Environment). FairPlay este sistemul exclusiv Apple, utilizează SVP (Secure Video Pipeline) la nivel de cip. PlayReady este sistemul Microsoft, răspândit pe dispozitive Xbox și Windows.

Multi-DRM este o abordare în care utilizați o singură platformă pentru a gestiona toate cheile DRM. Exemplu: EZDRM sau Verimatrix. Acestea emit licențe Widevine, FairPlay și PlayReady printr-o API unificată. Multi-DRM este deosebit de relevant pentru media premium pe dispozitive mobile. La IT Sectr, implementăm multi-DRM prin agregatori — acest lucru economisește timp și bani în comparație cu integrarea fiecărui DRM separat.

Redare audio: Audio Focus și Audio Session

Audio Focus (Android) este un sistem de gestionare a fluxurilor audio pentru redarea media în aplicațiile mobile. Când aplicația dvs. solicită Audio Focus, alte aplicații (muzică, podcasturi) se opresc temporar sau își reduc volumul (ducking). Fără Audio Focus, două aplicații ar reda simultan, creând zgomot.

Audio Focus pe Android

Android împarte fluxurile audio în tipuri: MUSIC, VOICE_CALL, ALARM, NOTIFICATION. Pentru un player media, trebuie să solicitați AudioManager.AUDIOFOCUS_GAIN. La pierderea focalizării (apel primit), trebuie să întrerupeți redarea media și să o reluați după revenirea focalizării. Implementare prin AudioManager.OnAudioFocusChangeListener.

Audio Session pe iOS

Audio Session (iOS) este echivalentul Audio Focus pentru aplicațiile media pe dispozitivele mobile Apple. Se configurează prin AVAudioSession.sharedInstance(). Categorii: .playback (obligatoriu pentru video), .soloAmbient (implicit, tăcere la blocare), .playAndRecord (pentru înregistrare). Pentru streaming, utilizați .playback cu opțiunea .allowAirPlay.

PiP și AirPlay

Picture-in-Picture (PiP) este un mod în care conținutul media continuă să se redea într-o fereastră mică plutitoare la minimizarea aplicației sau navigarea către un alt ecran. PiP a devenit un standard pentru aplicațiile media pe dispozitivele mobile — iOS (de la iPadOS 13) și Android (de la Android 8.0).

PiP pe Android

Pe Android, PiP se activează prin Activity.isInPictureInPictureMode() și PictureInPictureParams.Builder. Aplicația trebuie să fie în modul multi-fereastră. MediaSession este necesar pentru a controla redarea media din fereastra PiP. În manifest, specificați android:supportsPictureInPicture="true".

AirPlay și Chromecast

AirPlay este protocolul Apple pentru streaming media către Apple TV, HomePod și Smart TV-uri compatibile. Pe iOS, se implementează prin AVRoutePickerView sau MPNowPlayingInfoCenter. Pe Android, echivalentul este Google Cast SDK (Chromecast). Ambele tehnologii necesită configurare în fișierul binar și suport în player. Streamingul de calitate în aplicațiile mobile este imposibil fără una dintre ele.

Întrebări frecvente

Ce este mai bun: HLS sau DASH pentru o aplicație mobilă?

Pentru iOS este mai bun HLS — este suportat nativ de AVPlayer. Pentru Android și aplicațiile cross-platform, DASH este preferabil, deoarece ExoPlayer oferă un suport mai bun pentru DASH și un control mai flexibil al stocării în tampon. Alegerea protocolului afectează direct streamingul în aplicațiile mobile.

Este obligatoriu să utilizați DRM într-o aplicație de streaming?

DRM este obligatoriu numai dacă distribuiți conținut media premium (filme, muzică, cursuri). Pentru conținutul generat de utilizatori sau transmisiile free-to-air, DRM nu este necesar. IT Sectr recomandă să începeți fără DRM și să îl adăugați doar la cerere.

Care este diferența dintre ExoPlayer și AVPlayerViewController?

ExoPlayer este un player media personalizabil pentru Android cu suport pentru DASH, HLS și SmoothStreaming. AVPlayerViewController este un player nativ iOS pentru HLS cu PiP și AirPlay. ExoPlayer oferă mai mult control, AVPlayerViewController necesită mai puțin cod. Ambele asigură o redare media de calitate în aplicațiile mobile.

Ce este Picture-in-Picture (PiP) și cum se implementează?

PiP este un mod în care conținutul media continuă să se redea într-o fereastră mică la minimizarea aplicației. Pe iOS se activează prin delegatul AVPlayerViewController, pe Android prin PictureInPictureParams. Necesită configurarea manifestului și gestionarea ciclului de viață.

De ce sunt necesare Audio Focus și Audio Session?

Audio Focus (Android) și Audio Session (iOS) gestionează redarea audio simultană din diferite surse. Acestea asigură că aplicația dvs. media răspunde corect la apeluri, notificări și lansarea altor aplicații audio.

Rezumat

  • HLS este standardul pentru iOS, DASH pentru Android. Alegerea protocolului depinde de platforma țintă și de cerințele de latență redusă.
  • ExoPlayer oferă control complet asupra redării media pe Android. AVPlayerViewController oferă integrare rapidă pe iOS.
  • DRM (Widevine, FairPlay, PlayReady) protejează conținutul media premium împotriva pirateriei. Multi-DRM este abordarea standard pentru serviciile premium.
  • Audio Focus (Android) și Audio Session (iOS) gestionează contextul audio al aplicației. Esențiale pentru aplicațiile mobile cu redare media.
  • Picture-in-Picture și AirPlay sunt funcții cheie pentru aplicațiile media moderne. Implementarea necesită configurarea ciclului de viață și a playerului.
  • Adaptive Bitrate (ABR) ajustează automat calitatea videoclipului la viteza conexiunii pe dispozitivele mobile. Utilizați sarcini în fundal pentru transcodare.
  • Hardware Decoding economisește bateria dispozitivelor mobile. Verificați întotdeauna suportul codecurilor prin API-urile sistemului înainte de a începe redarea.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul