Mobil uygulamalarda video kodlama: nedir, codec'ler ve parametreler

Yazar: IT Sectr Yayınlanma: 2026-05-24 Okuma süresi: 8 dk

Video kodlama, dijital video sinyalinin minimum kalite kaybıyla depolama ve ağ üzerinden iletim için uygun bir formata sıkıştırılması işlemidir. Kodlama olmadan, bir dakikalık sıkıştırılmamış 4K video yaklaşık 30 GB yer kaplar ve internet üzerinden iletim imkansız hale gelir. Sandvine Global Internet Phenomena (2025) raporuna göre, video tüm internet trafiğinin %65'ini oluşturmaktadır ve kodlama bunu mümkün kılan anahtar teknolojidir.

Anahtar Noktalar

  • Kodlama — veri hacmini azaltmak için codec'ler kullanarak video sinyalinin sıkıştırılması.
  • H.264 ve H.265 codec'leri — ana standartlar: AVC uyumluluk sağlar, HEVC daha iyi sıkıştırma sunar.
  • VP9 ve AV1 — Google ve Alliance for Open Media'dan açık codec'ler, telifsiz.
  • Bit hızı boyut ve kaliteyi belirler: 1080p için 2–5 Mbps, 4K için 15–40 Mbps.
  • AAC ve Opus ses codec'leri — düşük gecikme ve yüksek kaliteli mobil uygulamalar için standartlar.

Video kodlama nedir?

Video kodlama, sıkıştırılmamış video sinyalinin sıkıştırma algoritmaları kullanılarak dijital formata dönüştürülmesi işlemidir. Video codec'lerinde uygulanan bu algoritmalar, hem uzamsal alanda (tek bir kare içinde) hem de zamansal alanda (ardışık kareler arasında) gereksiz bilgileri kaldırır.

Sıkıştırılmamış video, her biri RGB veya YUV formatında bir piksel dizisi olarak depolanan kareler dizisidir. Sıkıştırma olmadan, 30 FPS'de bir saniyelik 1080p video yaklaşık 1,5 GB bellek gerektirir. H.264 codec'i bu akışı 3–5 Mbps'ye sıkıştırarak orijinal boyutun 2500 kat daha küçük olmasını sağlar.

Video sıkıştırma ilkeleri

Video codec'leri iki tür sıkıştırma kullanır: kare içi (intra-frame) ve kareler arası (inter-frame). Kare içi sıkıştırma her kareye bağımsız olarak uygulanır ve JPEG'e benzer algoritmalar kullanır: ayrık kosinüs dönüşümü (DCT), niceleme ve entropi kodlaması.

Kareler arası sıkıştırma ardışık kareler arasındaki farkı analiz eder ve yalnızca değişiklikleri kodlar. Arka plan statikse, codec tam kareyi yalnızca bir kez (I-kare) iletir ve ardından yalnızca farkları (P- ve B-kareler) iletir; bu, düşük dinamikli sahneler için veri hacmini önemli ölçüde azaltır.

Video codec'leri: H.264, H.265, VP9, AV1

Video codec'i seçimi kalite-boyut oranını, cihaz uyumluluğunu ve lisans ücretlerini belirler. Dört ana codec, mobil uygulama pazarına hakimdir: H.264 (AVC), H.265 (HEVC), VP9 ve AV1.

CodecStandartYılH.264'e göre sıkıştırmaLisanslama
H.264/AVCMPEG-4 Part 1020031x (temel)Telif (MPEG LA)
H.265/HEVCMPEG-H Part 22013%40–50 daha verimliTelif (iki havuz)
VP9Google2013%30–40 daha verimliÜcretsiz
AV1AOM2018%50–60 daha verimliTelifsiz

H.264 — evrensel standart

H.264 (AVC — Advanced Video Coding) en uyumlu video codec'i olmaya devam etmektedir: 2005'ten beri tüm mobil cihazlar, tarayıcılar ve Akıllı TV'ler tarafından desteklenmektedir. Donanım hızlandırmalı H.264 kod çözme, bütçe cihazlarda bile mevcuttur ve bu da onu evrensel bir akış için ideal kılar.

H.264'ün ana dezavantajı, modern codec'lere kıyasla nispeten düşük sıkıştırma verimliliğidir. Aynı bit hızında, H.265 ve AV1, özellikle HDR ve 4K içerik için önemli olan belirgin şekilde daha yüksek kalite sunar.

H.265 — 4K için verimlilik

H.265 (HEVC — High Efficiency Video Coding), aynı görsel kalitede H.264'e göre %40–50 daha iyi sıkıştırma sağlar. Bu, karenin bloklara daha esnek bölünmesi (16×16 yerine 64×64 piksele kadar CTU) ve geliştirilmiş hareket tahmini algoritmaları ile elde edilir.

HEVC, tüm Apple cihazlarında (iPhone 6'dan itibaren), Android'de (donanım kod çözme ile 5.0 sürümünden itibaren) ve çoğu Akıllı TV'de desteklenir. HEVC lisans ücretleri H.264'ten daha yüksektir ve iki patent havuzu tarafından yönetilir, bu da yasal kullanımı karmaşık hale getirir.

AV1 — geleceğin açık standardı

AV1, Google, Netflix, Amazon, Intel ve Mozilla liderliğindeki bir konsorsiyum olan Alliance for Open Media (AOM) tarafından geliştirilen bir video codec'idir. AV1, H.264'ten %50–60 daha iyi sıkıştırma sağlar ve tamamen telifsizdir, bu da onu akış hizmetleri için çekici kılar.

AV1'in ana dezavantajı, kodlamanın yüksek hesaplama karmaşıklığıdır. AV1 kodlaması, aynı donanımda H.264'ten 5–10 kat daha yavaş olabilir, ancak donanım kod çözme, 2024–2025 cihazlarında (Snapdragon 8 Gen 3, Apple A17 Pro) zaten görünmeye başlamıştır.

Ses codec'leri: AAC, MP3, Opus

Mobil uygulamalarda ses codec'leri video codec'lerinden daha az önemli değildir. Akış videosu, minimum gecikme, yüksek kalite ve MP4 ile WebM kaplarıyla uyumluluk gerektirir. Üç ana ses codec'i, mobil akış uygulamalarının %99'unu kapsar.

AAC — Apple ve YouTube standardı

AAC (Advanced Audio Coding), MP3'ün halefidir, 1997'de MPEG tarafından geliştirilmiş ve iTunes, YouTube ve Android için standart ses codec'i haline gelmiştir. AAC, MP3'ten %30 daha düşük bit hızında aynı kaliteyi sağlar ve 7.1'e kadar çok kanallı sesi destekler.

Mobil uygulamalar için, stereo için 128–192 kbps'de AAC-LC ve düşük bit hızları (32–64 kbps) için AAC-HE önerilir. Donanım AAC kod çözme, tüm modern cihazlarda mevcuttur ve güç tüketimini en aza indirir.

Opus — modern ses codec'i

Opus, IETF'den (RFC 6716) açık bir ses codec'idir ve 6 ila 510 kbps bit hızlarında tüm ses codec'leri arasında en iyi kaliteyi sağlar. Opus, SILK (konuşma için algoritma) ve CELT'yi (müzik için) birleştirir ve içeriğe bağlı olarak otomatik olarak mod değiştirir.

Opus, WebRTC'de görüntülü aramalar için, Spotify ve Discord uygulamalarında kullanılır ve iOS 11 ve Android 5.0'dan itibaren HLS'de desteklenir. Opus'un düşük gecikmesi (AAC'nin 40–100 ms'sine karşı 5–26 ms), onu canlı yayınlar ve görüntülü konferanslar için tercih edilen seçenek haline getirir.

Kodlama parametreleri: bit hızı, çözünürlük, FPS

Kodlama parametreleri nihai dosya boyutunu, video kalitesini ve cihaz uyumluluğunu belirler. Bir mobil uygulama geliştiricisi, her içerik türü için en uygun ayarları seçmelidir: filmler, spor yayınları, kullanıcı tarafından oluşturulan içerik.

Bit hızı ve türleri

Bit hızı, bir saniyelik videoyu kodlamak için kullanılan bit sayısıdır. Canlı yayınlar için SBR (sabit bit hızı), arşiv depolama için hedef kaliteli DBR (değişken bit hızı) ve akış için OBR (ortalama bit hızı) vardır.

ÇözünürlükH.264 (önerilen)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 — kalite kontrolü

CRF (Constant Rate Factor), x264 ve x265'te sabit bit hızı yerine hedef kaliteyi belirleyen bir kodlama parametresidir. CRF ölçeği 0 (kayıpsız) ile 51 (en kötü kalite) arasında değişir ve 18–28 çalışma aralığıdır. Mobil uygulamalar için x264'te CRF 23 ve x265'te CRF 25 önerilir.

CRF 18–20, sunum içeriği ve çevrimdışı izleme için yüksek kalite sağlar. CRF 24–28, dosya boyutunun mutlak kaliteden daha önemli olduğu akış ve kullanıcı tarafından oluşturulan içerik için uygundur.

Codec profilleri ve seviyeleri

H.264 standardı, maksimum video parametrelerini sınırlayan profiller (Baseline, Main, High) ve seviyeler (Level 1–5.2) tanımlar. Baseline Profile tüm cihazlarla uyumludur ancak B-kareleri desteklemez. High Profile maksimum kalite sağlar ve 1080p içerik için kullanılır.

4K akışı için Level 5.1 ve üzeri gereklidir ve 2018'den itibaren çoğu mobil cihaz tarafından desteklenir. Codec seviyesi, maksimum çözünürlüğü, bit hızını ve tampon boyutunu belirleyerek sertifikalı tüm cihazlarda doğru kod çözmeyi garanti eder.

Akış için kodlama

Akış için kodlama, birden çok kalite çeşidi (ABR merdiveni) oluşturma ve ağ iletimi için optimizasyon gerektirmesi açısından arşiv kodlamasından farklıdır. İçerik sağlayıcılar, VOD için gerçek zamanlı dönüştürme veya ön kodlama kullanır.

Mobil uygulamalar için tipik bir ABR merdiveni 4–6 çeşit içerir: zayıf ağlar için 144p (200 kbps) ile Wi-Fi için 1080p (8 Mbps) arasında. Önerilen çözünürlükler: 144p, 240p, 360p, 480p, 720p, 1080p. 4K içerik için 1440p ve 2160p eklenir.

Mobil cihazda dönüştürme

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)

