Video-encoding in mobiele apps: wat is het, codecs en parameters

Auteur: IT Sectr Gepubliceerd: 2026-05-24 Leestijd: 8 min

Video-encoding is het proces van compressie van een digitaal videosignaal naar een formaat dat geschikt is voor opslag en verzending via een netwerk met minimaal kwaliteitsverlies. Zonder encoding neemt een minuut ongecomprimeerde video in 4K-resolutie ongeveer 30 GB in beslag, waardoor verzending via internet onmogelijk is. Volgens het Sandvine Global Internet Phenomena-rapport (2025) is video verantwoordelijk voor 65% van al het internetverkeer, en encoding is de sleuteltechnologie die dit mogelijk maakt.

Samenvatting

  • Encoding — compressie van een videosignaal met behulp van codecs om de gegevenshoeveelheid te verminderen.
  • Codecs H.264 en H.265 — de belangrijkste standaarden: AVC zorgt voor compatibiliteit, HEVC voor betere compressie.
  • VP9 en AV1 — open codecs van Google en Alliance for Open Media, vrij van royalty's.
  • Bitrate bepaalt de grootte en kwaliteit: 2–5 Mbps voor 1080p, 15–40 Mbps voor 4K.
  • AAC en Opus audiocodecs — standaarden voor mobiele apps met lage latentie en hoge kwaliteit.

Wat is video-encoding?

Video-encoding is het proces van het omzetten van een ongecomprimeerd videosignaal naar een digitaal formaat met behulp van compressie-algoritmen. De algoritmen die in videocodecs zijn geïmplementeerd, verwijderen redundante informatie zowel in het ruimtelijke domein (binnen één frame) als in het temporele domein (tussen opeenvolgende frames).

Ongecomprimeerde video is een reeks frames, die elk worden opgeslagen als een reeks pixels in RGB- of YUV-indeling. Zonder compressie vereist een seconde 1080p-video bij 30 FPS ongeveer 1,5 GB geheugen. De H.264-codec comprimeert deze stroom tot 3–5 Mbps, wat 2500 keer minder is dan het oorspronkelijke volume.

Principes van videocompressie

Videocodecs gebruiken twee soorten compressie: intra-frame en inter-frame. Intra-framecompressie wordt onafhankelijk op elk frame toegepast met behulp van algoritmen die lijken op JPEG: discrete cosinustransformatie (DCT), kwantisatie en entropiecodering.

Inter-framecompressie analyseert het verschil tussen opeenvolgende frames en codeert alleen de wijzigingen. Als de achtergrond statisch is, verzendt de codec het volledige frame slechts één keer (I-frame) en vervolgens alleen het verschil (P- en B-frames), wat de hoeveelheid gegevens voor scènes met weinig dynamiek aanzienlijk vermindert.

Videocodecs: H.264, H.265, VP9, AV1

De keuze van videocodec bepaalt de verhouding tussen kwaliteit en bestandsgrootte, compatibiliteit met apparaten en licentiekosten. Op de markt voor mobiele apps domineren vier belangrijke codecs: H.264 (AVC), H.265 (HEVC), VP9 en AV1.

CodecStandaardJaarCompressie vs H.264Licentiëring
H.264/AVCMPEG-4 Part 1020031x (basis)Royalty (MPEG LA)
H.265/HEVCMPEG-H Part 2201340–50% efficiënterRoyalty (twee pools)
VP9Google201330–40% efficiënterGratis
AV1AOM201850–60% efficiënterGratis (Royalty-vrij)

H.264 — de universele standaard

H.264 (AVC — Advanced Video Coding) blijft de meest compatibele videocodec: hij wordt ondersteund door alle mobiele apparaten, browsers en smart-tv's sinds 2005. Hardwareversnelling voor H.264-decodering is zelfs beschikbaar op budgetapparaten, wat het ideaal maakt voor universele streaming.

Het belangrijkste nadeel van H.264 is de relatief lage compressie-efficiëntie in vergelijking met moderne codecs. Bij dezelfde bitrate bieden H.265 en AV1 merkbaar hogere kwaliteit, wat vooral belangrijk is voor HDR- en 4K-content.

H.265 — efficiëntie voor 4K

H.265 (HEVC — High Efficiency Video Coding) biedt 40–50% betere compressie dan H.264 bij dezelfde visuele kwaliteit. Dit wordt bereikt door een flexibelere verdeling van het frame in blokken (CTU tot 64×64 pixels in plaats van 16×16) en verbeterde algoritmen voor bewegingsvoorspelling.

HEVC wordt ondersteund op alle Apple-apparaten (vanaf iPhone 6), op Android (vanaf versie 5.0 met hardwarematige decodering) en op de meeste smart-tv's. De licentiekosten voor HEVC zijn hoger dan voor H.264 en worden beheerd door twee octrooipools, wat het juridische gebruik bemoeilijkt.

AV1 — de open standaard van de toekomst

AV1 — videocodec ontwikkeld door de Alliance for Open Media (AOM), een consortium onder leiding van Google, Netflix, Amazon, Intel en Mozilla. AV1 biedt 50–60% betere compressie dan H.264 en is volledig vrij van royalty's, wat het aantrekkelijk maakt voor streamingdiensten.

Het grootste nadeel van AV1 is de hoge rekencomplexiteit van het coderen. AV1-codering kan 5–10 keer langzamer zijn dan H.264 op dezelfde hardware, hoewel hardwarematige decodering al verschijnt op apparaten uit 2024–2025 (Snapdragon 8 Gen 3, Apple A17 Pro).

Audiocodecs: AAC, MP3, Opus

Audiocodecs in mobiele apps zijn niet minder belangrijk dan videocodecs. Voor videostreaming is audio met minimale latentie, hoge kwaliteit en compatibiliteit met MP4- en WebM-containers vereist. Drie belangrijke audiocodecs dekken 99% van de mobiele streaming-apps.

AAC — de standaard van Apple en YouTube

AAC (Advanced Audio Coding) — de opvolger van MP3, ontwikkeld door MPEG in 1997 en uitgegroeid tot de standaard audiocodec voor iTunes, YouTube en Android. AAC biedt dezelfde kwaliteit als MP3 bij 30% lagere bitrate en ondersteunt meerkanaals audio tot 7.1.

Voor mobiele apps wordt AAC-LC aanbevolen bij een bitrate van 128–192 kbps voor stereo en AAC-HE voor lage bitrates van 32–64 kbps. Hardwarematige AAC-decodering is beschikbaar op alle moderne apparaten, wat het energieverbruik minimaliseert.

Opus — moderne audiocodec

Opus — open audiocodec van IETF (RFC 6716), die de beste kwaliteit biedt van alle audiocodecs bij bitrates van 6 tot 510 kbps. Opus combineert SILK (algoritme voor spraak) en CELT (voor muziek) en schakelt automatisch van modus afhankelijk van de inhoud.

Opus wordt gebruikt in WebRTC voor videogesprekken, in Spotify en Discord, en wordt ondersteund in HLS vanaf iOS 11 en Android 5.0. De lage latentie van Opus (5–26 ms versus 40–100 ms bij AAC) maakt het de voorkeurskeuze voor live-uitzendingen en videoconferenties.

Encodeparameters: bitrate, resolutie, FPS

Encodeparameters bepalen de uiteindelijke bestandsgrootte, videokwaliteit en compatibiliteit met apparaten. De ontwikkelaar van een mobiele app moet optimale instellingen kiezen voor elk type content: films, sportuitzendingen, gebruikerscontent.

Bitrate en zijn typen

Bitrate — het aantal bits dat wordt gebruikt voor het coderen van één seconde video. Er wordt onderscheid gemaakt tussen CBR (Constant Bitrate) voor live-uitzendingen, VBR (Variable Bitrate) met doelkwaliteit voor archivering en ABR (Average Bitrate) voor streaming.

ResolutieH.264 (aanbevolen)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 — kwaliteitscontrole

CRF (Constant Rate Factor) — encodeparameter in x264 en x265 die de doelkwaliteit instelt in plaats van een vaste bitrate. De CRF-schaal loopt van 0 (lossless) tot 51 (slechtste kwaliteit), waarbij 18–28 het werkbereik is. Voor mobiele apps wordt CRF 23 voor x264 en CRF 25 voor x265 aanbevolen.

CRF 18–20 zorgt voor hoge kwaliteit voor presentatiecontent en offline kijken. CRF 24–28 is geschikt voor streaming en gebruikerscontent, waar bestandsgrootte belangrijker is dan absolute kwaliteit.

Codecprofielen en -niveaus

De H.264-standaard definieert profielen (Baseline, Main, High) en niveaus (Level 1–5.2) die de maximale videoparameters beperken. Baseline Profile is compatibel met alle apparaten, maar ondersteunt geen B-frames. High Profile biedt maximale kwaliteit en wordt gebruikt voor 1080p-content.

Voor 4K-streaming is Level 5.1 en hoger vereist, wat door de meeste mobiele apparaten sinds 2018 wordt ondersteund. Het codecniveau bepaalt de maximale resolutie, bitrate en buffergrootte, en garandeert correcte decodering op alle gecertificeerde apparaten.

Encoding voor streaming

