Кодирање видеа у мобилним апликацијама: шта је то, кодеци и параметри

Аутор: IT Sectr Објављено: 2026-05-24 Време читања: 8 мин

Кодирање видеа (encoding) је процес компресије дигиталног видео сигнала у формат погодан за складиштење и пренос преко мреже уз минималне губитке квалитета. Без кодирања, један минут некомпримованог видеа у резолуцији 4K заузима око 30 GB, што чини пренос преко интернета немогућим. Према извештају Sandvine Global Internet Phenomena (2025), видео чини 65% укупног интернет саобраћаја, а кодирање је кључна технологија која то омогућава.

Укратко

  • Кодирање — компресија видео сигнала коришћењем кодека за смањење обима података.
  • Кодеци H.264 и H.265 — основни стандарди: AVC обезбеђује компатибилност, HEVC бољу компресију.
  • VP9 и AV1 — отворени кодеци од Google и Alliance for Open Media, без накнаде за лиценцирање.
  • Битрејт одређује величину и квалитет: 2–5 Mbps за 1080p, 15–40 Mbps за 4K.
  • Аудио кодеци AAC и Opus — стандарди за мобилне апликације са малим кашњењем и високим квалитетом.

Шта је кодирање видеа?

Кодирање видеа (encoding) је процес претварања некомпримованог видео сигнала у дигитални формат коришћењем алгоритама компресије. Алгоритми имплементирани у видео кодецима уклањају вишак информација како у просторном домену (унутар једног кадра), тако и у временском (између узастопних кадрова).

Некомпримовани видео представља низ кадрова, од којих је сваки ускладиштен као низ пиксела у RGB или YUV формату. Без компресије, једна секунда видеа 1080p при 30 FPS захтева око 1,5 GB меморије. Кодек H.264 компримује овај ток на 3–5 Mbps, што је 2500 пута мање од почетног обима.

Принципи компресије видеа

Видео кодеци користе два типа компресије: унутароквирну (intra-frame) и међуоквирну (inter-frame). Intra-frame компресија примењује се на сваки кадар независно, користећи алгоритме сличне JPEG-у: дискретну косинусну трансформацију (DCT), квантизацију и ентропијско кодирање.

Inter-frame компресија анализира разлику између узастопних кадрова и кодира само промене. Ако је позадина статична, кодек шаље комплетан кадар само једном (I-frame), а затим само разлику (P и B кадрови), што значајно смањује количину података за сцене са малом динамиком.

Видео кодеци: H.264, H.265, VP9, AV1

Избор видео кодека одређује однос квалитета и величине датотеке, компатибилност са уређајима и лиценцне накнаде. На тржишту мобилних апликација доминирају четири главна кодека: H.264 (AVC), H.265 (HEVC), VP9 и AV1.

КодекСтандардГодинаКомпресија vs H.264Лиценцирање
H.264/AVCMPEG-4 Part 1020031x (основни)Накнада (MPEG LA)
H.265/HEVCMPEG-H Part 2201340–50% ефикаснијиНакнада (два пула)
VP9Google201330–40% ефикаснијиБесплатно
AV1AOM201850–60% ефикаснијиБесплатно (Royalty-free)

H.264 — универзални стандард

H.264 (AVC — Advanced Video Coding) остаје најкомпатибилнији видео кодек: подржавају га сви мобилни уређаји, прегледачи и Smart TV од 2005. године. Хардверско убрзање декодирања H.264 постоји чак и на буџетским уређајима, што га чини идеалним за универзални ток.

Главни недостатак H.264 — релативно ниска ефикасност компресије у поређењу са савременим кодецима. При истом битрејту, H.265 и AV1 пружају приметно виши квалитет, што је посебно важно за HDR и 4K садржај.

H.265 — ефикасност за 4K

H.265 (HEVC — High Efficiency Video Coding) пружа 40–50% бољу компресију од H.264 уз исти визуелни квалитет. То се постиже флексибилнијом поделом кадра на блокове (CTU до 64×64 пиксела уместо 16×16) и побољшаним алгоритмима предвиђања покрета.