Canlı yayınlar için kodlama

Canlı yayınlar için düşük gecikme özellikle önemlidir. Kodlama ayarları, codec giriş/çıkış gecikmesini en aza indirmelidir: 1–2 saniyelik GOP boyutu (her 30–60 karede bir) önerilir, B-kareler devre dışı bırakılmalı veya en aza indirilmelidir ve H.264 için Baseline Profile kullanılır.

Modern düşük gecikmeli protokoller — LL-HLS ve CMAF-Low Latency — 1–2 saniyelik segmentler ve kısmi indirmeler (Partial Segments) desteğiyle parçalı kodlama gerektirir. Codec, parçalı MP4 için her segmentte moof-box'ı desteklemelidir.

Kodlama hattını optimize etme

  • Donanım kodlaması — MediaCodec (Android) veya VideoToolbox (iOS) aracılığıyla gerçek zamanlı için zorunludur.
  • Çok iş parçacıklı kodlama — sunucuda ultrafast veya veryfast modunda libx264/libx265 kullanarak.
  • Kodlama ön ayarları: placebo — VOD için en kötüsü (maksimum sıkıştırma), ultrafast — canlı yayınlar için.
  • İki geçişli VBR — VOD için tercih edilen mod, öngörülebilir boyut ve kalite sağlar.

Sıkça Sorulan Sorular

Mobil uygulamalarda video kodlama nedir?

Video kodlama, veri hacmini azaltmak için codec'ler kullanarak dijital video sinyalini sıkıştırma işlemidir. Mobil uygulamalarda kodlama, cihaz ekranında fark edilebilir kalite kaybı olmadan boyutu yüzlerce kez küçülterek videonun iletilmesini ve depolanmasını sağlar.

Hangi codec daha iyi: H.264 mü yoksa H.265 mi?

H.264 eski cihazlarla maksimum uyumluluk sağlarken, H.265 aynı kalitede %40–50 daha verimlidir. 1080p ve altı içerik için H.264 yeterlidir; 4K için cihaz destekliyorsa H.265 veya AV1 önerilir.

Bit hızı nedir ve nasıl seçilir?

Bit hızı, saniyedeki video verisi miktarıdır. 1080p için H.264'te 3–8 Mbps, H.265'te 2–5 Mbps optimal bit hızıdır. Seçim içeriğe bağlıdır: dinamik sahneler (spor) daha yüksek bit hızı gerektirir, statik sahneler (röportaj) daha düşük bit hızı gerektirir.

VP9, AV1'den nasıl farklıdır?

VP9, Google'ın AV1'in öncülüdür ve H.265 seviyesinde sıkıştırma sağlar. AV1, VP9'dan %20–30 daha verimli sıkıştırır ancak 5–10 kat daha fazla kodlama kaynağı gerektirir. VP9 YouTube için, AV1 Netflix ve modern akış hizmetleri için daha iyidir.

Canlı yayınlar için kodlama nasıl yapılandırılır?

Canlı yayınlar için, 1–2 saniyelik GOP, B-kare yok, 1080p için 2–4 Mbps bit hızı ile H.264 Baseline Profile kullanın. LL-HLS için parçalı MP4'ü (CMAF) etkinleştirin ve MediaCodec veya VideoToolbox aracılığıyla donanım kodlaması kullanın.

Özet

  • Kodlama, sıkıştırılmamış verilerin devasa boyutu nedeniyle internet üzerinden video iletimini mümkün kılan temel bir teknolojidir.
  • H.264 uyumluluk standardı olmaya devam etmektedir ve mobil uygulamalarda evrensel akış için önerilir.
  • H.265 ve AV1 %40–60 daha iyi sıkıştırma sağlar, ancak verimli kod çözme için donanım desteği gerektirir.
  • Bit hızı ve CRF temel parametrelerdir: 1080p H.264 için 3–8 Mbps, 4K H.265 için 10–25 Mbps kullanın.
  • AAC standart ses codec'idir, Opus minimum gecikme nedeniyle canlı yayınlar için tercih edilir.
  • Akış için ABR merdiveni, 144p'den 1080p'ye kadar farklı bit hızlarında 4–6 çeşit içerir.
  • Mobil cihazlarda gerçek zamanlı için donanım kodlaması zorunludur.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun