Mobil inkişafda media və streaming: bu nədir, hansı protokollar və necə işləyir

Müəllif: IT Sectr Dərc olunub: 2026-05-20 Oxuma vaxtı: 10 dəq

Media və streaming müasir mobil inkişafın əsas bacarıqlarından biridir. Statista (2025) məlumatına görə, qlobal video streaming bazarı 2027-ci ilədək 100 milyard dolları keçəcək. Mobil cihazlar bütün streaming platformalarının trafikinin 60%-dən çoxunu təşkil edir. Tərtibatçı protokolları, pleyerləri, məzmun qoruma mexanizmlərini və Picture-in-Picture kimi funksiyaları başa düşməlidir. Mobil tətbiqlərdə keyfiyyətli streaming bütün bu texnologiyalara yiyələnməyi tələb edir.

Əsas məqamlar

  • Əsas streaming protokolları — HLS (Apple) və DASH (MPEG). HLS iOS üçün, DASH Android və çarpaz platforma həlləri üçün üstünlük təşkil edir.
  • ExoPlayer (Android) və AVPlayer (iOS) standart pleyerlərdir. ExoPlayer daha çevikdir, AVPlayer inteqrasiyası daha asandır. Çarpaz platforma inkişafı üçün Google Cast SDK mövcuddur.
  • DRM sistemləri (Widevine, FairPlay, PlayReady) premium məzmunu qoruyur. Widevine Android üçün, FairPlay iOS üçün, PlayReady Windows/Xbox üçün standartdır.
  • Audio Focus (Android) və Audio Session (iOS) zənglər və bildirişlər zamanı səs oxutmanı idarə edir. Onlar olmadan istifadəçi təcrübəsi natamam olacaq.
  • Picture-in-Picture və AirPlay premium video tətbiqləri üçün məcburi funksiyalardır. PiP tətbiqi kiçikldərkən mini pəncərədə video izləməyə imkan verir.

HLS və DASH protokolları

HTTP Live Streaming (HLS) Apple tərəfindən hazırlanmış mobil tətbiqlərdə streaming üçün protokoldur. Videonu kiçik seqmentlərə (adətən 6–10 saniyə) bölür və onları adi HTTP vasitəsilə ötürür. Pleyer pleylist (.m3u8) yükləyir və ardıcıl olaraq seqmentləri yükləyərək keyfiyyəti əlaqə sürətinə uyğunlaşdırır. HLS bütün Apple cihazlarında mobil tətbiqlərdə etibarlı streaming təmin edir və iOS üçün de-fakto standartdır.

HLS vs DASH

DASH (Dynamic Adaptive Streaming over HTTP) mobil tətbiqlərə media çatdırılması üçün açıq MPEG standartıdır. HLS-dən fərqli olaraq, DASH seqmentlər üçün MP4 formatı və .m3u8 əvəzinə XML manifest (MPD) istifadə edir. DASH kodeklər üzərində daha çox nəzarət verir və daha çox formatı dəstəkləyir. HLS və DASH arasında seçim mobil cihazlar üçün streaming hazırlayarkən əsas qərardır. Protokolların müqayisəsi aşağıdakı cədvəldə göstərilmişdir.

Parametr HLS DASH
TərtibatçıAppleMPEG (açıq standart)
Pleylist formatı.m3u8.mpd (XML)
Seqmentlər.ts və ya fMP4fMP4 (istənilən kodek)
Yerli dəstəkiOS, macOS, tvOSAndroid, veb
Adaptiv bitrateBəli (avc1, mp4a)Bəli (istənilən kodek)
Aşağı gecikməLL-HLS (2–5 san)LL-DASH (2–5 san)

Praktikada iOS tətbiqləri HLS seçir — AVPlayer onunla yerli işləyir. Android üçün ExoPlayer sayəsində DASH üstünlük təşkil edir. Hər iki protokol mobil cihazlarda media streaming üçün uyğundur. IT Sectr-da hər iki texnologiyadan istifadə edirik və protokolu hədəf platformaya əsasən seçməyi tövsiyə edirik.

Adaptiv bitrate və kodeklər

Adaptive Bitrate (ABR) pleyerin əlaqə sürətinə əsasən avtomatik olaraq video keyfiyyətini seçdiyi mexanizmdir. Stream bir neçə bitrate-də (360p, 720p, 1080p, 4K) kodlanır. Pleyer fasiləsiz olaraq onların arasında keçid edir. Kodeklər: H.264 (AVC) — əsas, H.265 (HEVC) — 50% daha səmərəli, VP9 və AV1 — Android üçün açıq alternativlər.

Mobil tətbiqlərdə aparat dekodlanması üçün düzgün kodek seçmək vacibdir. Hardware Decoding cihazın GPU/video prosessorundan istifadə edir və daha az batareya sərf edir. Software Decoding CPU-da işləyir — aparat dekodlanması mövcud olmadıqda istifadə olunur. IT Sectr mobil cihazlarda optimal media oxutma üçün MediaCodec (Android) və ya AVAssetTrack (iOS) vasitəsilə kodek dəstəyini həmişə yoxlamağı tövsiyə edir.

Pleyerlər: ExoPlayer və AVPlayer

ExoPlayer Google tərəfindən Android üçün media pleyeridir, mobil tətbiqlərdə media oxutma üçün optimallaşdırılıb. MediaPlayer-dən fərqli olaraq, ExoPlayer aparat dekodlanmasına bağlı deyil və genişləndirmə modulları vasitəsilə xüsusi sxemləri dəstəkləyir. HLS, DASH, SmoothStreaming və RTSP ilə işləyir. ExoPlayer YouTube, Google TV və Android TV-nin əsas pleyeridir.

ExoPlayer vs AVPlayerViewController

AVPlayer və AVPlayerViewController iOS, macOS, tvOS üçün Apple pleyerləridir. AVPlayer aşağı səviyyəli API, AVPlayerViewController PiP və AirPlay ilə hazır UI sarğıcıdır. Əsas fərqlər: ExoPlayer buferləmə və renderinq üzərində tam nəzarət verir, AVPlayerViewController minimal kodla sürətli inteqrasiya təmin edir. Pleyer seçimi birbaşa mobil tətbiqlərdə streaming keyfiyyətinə təsir edir.

kotlin
// ExoPlayer — Android-də əsas pleyer qurulumu
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

Kod ExoPlayer-ın minimal başlanğıcını göstərir: nümunə yaratma, media elementi təyin etmə və oxutmanı başlatma. ExoPlayer onStop-da player.release() vasitəsilə Activity həyat dövrünü avtomatik idarə edir. Android TV və ya PiP üçün PlayerView vasitəsilə əlavə həyat dövrü idarəetməsi tələb olunur — bu mobil tətbiqlər üçün streaming qurarkən xüsusilə vacibdir.

Transcoding və video emalı

Transcoding videonun bir formatdan digərinə çevrilməsidir. Müxtəlif mobil cihazlar üçün media stream-lərini optimallaşdırmaq üçün istifadə olunur (məsələn, H.264 → H.265). Mobil cihazlarda transcoding MediaCodec (Android) və ya AVAssetExportSession (iOS) vasitəsilə mümkündür. Transcoding resurs tutumludur və batareyanı boşaldır — onu WorkManager və ya BGTaskScheduler vasitəsilə fonda edin.

DRM: Widevine, FairPlay və PlayReady

Digital Rights Management (DRM) media məzmununu icazəsiz kopyalamadan qoruyan sistemlərdir. Mobil tətbiqlərdə premium media streaming üçün üç əsas texnologiya istifadə olunur: Widevine (Google), FairPlay (Apple) və PlayReady (Microsoft). DRM olmadan premium xidmətlər (Netflix, Spotify, Disney+) məzmun paylaya bilməz.

DRM sistemlərinin müqayisəsi

Widevine Android üçün DRM qoruma standartıdır, üç səviyyədə mövcuddur: L3 (proqram şifrələmə), L2, L1 (aparat şifrələmə, yalnız Trusted Execution Environment). FairPlay Apple-ın eksklüziv sistemidir, çip səviyyəsində SVP (Secure Video Pipeline) istifadə edir. PlayReady Microsoft-un sistemidir, Xbox və Windows cihazlarında geniş yayılmışdır.

Multi-DRM bütün DRM açarlarını idarə etmək üçün vahid platformadan istifadə etdiyiniz yanaşmadır. Nümunə: EZDRM və ya Verimatrix. Onlar vahid API vasitəsilə Widevine, FairPlay və PlayReady lisenziyaları verir. Multi-DRM mobil cihazlarda premium media üçün xüsusilə aktualdır. IT Sectr-da biz aqreqatorlar vasitəsilə multi-DRM həyata keçiririk — bu, hər DRM-ni ayrıca inteqrasiya etməklə müqayisədə vaxt və pul qənaət edir.

Səs oxutma: Audio Focus və Audio Session

Audio Focus (Android) mobil tətbiqlərdə media oxutma üçün səs axını idarəetmə sistemidir. Tətbiqiniz Audio Focus tələb etdikdə, digər tətbiqlər (musiqi, podkastlar) dayanır və ya səsini aşağı salır (ducking). Audio Focus olmadan iki tətbiq eyni anda çalaraq səs-küy yaradar.

Android-də Audio Focus

Android səs axınlarını növlərə ayırır: MUSIC, VOICE_CALL, ALARM, NOTIFICATION. Media pleyer üçün AudioManager.AUDIOFOCUS_GAIN tələb etməlisiniz. Fokus itirildikdə (daxil olan zəng) media oxutmanı dayandırmalı və fokus qayıtdıqda bərpa etməlisiniz. Tətbiq AudioManager.OnAudioFocusChangeListener vasitəsilə həyata keçirilir.

iOS-da Audio Session

Audio Session (iOS) Apple mobil cihazlarında media tətbiqləri üçün Audio Focus-un ekvivalentidir. AVAudioSession.sharedInstance() vasitəsilə konfiqurasiya edilir. Kateqoriyalar: .playback (video üçün məcburi), .soloAmbient (defolt, bağlandıqda səssiz), .playAndRecord (yazmaq üçün). Streaming üçün .allowAirPlay seçimi ilə .playback istifadə edin.

PiP və AirPlay

Picture-in-Picture (PiP) tətbiq kiçildildikdə və ya başqa ekrana keçdikdə media məzmununun kiçik üzən pəncərədə oxumağa davam etdiyi rejimdir. PiP mobil cihazlarda media tətbiqləri üçün standart halına gəlib — iOS (iPadOS 13-dən) və Android (Android 8.0-dən).

Android-də PiP

Android-də PiP Activity.isInPictureInPictureMode() və PictureInPictureParams.Builder vasitəsilə aktivləşdirilir. Tətbiq çoxpəncərə rejimində olmalıdır. PiP pəncərəsindən media oxutmanı idarə etmək üçün MediaSession tələb olunur. Manifestdə android:supportsPictureInPicture="true" göstərin.

AirPlay və Chromecast

AirPlay Apple TV, HomePod və uyğun Smart TV-lərə media streaming etmək üçün Apple protokoludur. iOS-da AVRoutePickerView və ya MPNowPlayingInfoCenter vasitəsilə həyata keçirilir. Android-də ekvivalent Google Cast SDK (Chromecast)-dir. Hər iki texnologiya ikili faylda konfiqurasiya və pleyer dəstəyi tələb edir. Onlardan biri olmadan mobil tətbiqlərdə keyfiyyətli streaming mümkün deyil.

Tez-tez verilən suallar

Mobil tətbiq üçün hansı daha yaxşıdır: HLS yoxsa DASH?

iOS üçün HLS daha yaxşıdır — AVPlayer tərəfindən yerli dəstəklənir. Android və çarpaz platforma tətbiqləri üçün DASH üstünlük təşkil edir, çünki ExoPlayer DASH-ı daha yaxşı dəstəkləyir və buferləməyə daha çevik nəzarət edir. Protokol seçimi birbaşa mobil tətbiqlərdə streaming-ə təsir edir.

Streaming tətbiqində DRM istifadə etmək məcburidir?

DRM məcburidir yalnız premium media məzmunu (filmlər, musiqi, kurslar) paylayırsınızsa. İstifadəçi tərəfindən yaradılan məzmun və ya pulsuz yayımlar üçün DRM lazım deyil. IT Sectr DRM olmadan başlamağı və yalnız tələb olunduqda əlavə etməyi tövsiyə edir.

ExoPlayer və AVPlayerViewController arasında nə fərq var?

ExoPlayer DASH, HLS və SmoothStreaming dəstəyi ilə Android üçün fərdiləşdirilə bilən media pleyerdir. AVPlayerViewController PiP və AirPlay ilə iOS üçün yerli pleyerdir. ExoPlayer daha çox nəzarət verir, AVPlayerViewController daha az kod tələb edir. Hər ikisi mobil tətbiqlərdə keyfiyyətli media oxutma təmin edir.

Picture-in-Picture (PiP) nədir və onu necə tətbiq etməli?

PiP tətbiq kiçildildikdə media məzmununun kiçik pəncərədə oxumağa davam etdiyi rejimdir. iOS-da AVPlayerViewController delegatı vasitəsilə, Android-də PictureInPictureParams vasitəsilə aktivləşdirilir. Manifest konfiqurasiyası və həyat dövrü idarəetməsi tələb edir.

Audio Focus və Audio Session nə üçün lazımdır?

Audio Focus (Android) və Audio Session (iOS) müxtəlif mənbələrdən eyni vaxtda səs oxutmanı idarə edir. Onlar media tətbiqinizin zənglərə, bildirişlərə və digər audio tətbiqlərin işə salınmasına düzgün cavab verməsini təmin edir.

Xülasə

  • HLS iOS üçün standartdır, DASH Android üçün. Protokol seçimi hədəf platformadan və aşağı gecikmə tələblərindən asılıdır.
  • ExoPlayer Android-də media oxutmaya tam nəzarət verir. AVPlayerViewController iOS-da sürətli inteqrasiya təmin edir.
  • DRM (Widevine, FairPlay, PlayReady) premium media məzmununu piratçılıqdan qoruyur. Multi-DRM premium xidmətlər üçün standart yanaşmadır.
  • Audio Focus (Android) və Audio Session (iOS) tətbiqin audio kontekstini idarə edir. Media oxutma ilə mobil tətbiqlər üçün məcburidir.
  • Picture-in-Picture və AirPlay müasir media tətbiqlərinin əsas funksiyalarıdır. Tətbiq həyat dövrü və pleyer konfiqurasiyası tələb edir.
  • Adaptive Bitrate (ABR) mobil cihazlarda əlaqə sürətinə görə avtomatik video keyfiyyətini tənzimləyir. Transcoding üçün fon tapşırıqlarından istifadə edin.
  • Hardware Decoding mobil cihazların batareyasına qənaət edir. Oxutmağa başlamazdan əvvəl həmişə sistem API-ləri vasitəsilə kodek dəstəyini yoxlayın.

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et