HEVC подржавају сви Apple уређаји (почев од iPhone 6), Android (од верзије 5.0 са хардверским декодирањем) и већина Smart TV-а. Лиценцне накнаде HEVC су веће од H.264 и управљају се кроз два патентна пула, што компликује правну употребу.

AV1 — отворени стандард будућности

AV1 — видео кодек развијен од стране Alliance for Open Media (AOM), конзорцијума предвођеног Google-ом, Netflix-ом, Amazon-ом, Intel-ом и Mozilla-ом. AV1 пружа 50–60% бољу компресију од H.264 и потпуно је ослобођен накнада за лиценцирање, што га чини атрактивним за стриминг сервисе.

Главни недостатак AV1 — висока рачунарска сложеност кодирања. Кодирање AV1 може бити 5–10 пута спорије од H.264 на истој опреми, иако се хардверско декодирање већ појављује на уређајима из 2024–2025 (Snapdragon 8 Gen 3, Apple A17 Pro).

Аудио кодеци: AAC, MP3, Opus

Аудио кодеци у мобилним апликацијама нису мање важни од видео кодека. За стриминг видеа потребан је аудио са минималним кашњењем, високим квалитетом и компатибилношћу са контејнерима MP4 и WebM. Три главна аудио кодека покривају 99% мобилних стриминг апликација.

AAC — стандард Apple и YouTube

AAC (Advanced Audio Coding) — наследник MP3, развијен од MPEG 1997. године и постао стандардни аудио кодек за iTunes, YouTube и Android. AAC пружа исти квалитет као MP3 при 30% нижем битрејту и подржава вишеканални звук до 7.1.

За мобилне апликације препоручује се AAC-LC при битрејту 128–192 kbps за стерео и AAC-HE за ниске битрејтове 32–64 kbps. Хардверско декодирање AAC постоји на свим савременим уређајима, што минимизира потрошњу енергије.

Opus — савремени аудио кодек

Opus — отворени аудио кодек од IETF (RFC 6716), који пружа најбољи квалитет међу свим аудио кодецима при битрејтовима од 6 до 510 kbps. Opus комбинује SILK (алгоритам за говор) и CELT (за музику) и аутоматски мења режиме у зависности од садржаја.

Opus се користи у WebRTC за видео позиве, у апликацијама Spotify и Discord, и подржан је у HLS од iOS 11 и Android 5.0. Мало кашњење Opus-а (5–26 ms наспрам 40–100 ms код AAC) чини га пожељнијим избором за преносе уживо и видео конференције.

Параметри кодирања: битрејт, резолуција, FPS

Параметри кодирања одређују коначну величину датотеке, квалитет видеа и компатибилност са уређајима. Програмер мобилне апликације мора одабрати оптимална подешавања за сваку врсту садржаја: филмове, спортске преносе, кориснички садржај.

Битрејт и његови типови

Битрејт — број битова који се користи за кодирање једне секунде видеа. Разликују се CBR (Constant Bitrate) — константан битрејт за преносе уживо, VBR (Variable Bitrate) — променљив са циљним квалитетом за архивирање и ABR (Average Bitrate) — просечан за стриминг.

РезолуцијаH.264 (препоручено)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 — контрола квалитета

CRF (Constant Rate Factor) — параметар кодирања у x264 и x265 који поставља циљни квалитет уместо фиксног битрејта. Скала CRF од 0 (lossless) до 51 (најлошији квалитет), где је 18–28 радни опсег. За мобилне апликације препоручује се CRF 23 за x264 и CRF 25 за x265.

CRF 18–20 обезбеђује висок квалитет за презентациони садржај и офлајн гледање. CRF 24–28 је погодан за стриминг и кориснички садржај, где је величина датотеке важнија од апсолутног квалитета.

Профили и нивои кодека

Стандард H.264 дефинише профиле (Baseline, Main, High) и нивое (Level 1–5.2) који ограничавају максималне параметре видеа. Baseline Profile је компатибилан са свим уређајима, али не подржава B кадрове. High Profile обезбеђује максималан квалитет и користи се за 1080p садржај.

За 4K стриминг потребан је Level 5.1 и виши, који подржава већина мобилних уређаја од 2018. године. Ниво кодека одређује максималну резолуцију, битрејт и величину бафера, гарантујући исправно декодирање на свим сертификованим уређајима.