Encoding voor streaming verschilt van archiefencoding door de noodzaak om meerdere kwaliteitsvarianten (ABR-ladder) te maken en te optimaliseren voor netwerkoverdracht. Contentproviders gebruiken real-time transcodering of voorafgaande encoding voor VOD.

Een typische ABR-set voor mobiele apps omvat 4–6 varianten: van 144p (200 kbps) voor zwakke netwerken tot 1080p (8 Mbps) voor Wi-Fi. Aanbevolen resoluties: 144p, 240p, 360p, 480p, 720p, 1080p. Voor 4K-content worden 1440p en 2160p toegevoegd.

Transcoderen op een mobiel apparaat

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)

Encoding voor live-uitzendingen

Voor live-uitzendingen is lage latentie bijzonder belangrijk. Encodeparameters moeten de invoer-/uitvoervertraging van de codec minimaliseren: aanbevolen GOP-grootte van 1–2 seconden (elke 30–60 frames), B-frames uitgeschakeld of geminimaliseerd, voor H.264 wordt Baseline Profile gebruikt.

Moderne protocollen voor lage latentie — LL-HLS en CMAF-Low Latency — vereisen gefragmenteerde encoding met segmenten van 1–2 seconden en de mogelijkheid van gedeeltelijk laden (Partial Segments). De codec moet moof-box in elk segment ondersteunen voor gefragmenteerde MP4.

Optimalisatie van de encodepijplijn

  • Hardware-encoding via MediaCodec (Android) of VideoToolbox (iOS) is verplicht voor real-time.
  • Multi-threaded encoding op de server met libx264/libx265 in ultrafast of veryfast modus.
  • Encodepresets: placebo — de slechtste voor VOD (maximale compressie), ultrafast — voor live-uitzendingen.
  • Two-pass VBR — de voorkeursmodus voor VOD, die voorspelbare grootte en kwaliteit biedt.

Veelgestelde vragen

Wat is video-encoding in mobiele apps?

Video-encoding — het proces van compressie van een digitaal videosignaal met behulp van codecs om de gegevenshoeveelheid te verminderen. In mobiele apps maakt encoding het mogelijk om video te verzenden en op te slaan, waarbij de grootte honderden keren wordt verkleind zonder merkbaar kwaliteitsverlies op het apparaatscherm.

Welke codec is beter: H.264 of H.265?

H.264 biedt maximale compatibiliteit met oudere apparaten, en H.265 is 40–50% efficiënter bij dezelfde kwaliteit. Voor 1080p-content en lager is H.264 voldoende, voor 4K wordt H.265 of AV1 aanbevolen als het apparaat dit ondersteunt.

Wat is bitrate en hoe kies je het?

Bitrate — de hoeveelheid gegevens per seconde video. Voor 1080p is de optimale bitrate 3–8 Mbps voor H.264, 2–5 Mbps voor H.265. De keuze hangt af van de inhoud: dynamische scènes (sport) vereisen een hogere bitrate, statische scènes (interviews) een lagere.

Waarin verschilt VP9 van AV1?

VP9 — de voorganger van AV1 van Google, die compressie biedt op het niveau van H.265. AV1 comprimeert 20–30% efficiënter dan VP9, maar vereist 5–10 keer meer resources voor encoding. VP9 is beter voor YouTube, AV1 voor Netflix en moderne streamingdiensten.

Hoe encoding instellen voor live-uitzendingen?

Gebruik voor live-uitzendingen H.264 Baseline Profile met GOP 1–2 seconden, zonder B-frames, bitrate 2–4 Mbps voor 1080p. Schakel gefragmenteerde MP4 (CMAF) in voor LL-HLS en gebruik hardware-encoding via MediaCodec of VideoToolbox.

Conclusie

  • Encoding — fundamentele technologie zonder welke video-overdracht via internet onmogelijk is vanwege de enorme hoeveelheid ongecomprimeerde gegevens.
  • H.264 blijft de compatibiliteitsstandaard en wordt aanbevolen voor universele streaming in mobiele apps.
  • H.265 en AV1 bieden 40–60% betere compressie, maar vereisen hardware-ondersteuning voor efficiënte decodering.
  • Bitrate en CRF — de belangrijkste parameters: gebruik 3–8 Mbps voor 1080p H.264, 10–25 Mbps voor 4K H.265.
  • AAC — de standaard audiocodec, Opus heeft de voorkeur voor live-uitzendingen vanwege minimale latentie.
  • ABR-set voor streaming omvat 4–6 varianten van 144p tot 1080p met verschillende bitrates.
  • Hardware-encoding is verplicht voor real-time verwerking op mobiele apparaten.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook