FFmpeg ile Videoları H.264 Formatına Dönüştürme Rehberi
Video dönüştürme işlemleri bugün neredeyse her platformda kritik hale geldi. Bir videoyu web sitesinde yayınlamak, mobil cihazda oynatmak, YouTube’a yüklemek, Plex/Jellyfin medya sunucusunda kullanmak veya arşivlemek istediğinizde en yaygın tercih edilen formatlardan biri H.264 (AVC) olur.
Bu noktada devreye FFmpeg girer. FFmpeg; video dönüştürme, sıkıştırma, yeniden boyutlandırma, bitrate ayarlama, ses dönüştürme ve yayın işlemleri için sektör standardı haline gelmiş güçlü bir komut satırı aracıdır.
Bu rehberde:
- FFmpeg kurulumu
- H.264 nedir?
- Temel ve gelişmiş dönüştürme komutları
- GPU hızlandırmalı encode işlemleri
- Kalite ve dosya boyutu optimizasyonu
- Toplu dönüştürme yöntemleri
- Yaygın hata çözümleri
- Linux, macOS ve Windows örnekleri
gibi konuları detaylı şekilde inceleyeceğiz.
H.264 Nedir?
H.264 veya diğer adıyla AVC (Advanced Video Coding), günümüzde en yaygın kullanılan video codec standardıdır.
Avantajları:
- Yüksek uyumluluk
- Düşük dosya boyutu
- İyi görüntü kalitesi
- YouTube, Instagram, TikTok ve televizyon sistemleriyle geniş destek
- Donanımsal hızlandırma desteği
Bugün hâlâ:
- Web videoları
- Online kurs sistemleri
- Güvenlik kameraları
- Mobil cihazlar
- Yayın sistemleri
gibi birçok alanda standart olarak kullanılmaktadır.
FFmpeg Nedir?
FFmpeg açık kaynaklı bir multimedya işleme framework’üdür.
Şunları yapabilir:
- Video dönüştürme
- Ses dönüştürme
- Yayın alma/verme
- Ekran kaydı
- Kamera kaydı
- GIF üretme
- Altyazı gömme
- Codec değiştirme
- Video sıkıştırma
- Stream işleme
FFmpeg’in gücü tamamen terminal üzerinden çalışmasından gelir.
FFmpeg Kurulumu
Windows Kurulumu
1. FFmpeg İndir
Windows için güvenilir build kaynaklarından biri:
“Release Essentials” paketini indirmeniz yeterlidir.
2. ZIP Dosyasını Çıkartın
Örneğin:
C:\ffmpeg
3. PATH Ayarı Yapın
Şu klasörü PATH’e ekleyin:
C:\ffmpeg\bin
4. Kurulumu Test Edin
CMD veya PowerShell açın:
ffmpeg -version
Kurulum doğruysa sürüm bilgisi görünür.
macOS Kurulumu
macOS kullanıcıları için en pratik yöntem Homebrew kullanmaktır.
Önce Homebrew kurulu değilse:
Ardından:
brew install ffmpeg
Kontrol etmek için:
ffmpeg -version
Linux Kurulumu
Ubuntu / Debian
sudo apt update
sudo apt install ffmpeg
Fedora
sudo dnf install ffmpeg
Arch Linux
sudo pacman -S ffmpeg
Temel H.264 Dönüştürme Komutu
En temel kullanım:
ffmpeg -i input.mov output.mp4
Burada:
| Parametre | Açıklama |
|---|---|
-i |
Giriş dosyası |
input.mov |
Kaynak video |
output.mp4 |
Çıktı dosyası |
FFmpeg otomatik olarak uygun codec seçmeye çalışır. Ancak profesyonel kullanımda codec’i açık belirtmek gerekir.
H.264 Codec Belirtme
Standart ve önerilen yöntem:
ffmpeg -i input.mov -c:v libx264 output.mp4
Burada:
| Parametre | Açıklama |
|---|---|
-c:v |
Video codec |
libx264 |
H.264 encoder |
Ses Codec Ayarlama
MP4 konteynerinde genellikle ses için AAC kullanılır:
ffmpeg -i input.mov -c:v libx264 -c:a aac output.mp4
Kalite Ayarları (CRF)
FFmpeg’de kalite kontrolü için en önemli parametrelerden biri:
CRF (Constant Rate Factor)
Kullanımı:
ffmpeg -i input.mov -c:v libx264 -crf 23 output.mp4
CRF Değerleri
| Değer | Kalite |
|---|---|
| 18 | Çok yüksek kalite |
| 20-23 | Dengeli |
| 28 | Küçük dosya |
| 30+ | Belirgin kalite kaybı |
Tavsiye Edilen Değerler
| Senaryo | CRF |
|---|---|
| YouTube upload | 18-22 |
| Arşivleme | 16-18 |
| Mobil kullanım | 23-28 |
| Düşük boyut | 28-32 |
Encode Hızı Ayarları (Preset)
Preset kaliteyi değil encode hızını etkiler.
ffmpeg -i input.mov -c:v libx264 -preset medium output.mp4
Preset Seçenekleri
| Preset | Hız | Dosya Boyutu |
|---|---|---|
| ultrafast | Çok hızlı | Büyük |
| superfast | Çok hızlı | Büyük |
| veryfast | Hızlı | Orta |
| fast | Dengeli | Orta |
| medium | Varsayılan | İyi |
| slow | Yavaş | Daha küçük |
| slower | Daha yavaş | Daha küçük |
| veryslow | Çok yavaş | En iyi sıkıştırma |
En Dengeli Ayar
Çoğu kullanıcı için:
ffmpeg -i input.mov -c:v libx264 -preset slow -crf 20 -c:a aac output.mp4
Oldukça dengeli sonuç verir.
Video Boyutunu Küçültme
Çözünürlük Düşürme
1080p videoyu 720p yapmak:
ffmpeg -i input.mov -vf scale=1280:720 -c:v libx264 output.mp4
FPS Düşürme
ffmpeg -i input.mov -r 30 output.mp4
Bitrate Ayarlama
ffmpeg -i input.mov -b:v 2500k output.mp4
Ancak modern kullanımda CRF genellikle daha iyi sonuç verir.
GPU ile Hızlandırılmış H.264 Encode
CPU encode yüksek kalite verir fakat yavaştır.
Modern ekran kartları donanımsal encode sunar.
NVIDIA NVENC Kullanımı
NVIDIA ekran kartlarında:
ffmpeg -i input.mov -c:v h264_nvenc output.mp4
Daha Kaliteli NVENC
ffmpeg -i input.mov -c:v h264_nvenc -preset p5 -cq 19 output.mp4
AMD AMF Kullanımı
AMD GPU’lar için:
ffmpeg -i input.mov -c:v h264_amf output.mp4
Intel Quick Sync
Intel işlemciler için:
ffmpeg -i input.mov -c:v h264_qsv output.mp4
Hangi Encode Daha İyi?
| Encoder | Kalite | Hız |
|---|---|---|
| libx264 | Çok yüksek | Orta |
| NVENC | İyi | Çok hızlı |
| QSV | İyi | Çok hızlı |
| AMF | Orta-iyi | Hızlı |
Toplu Video Dönüştürme
Windows PowerShell
Bulunduğunuz klasördeki tüm videoları dönüştürmek:
Get-ChildItem *.mov | ForEach-Object {
ffmpeg -i $_.Name -c:v libx264 "$($_.BaseName).mp4"
}
Linux/macOS Bash
for f in *.mov; do
ffmpeg -i "$f" -c:v libx264 "${f%.*}.mp4"
done
Videodan Ses Kopyalama
Yeniden encode etmeden:
ffmpeg -i input.mov -c:v libx264 -c:a copy output.mp4
Bu işlem daha hızlıdır.
Altyazı Gömme
Soft Subtitle
ffmpeg -i video.mp4 -i subtitle.srt -c copy -c:s mov_text output.mp4
Hard Subtitle
ffmpeg -i video.mp4 -vf subtitles=subtitle.srt output.mp4
Videoyu Kesme
Başlangıç ve Süre Belirtme
ffmpeg -ss 00:01:00 -i input.mp4 -t 30 output.mp4
Bu örnek:
-
- dakikadan başlar
- 30 saniye sürer
Ses Seviyesini Artırma
ffmpeg -i input.mp4 -af "volume=1.5" output.mp4
Dosya Bilgilerini Görüntüleme
ffprobe input.mp4
veya:
ffmpeg -i input.mp4
H.265 mi H.264 mü?
H.265 daha modern ve daha verimlidir.
Ancak:
| H.264 | H.265 |
|---|---|
| Daha uyumlu | Daha küçük dosya |
| Daha hızlı encode | Daha yüksek CPU kullanımı |
| Eski cihaz desteği | Yeni cihaz odaklı |
Bugün hâlâ maksimum uyumluluk için H.264 en güvenli tercihlerden biridir.
Yaygın Hatalar ve Çözümleri
“Unknown encoder libx264”
Sebep:
- FFmpeg build’inde x264 desteği yoktur.
Çözüm:
- Tam build kullanın.
- Linux’ta ek codec paketleri yükleyin.
“Permission denied”
Sebep:
- Yazma izni yoktur.
Çözüm:
- Farklı klasöre çıktı alın.
- Yönetici yetkisi kullanın.
Çok Büyük Dosya Oluşması
Sebep:
- Düşük CRF
- ultrafast preset
Çözüm:
-crf 23 -preset medium
En Faydalı FFmpeg Komutları
| Amaç | Komut |
|---|---|
| Basit dönüştürme | ffmpeg -i in.mov out.mp4 |
| H.264 encode | -c:v libx264 |
| AAC ses | -c:a aac |
| Kalite kontrol | -crf 20 |
| Hız ayarı | -preset slow |
| Ölçekleme | -vf scale=1280:720 |
| FPS değiştirme | -r 30 |
| GPU encode | h264_nvenc |
| Altyazı gömme | -vf subtitles=file.srt |
Önerilen Profesyonel Ayarlar
Arşiv Kalitesi
ffmpeg -i input.mov -c:v libx264 -preset slow -crf 18 -c:a aac output.mp4
Web İçin Optimize
ffmpeg -i input.mov -c:v libx264 -preset medium -crf 23 -movflags +faststart output.mp4
+faststart, videonun web üzerinde daha hızlı başlamasını sağlar.
Hızlı GPU Encode
RTX 5070 Ti gibi güçlü GPU sistemlerinde:
ffmpeg -i input.mov -c:v h264_nvenc -preset p5 -cq 19 output.mp4
oldukça verimli çalışır.
Sonuç
FFmpeg, video işleme dünyasının en güçlü araçlarından biridir. İlk bakışta terminal tabanlı yapısı karmaşık görünebilir; ancak temel mantığı öğrendikten sonra GUI tabanlı birçok uygulamadan daha hızlı, esnek ve profesyonel sonuçlar sunar.
Özellikle:
- içerik üreticileri,
- video editörleri,
- yazılım geliştiricileri,
- medya sunucusu kullanıcıları,
- arşivleme yapanlar
için FFmpeg öğrenmek ciddi avantaj sağlar.
H.264 tarafında ise:
- yüksek uyumluluk,
- dengeli kalite,
- düşük dosya boyutu,
- donanımsal hızlandırma desteği
nedeniyle hâlâ sektör standardı olmayı sürdürmektedir.