Кодирање за стриминг

Кодирање за стриминг се разликује од архивског кодирања потребом за креирањем неколико варијанти квалитета (ABR ladder) и оптимизацијом за мрежни пренос. Провајдери садржаја користе транскодирање у реалном времену или претходно кодирање за VOD.

Типичан ABR сет за мобилне апликације укључује 4–6 варијанти: од 144p (200 kbps) за слабе мреже до 1080p (8 Mbps) за Wi-Fi. Препоручене резолуције: 144p, 240p, 360p, 480p, 720p, 1080p. За 4K садржај додају се 1440p и 2160p.

Транскодирање на мобилном уређају

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)

Кодирање за преносе уживо

За преносе уживо посебно је важно мало кашњење. Подешавања кодирања треба да минимизирају кашњење улаза/излаза кодека: препоручује се GOP величина 1–2 секунде (сваких 30–60 кадрова), B кадрови искључени или минимизирани, за H.264 се користи Baseline Profile.

Савремени протоколи за мало кашњење — LL-HLS и CMAF-Low Latency — захтевају фрагментирано кодирање са сегментима од 1–2 секунде и могућношћу делимичног учитавања (Partial Segments). Кодек мора подржавати moof-box у сваком сегменту за фрагментирани MP4.

Оптимизација encode пајплајна

  • Хардверско кодирање преко MediaCodec (Android) или VideoToolbox (iOS) обавезно за реално време.
  • Вишепроцесно кодирање на серверу коришћењем libx264/libx265 у режиму ultrafast или veryfast.
  • Пресети кодирања: placebo — најлошији за VOD (максимална компресија), ultrafast — за преносе уживо.
  • Two-pass VBR — пожељан режим за VOD, који обезбеђује предвидљиву величину и квалитет.

Често постављана питања

Шта је кодирање видеа у мобилним апликацијама?

Кодирање видеа — процес компресије дигиталног видео сигнала помоћу кодека за смањење обима података. У мобилним апликацијама, кодирање омогућава пренос и складиштење видеа, смањујући величину стотине пута без приметног губитка квалитета на екрану уређаја.

Који кодек је бољи: H.264 или H.265?

H.264 обезбеђује максималну компатибилност са старим уређајима, а H.265 је 40–50% ефикаснији при истом квалитету. За 1080p и нижи садржај довољан је H.264, за 4K се препоручује H.265 или AV1 ако уређај подржава.

Шта је битрејт и како га одабрати?

Битрејт — количина података у секунди видеа. За 1080p оптималан битрејт је 3–8 Mbps за H.264, 2–5 Mbps за H.265. Избор зависи од садржаја: динамичне сцене (спорт) захтевају виши битрејт, статичне (интервјуи) — нижи.

По чему се VP9 разликује од AV1?

VP9 — претходник AV1 од Google-а, који пружа компресију на нивоу H.265. AV1 компримује 20–30% ефикасније од VP9, али захтева 5–10 пута више ресурса за кодирање. VP9 је бољи за YouTube, AV1 — за Netflix и модерне стриминг сервисе.

Како подесити кодирање за преносе уживо?

За преносе уживо користи H.264 Baseline Profile са GOP 1–2 секунде, без B кадрова, битрејт 2–4 Mbps за 1080p. Укључи фрагментирани MP4 (CMAF) за LL-HLS и користи хардверско кодирање преко MediaCodec или VideoToolbox.

Закључак

  • Кодирање — фундаментална технологија без које је пренос видеа преко интернета немогућ због огромне количине некомпримованих података.
  • H.264 остаје стандард компатибилности и препоручује се за универзални ток у мобилним апликацијама.
  • H.265 и AV1 пружају 40–60% бољу компресију, али захтевају хардверску подршку за ефикасно декодирање.
  • Битрејт и CRF — кључни параметри: за 1080p H.264 користи 3–8 Mbps, за 4K H.265 — 10–25 Mbps.
  • AAC — стандардни аудио кодек, Opus је пожељнији за преносе уживо због минималног кашњења.
  • ABR сет за стриминг укључује 4–6 варијанти од 144p до 1080p са различитим битрејтом.
  • Хардверско кодирање је обавезно за реално време на мобилним уређајима.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође