- En yeni AV1 video formatı kullanılarak web’de video dosya boyutları 20 ila 40 kat daha küçük hale getirilebilir
- YouTube ve Netflix, AV1’i yeni nesil video codec’i olarak benimsedi; Chrome, Safari, Firefox gibi başlıca tarayıcılar da bunu destekliyor
- Bu rehber, AV1 codec’i için encoding stratejilerini ve optimizasyon yöntemlerini açıklar
Codec ve container’a genel bakış
- Statik görsel formatları: WebP, JPEG, PNG çoğu tarayıcıda desteklenir. Modern tarayıcılarda AVIF de kullanılabilir
- Video dosyası yapısı:
- Video codec’i: H.264, HEVC, VP9, AV1 gibi seçenekler video sıkıştırma stratejisini belirler
- Ses codec’i: MP3, Opus, AAC gibi seçenekler ses sıkıştırma stratejisini belirler
- Container: MP4, MOV, WebM gibi formatlar video ve ses akışlarını, altyazıları ve metadata’yı saklar
AV1 codec’ine giriş
- AV1 codec’i ilk kez Mart 2018’de yayımlandı
- HEVC/VP9 ve H.264/VP8’e kıyasla dosya boyutunu %30 ila %50’ye kadar daha küçük üretebilir
- Artıları:
- Düşük bitrate’te yüksek görüntü kalitesini koruyabilir
- Sıkıştırma kaybı neredeyse yoktur
- Eksileri:
- Encoding hızı yavaştır
- Yalnızca yeni cihazlarda desteklenir (iPhone 15+, MacBook M3 vb.)
- Uyumluluk için hem AV1 hem de H.264 sürümlerini hazırlamak gerekir
Bugün AV1 nasıl kullanılır
- Container ve codec seçimi
- Container: MP4 en popüler ve önerilen seçenektir
- Ses codec’i: Opus kullanılması önerilir (verimli ve ücretsiz)
- En yüksek uyumluluk için dosya hazırlama
- Masaüstü ve modern mobil tarayıcılar için (Chrome, Safari, Firefox, Edge vb.)
- MP4 container + AV1 video codec’i + Opus ses codec’i
- Kullanıcı kapsaması: yaklaşık %74 (Eylül 2023 itibarıyla)
- Eski Safari ve macOS için
- MP4 container + H.264 video codec’i + AAC ses codec’i
- Kullanıcı kapsaması: yaklaşık %19
- Eski iPhone ve Mac desteğini artırmak için (isteğe bağlı)
- MP4 container + HEVC video codec’i + AAC ses codec’i
AV1 video dosyası nasıl oluşturulur
1. FFmpeg kurulumu
- Mac:
brew install ffmpeg
- Linux: dağıtımınızdan FFmpeg kurun
- Windows: kurulum rehberi
2. H.264 dosyası oluşturma (eski cihaz desteği için)
ffmpeg -i SOURCE.mov -map_metadata -1 -c:a aac -c:v libx264 -crf 24 -preset veryslow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.h264.mp4
3. AV1 dosyası oluşturma (modern cihaz desteği için)
ffmpeg -i SOURCE.mov -map_metadata -1 -c:a libopus -c:v libsvtav1 -qp 30 -tile-columns 2 -tile-rows 2 -pix_fmt yuv420p -movflags +faststart -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.av1.mp4
- crf veya qp değerini ayarlayarak görüntü kalitesi ile dosya boyutu arasındaki dengeyi değiştirebilirsiniz
4. HEVC dosyası oluşturma (gerektiğinde)
- Eski iPhone ve Mac desteği için HEVC encoding
ffmpeg -i SOURCE.mov -map_metadata -1 -c:a aac -c:v libx265 -crf 24 -preset veryslow -pix_fmt yuv420p -movflags +faststart -tag:v hvc1 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.hevc.mp4
FFmpeg’te başlıca seçeneklerin açıklaması
- -i SOURCE.mov: kaynak dosya girişi
- -map_metadata -1: gereksiz metadata’yı kaldırır
- -c:a libopus: ses codec’ini seçer (Opus)
- -c:v libsvtav1: video codec’ini seçer (AV1)
- -crf 34, -qp 30: görüntü kalitesi ve dosya boyutunu ayarlar (değer küçüldükçe kalite artar ve boyut büyür)
- -preset veryslow: yüksek kaliteli dosya üretimi için encoding hızını ayarlar
- -pix_fmt yuv420p: renk verisini azaltarak dosya boyutunu küçültür
- -movflags +faststart: streaming başlangıç süresini kısaltır
- -tile-columns 2 -tile-rows 2: encoding hızını artırır
Tarayıcı uyumluluğu ayarları
- Modern tarayıcılarda AV1 kullanın, eski tarayıcılarda H.264’e geri dönün
<video controls width="600" height="400">
<source src="video.av1.mp4" type="video/mp4; codecs=av01.0.05M.08,opus">
<source src="video.h264.mp4" type="video/mp4; codecs=avc1.4D401E,mp4a.40.2">
</video>
- Eski iPhone ve Mac desteği gerekiyorsa HEVC dosyası da eklenebilir
<source src="video.hevc.mp4" type="video/mp4; codecs=hvc1">
GIF’i AV1 veya H.264’e dönüştürme
1 yorum
Landing page'de videonun sık kullanıldığı durumlar var; bir kez denemekte fayda olabilir. İyi çalışıp çalışmadığına ya da istisna durumlar yüzünden kullanılamaz olup olmadığına bakmak gerekir.