Mobil ishlab chiqishda media va striming: bu nima, qanday protokollar va qanday ishlaydi

Muallif: IT Sectr Nashr etilgan: 2026-05-20 O'qish vaqti: 10 daq

Media va striming zamonaviy mobil ishlab chiqishning asosiy kompetensiyalaridan biridir. Statista (2025) ma'lumotlariga ko'ra, global video striming bozori 2027 yilga kelib 100 milliard dollardan oshadi. Mobil qurilmalar barcha striming platformalari trafigining 60% dan ortig'ini tashkil qiladi. Ishlab chiqaruvchi protokollarni, pleyerlarni, kontent himoyasi mexanizmlarini va Picture-in-Picture kabi funksiyalarni tushunishi kerak. Mobil ilovalarda sifatli striming barcha ushbu texnologiyalarni egallashni talab qiladi.

Asosiy nuqtalar

  • Asosiy striming protokollari — HLS (Apple) va DASH (MPEG). HLS iOS uchun, DASH Android va kross-platforma yechimlari uchun afzal.
  • ExoPlayer (Android) va AVPlayer (iOS) standart pleyerlardir. ExoPlayer moslashuvchanroq, AVPlayer integratsiyasi osonroq. Kross-platforma ishlab chiqish uchun Google Cast SDK mavjud.
  • DRM tizimlari (Widevine, FairPlay, PlayReady) premium kontentni himoya qiladi. Widevine Android uchun, FairPlay iOS uchun, PlayReady Windows/Xbox uchun standart.
  • Audio Focus (Android) va Audio Session (iOS) qo'ng'iroqlar va bildirishnomalar paytida audio tinglashni boshqaradi. Ularsiz foydalanuvchi tajribasi to'liq bo'lmaydi.
  • Picture-in-Picture va AirPlay premium video ilovalari uchun majburiy funksiyalardir. PiP ilovani kichiklashtirganda mini-oynada video ko'rish imkonini beradi.

HLS va DASH protokollari

HTTP Live Streaming (HLS) Apple tomonidan ishlab chiqilgan mobil ilovalarda striming uchun protokol. U videoni kichik segmentlarga (odatda 6–10 soniya) ajratadi va ularni oddiy HTTP orqali uzatadi. Pleyer pleylist (.m3u8) yuklab oladi va segmentlarni ketma-ket yuklab, sifatni ulanish tezligiga moslashtiradi. HLS barcha Apple qurilmalarida mobil ilovalarda ishonchli strimingni ta'minlaydi va iOS uchun de-fakto standartdir.

HLS vs DASH

DASH (Dynamic Adaptive Streaming over HTTP) mobil ilovalarga media yetkazib berish uchun ochiq MPEG standartidir. HLS dan farqli o'laroq, DASH segmentlar uchun MP4 formatidan va .m3u8 o'rniga XML manifest (MPD) dan foydalanadi. DASH kodeklar ustidan ko'proq nazorat beradi va ko'proq formatlarni qo'llab-quvvatlaydi. HLS va DASH o'rtasidagi tanlov mobil qurilmalar uchun striming ishlab chiqishda asosiy qarordir. Protokollarni taqqoslash quyidagi jadvalda keltirilgan.

Parametr HLS DASH
Ishlab chiqaruvchiAppleMPEG (ochiq standart)
Pleylist formati.m3u8.mpd (XML)
Segmentlar.ts yoki fMP4fMP4 (istalgan kodek)
Mahalliy qo'llab-quvvatlashiOS, macOS, tvOSAndroid, veb
Adaptiv bitrateHa (avc1, mp4a)Ha (istalgan kodek)
Past kechikishLL-HLS (2–5 s)LL-DASH (2–5 s)

Amalda, iOS ilovalari HLS ni tanlaydi — AVPlayer u bilan mahalliy ishlaydi. Android uchun ExoPlayer tufayli DASH afzal. Ikkala protokol mobil qurilmalarda media striming uchun mos keladi. IT Sectr da biz ikkala texnologiyadan foydalanamiz va protokolni maqsadli platformaga qarab tanlashni tavsiya qilamiz.

Adaptiv bitrate va kodeklar

Adaptive Bitrate (ABR) pleyer ulanish tezligiga qarab avtomatik ravishda video sifatini tanlaydigan mexanizmdir. Oqim bir nechta bitratelarda (360p, 720p, 1080p, 4K) kodlanadi. Pleyer ular orasida pauzasiz o'tadi. Kodeklar: H.264 (AVC) — asosiy, H.265 (HEVC) — 50% samaraliroq, VP9 va AV1 — Android uchun ochiq muqobillar.

Mobil ilovalarda apparat dekodlash uchun to'g'ri kodekni tanlash muhimdir. Hardware Decoding qurilmaning GPU/video protsessoridan foydalanadi va kamroq batareya sarflaydi. Software Decoding CPU da ishlaydi — apparat dekodlash mavjud bo'lmaganda ishlatiladi. IT Sectr mobil qurilmalarda optimal media tinglash uchun MediaCodec (Android) yoki AVAssetTrack (iOS) orqali kodek qo'llab-quvvatlashni doimo tekshirishni tavsiya qiladi.

Pleyerlar: ExoPlayer va AVPlayer

ExoPlayer Google tomonidan Android uchun media pleyer, mobil ilovalarda media tinglash uchun optimallashtirilgan. MediaPlayer dan farqli o'laroq, ExoPlayer apparat dekodlashga bog'liq emas va kengaytma modullari orqali maxsus sxemalarni qo'llab-quvvatlaydi. U HLS, DASH, SmoothStreaming va RTSP bilan ishlaydi. ExoPlayer YouTube, Google TV va Android TV ning asosiy pleyeridir.

ExoPlayer vs AVPlayerViewController

AVPlayer va AVPlayerViewController iOS, macOS, tvOS uchun Apple pleyerlaridir. AVPlayer past darajadagi API, AVPlayerViewController PiP va AirPlay bilan tayyor UI o'ramidir. Asosiy farqlar: ExoPlayer buferlash va renderlash ustidan to'liq nazorat beradi, AVPlayerViewController minimal kod bilan tez integratsiyani ta'minlaydi. Pleyer tanlovi bevosita mobil ilovalarda striming sifatiga ta'sir qiladi.

kotlin
// ExoPlayer — Android-da asosiy pleyer sozlamasi
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 ning minimal ishga tushirilishini ko'rsatadi: nusxa yaratish, media elementini o'rnatish va tinglashni boshlash. ExoPlayer onStop dagi player.release() orqali Activity hayotiy siklini avtomatik boshqaradi. Android TV yoki PiP uchun PlayerView orqali qo'shimcha hayotiy sikl boshqaruvi talab qilinadi — bu mobil ilovalar uchun striming sozlashda ayniqsa muhimdir.

Transcoding va video qayta ishlash

Transcoding videoni bir formatdan boshqasiga aylantirishdir. Turli mobil qurilmalar uchun media oqimlarini optimallashtirish uchun ishlatiladi (masalan, H.264 → H.265). Mobil qurilmalarda transcoding MediaCodec (Android) yoki AVAssetExportSession (iOS) orqali mumkin. Transcoding resurs talab qiladi va batareyani tugatadi — uni WorkManager yoki BGTaskScheduler orqali fonda bajaring.

DRM: Widevine, FairPlay va PlayReady

Digital Rights Management (DRM) media kontentni ruxsatsiz nusxalashdan himoya qiluvchi tizimlardir. Mobil ilovalarda premium media striming uchun uchta asosiy texnologiya qo'llaniladi: Widevine (Google), FairPlay (Apple) va PlayReady (Microsoft). DRM bo'lmasa, premium xizmatlar (Netflix, Spotify, Disney+) kontent tarqata olmaydi.

DRM tizimlarini taqqoslash

Widevine Android uchun DRM himoya standarti, uch darajada mavjud: L3 (dasturiy shifrlash), L2, L1 (apparat shifrlash, faqat Trusted Execution Environment). FairPlay Apple-ning eksklyuziv tizimi, chip darajasida SVP (Secure Video Pipeline) dan foydalanadi. PlayReady Microsoft tizimi, Xbox va Windows qurilmalarida keng tarqalgan.

Multi-DRM barcha DRM kalitlarini boshqarish uchun bitta platformadan foydalanadigan yondashuvdir. Misol: EZDRM yoki Verimatrix. Ular yagona API orqali Widevine, FairPlay va PlayReady litsenziyalarini beradi. Multi-DRM mobil qurilmalarda premium media uchun ayniqsa dolzarbdir. IT Sectr da biz agregatorlar orqali multi-DRM ni amalga oshiramiz — bu har bir DRM ni alohida integratsiya qilish bilan solishtirganda vaqt va pulni tejaydi.

Audio tinglash: Audio Focus va Audio Session

Audio Focus (Android) mobil ilovalarda media tinglash uchun audio oqimlarini boshqarish tizimidir. Ilovangiz Audio Focus ni so'raganda, boshqa ilovalar (musiqa, podkastlar) to'xtatiladi yoki ovozini pasaytiradi (ducking). Audio Focus bo'lmasa, ikkala ilova bir vaqtning o'zida ijro etilib, shovqin keltirib chiqaradi.

Android da Audio Focus

Android audio oqimlarini turlarga ajratadi: MUSIC, VOICE_CALL, ALARM, NOTIFICATION. Media pleyer uchun AudioManager.AUDIOFOCUS_GAIN ni so'rashingiz kerak. Fokus yo'qolganda (kiruvchi qo'ng'iroq) media tinglashni to'xtatib, fokus qaytgach davom ettirishingiz kerak. Amalga oshirish AudioManager.OnAudioFocusChangeListener orqali.

iOS da Audio Session

Audio Session (iOS) Apple mobil qurilmalarida media ilovalari uchun Audio Focus ga ekvivalentdir. AVAudioSession.sharedInstance() orqali sozlanadi. Kategoriyalar: .playback (video uchun majburiy), .soloAmbient (standart, qulflanganda jim), .playAndRecord (yozib olish uchun). Striming uchun .allowAirPlay opsiyasi bilan .playback dan foydalaning.

PiP va AirPlay

Picture-in-Picture (PiP) ilova kichiklashtirilganda yoki boshqa ekranga o'tilganda media kontent kichik suzuvchi oynada ijro etilishda davom etadigan rejimdir. PiP mobil qurilmalarda media ilovalari uchun standartga aylandi — iOS (iPadOS 13 dan) va Android (Android 8.0 dan).

Android da PiP

Android da PiP Activity.isInPictureInPictureMode() va PictureInPictureParams.Builder orqali yoqiladi. Ilova ko'p oynali rejimda bo'lishi kerak. PiP oynasidan media tinglashni boshqarish uchun MediaSession talab qilinadi. Manifestda android:supportsPictureInPicture="true" ni belgilang.

AirPlay va Chromecast

AirPlay Apple TV, HomePod va mos Smart TV larga media striming qilish uchun Apple protokolidir. iOS da AVRoutePickerView yoki MPNowPlayingInfoCenter orqali amalga oshiriladi. Android da ekvivalent Google Cast SDK (Chromecast) dir. Ikkala texnologiya ham binar faylda sozlash va pleyer qo'llab-quvvatlashini talab qiladi. Ulardan biri bo'lmasa mobil ilovalarda sifatli striming mumkin emas.

Tez-tez so'raladigan savollar

Mobil ilova uchun qaysi biri yaxshiroq: HLS yoki DASH?

iOS uchun HLS yaxshiroq — AVPlayer tomonidan mahalliy qo'llab-quvvatlanadi. Android va kross-platforma ilovalari uchun DASH afzal, chunki ExoPlayer DASH ni yaxshiroq qo'llab-quvvatlaydi va buferlashni moslashuvchan boshqaradi. Protokol tanlovi bevosita mobil ilovalarda strimingga ta'sir qiladi.

Striming ilovasida DRM dan foydalanish majburiymi?

DRM majburiy faqat premium media kontent (filmlar, musiqa, kurslar) tarqatayotgan bo'lsangiz. Foydalanuvchi tomonidan yaratilgan kontent yoki bepul eshittirishlar uchun DRM kerak emas. IT Sectr DRM siz boshlashni va faqat talab bo'yicha qo'shishni tavsiya qiladi.

ExoPlayer va AVPlayerViewController o'rtasidagi farq nima?

ExoPlayer DASH, HLS va SmoothStreaming qo'llab-quvvatlashi bilan Android uchun sozlanishi media pleyer. AVPlayerViewController PiP va AirPlay bilan iOS uchun mahalliy pleyer. ExoPlayer ko'proq nazorat beradi, AVPlayerViewController kamroq kod talab qiladi. Ikkalasi ham mobil ilovalarda sifatli media tinglashni ta'minlaydi.

Picture-in-Picture (PiP) nima va uni qanday amalga oshirish kerak?

PiP ilova kichiklashtirilganda media kontent kichik oynada ijro etilishda davom etadigan rejimdir. iOS da AVPlayerViewController delegati orqali, Android da PictureInPictureParams orqali yoqiladi. Manifest sozlashi va hayotiy sikl boshqaruvi talab qiladi.

Audio Focus va Audio Session nima uchun kerak?

Audio Focus (Android) va Audio Session (iOS) turli manbalardan bir vaqtda audio tinglashni boshqaradi. Ular media ilovangizning qo'ng'iroqlar, bildirishnomalar va boshqa audio ilovalarning ishga tushishiga to'g'ri javob berishini ta'minlaydi.

Xulosa

  • HLS iOS uchun standart, DASH Android uchun. Protokol tanlovi maqsadli platforma va past kechikish talablariga bog'liq.
  • ExoPlayer Android da media tinglashni to'liq nazorat qiladi. AVPlayerViewController iOS da tez integratsiyani ta'minlaydi.
  • DRM (Widevine, FairPlay, PlayReady) premium media kontentni qaroqchilikdan himoya qiladi. Multi-DRM premium xizmatlar uchun standart yondashuv.
  • Audio Focus (Android) va Audio Session (iOS) ilovaning audio kontekstini boshqaradi. Media tinglashli mobil ilovalar uchun majburiy.
  • Picture-in-Picture va AirPlay zamonaviy media ilovalarining asosiy funksiyalaridir. Amalga oshirish hayotiy sikl va pleyer sozlamasini talab qiladi.
  • Adaptive Bitrate (ABR) mobil qurilmalarda ulanish tezligiga qarab avtomatik video sifatini sozlaydi. Transcoding uchun fon vazifalaridan foydalaning.
  • Hardware Decoding mobil qurilmalar batareyasini tejaydi. Tinglashni boshlashdan oldin har doim tizim API lari orqali kodek qo'llab-quvvatlashini tekshiring.

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish