FFmpeg ile Video Kalitesi Artırma: Boyutlandırma, Gürültü Azaltma, Sabitleme

INEZA Felin-Michel

INEZA Felin-Michel

10 April 2026

FFmpeg ile Video Kalitesi Artırma: Boyutlandırma, Gürültü Azaltma, Sabitleme

Kurumsal Apidog

Şirket İçi Dağıtım

SSO & RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfet

Özet (TL;DR)

FFmpeg, videoları -vf "scale=1920:1080:flags=lanczos" komutuyla büyütür — Lanczos, büyütme için en iyi ölçekleme algoritmasıdır. Gürültü giderme için, hqdn3d kenarları korurken greni azaltır. Stabilizasyon için, vidstab iki geçişli bir işlemle kamera sarsıntısını giderir. Kalite iyileştirme akışı için üçünü de tek bir filtre zincirinde birleştirin.

Giriş

FFmpeg ile video kalitesi iyileştirme, sadece çözünürlüğü değiştirmekten öteye gider. Gerçek iyileştirme, çözünürlük yükseltmeyi akıllı gürültü giderme ve isteğe bağlı stabilizasyon ile birleştirir. Her adım farklı bir kalite sorununu hedefler: bulanık veya pikselli görüntüler, grenli veya gürültülü kareler ve sarsıntılı kamera hareketi.

Bu kılavuz, her tekniği bağımsız olarak ele alır ve bunların nasıl birleştirileceğini gösterir.

Düğme

Ölçekleme algoritmaları

Ölçekleme algoritması, FFmpeg'in büyütme yaparken yeni pikselleri nasıl dolduracağını belirler. Seçim, çıktı kalitesi üzerinde gözle görülür bir etkiye sahiptir.

Algoritma Hız Kalite En iyi olduğu durum
neighbor En Hızlı En Düşük Piksel sanatı
bilinear Hızlı Düşük Hız açısından kritik
bicubic Orta İyi Genel küçültme
lanczos Daha Yavaş En İyi Büyütme

Lanczos ile 1080p'ye büyütme:

ffmpeg -i input_720p.mp4 -vf "scale=1920:1080:flags=lanczos" -c:v libx264 -crf 20 output_1080p.mp4

En boy oranını koruma:

ffmpeg -i input.mp4 -vf "scale=1920:-2:flags=lanczos" -c:v libx264 -crf 20 output.mp4

-2, en boy oranını korurken ve sonucun 2'ye bölünebilir olmasını sağlarken yüksekliği otomatik olarak hesaplar.

4K'ya ölçekleme:

ffmpeg -i input.mp4 -vf "scale=3840:-2:flags=lanczos" -c:v libx264 -crf 18 -preset slow output_4k.mp4

-preset slow, x264'e sıkıştırmayı optimize etmek için daha fazla zaman harcamasını söyler, bu da daha yüksek çözünürlüklerde daha önemlidir.

hqdn3d ile gürültü giderme

hqdn3d filtresi, yüksek kaliteli 3D gürültü gidermedir. Kenar detayını korurken gren ve gürültüyü giderir.

ffmpeg -i noisy_video.mp4 -vf "hqdn3d=4:3:6:4.5" -c:v libx264 -crf 20 denoised.mp4

Dört parametre: luma_spatial:chroma_spatial:luma_temporal:chroma_temporal

Daha güçlü gürültü giderme:

ffmpeg -i grainy.mp4 -vf "hqdn3d=10:8:15:10" -c:v libx264 -crf 20 clean.mp4

Daha yüksek değerler daha fazla gürültüyü giderir ancak ince detayları bulanıklaştırabilir. Videonun tamamını işlemeden önce farklı ayarları test edin.

Hafif gürültü giderme (detayı koru):

ffmpeg -i video.mp4 -vf "hqdn3d=2:1.5:3:2.5" -c:v libx264 -crf 20 output.mp4

vidstab ile stabilizasyon

vidstab filtresi iki geçişli bir yaklaşım gerektirir: önce hareketi analiz edin, sonra stabilizasyonu uygulayın.

Kurulum: vidstab desteği, FFmpeg yapınıza bağlıdır. ffmpeg -filters | grep vidstab ile kontrol edin. macOS'ta: brew install ffmpeg bunu içerir.

1. Geçiş: Hareketi analiz et

ffmpeg -i shaky_video.mp4 -vf "vidstabdetect=stepsize=6:shakiness=8:accuracy=9:result=transform.trf" -f null -

shakiness=8 (1-10): Ne kadar kamera sarsıntısı beklendiği. accuracy=9 (1-15): Algılama doğruluğu. -f null - çıktıyı atar; sadece .trf dosyasına ihtiyacımız var.

2. Geçiş: Stabilizasyonu uygula

ffmpeg -i shaky_video.mp4 -vf "vidstabtransform=input=transform.trf:zoom=1:smoothing=10" -c:v libx264 -crf 20 stabilized.mp4

zoom=1, stabilizasyonun neden olduğu kenar kesmesini telafi etmek için %1 yakınlaştırma ekler. Siyah kenarlıklar görünürse artırın. smoothing=10, kamera yolunun ne kadar pürüzsüz olacağını kontrol eder (daha yüksek = daha pürüzsüz).

Daha agresif stabilizasyon:

ffmpeg -i video.mp4 -vf "vidstabtransform=input=transform.trf:zoom=3:smoothing=30:optzoom=1" -c:v libx264 -crf 20 stable.mp4

optzoom=1, kenarlıkları önlemek için yakınlaştırmayı otomatik olarak optimize eder.

Birleşik kalite iyileştirme akışı

Her üç işlemi de tek bir filtre zincirinde birlikte çalıştırın:

ffmpeg -i source.mp4 \
  -vf "hqdn3d=4:3:6:4.5,scale=1920:-2:flags=lanczos,vidstabtransform=input=transform.trf:zoom=1:smoothing=10" \
  -c:v libx264 -crf 18 -preset slow \
  -c:a copy \
  enhanced.mp4

Şu sırayı uygulayın: önce gürültü giderme (ölçeklemeyi etkileyebilecek bozuklukları giderir), ardından ölçekleme, sonra stabilizasyon. Bu, gürültüyü daha yüksek çözünürlüğe ölçeklemeyi önler.

Not: Bu birleşik akışı kullanmadan önce vidstabdetect geçişini çalıştırın.

Keskinleştirme filtresi

Görüntüler gürültülü olmaktan ziyade bulanık görünüyorsa, keskinleştirme yardımcı olabilir:

ffmpeg -i video.mp4 -vf "unsharp=5:5:1.5:5:5:0.5" -c:v libx264 -crf 20 sharpened.mp4

Parametreler: lx:ly:la:cx:cy:ca (luma/kroma boyutları ve miktarları)
lx:ly — luma matris boyutu (piksel)
la — luma miktarı (pozitif = keskinleştir, negatif = bulanıklaştır)
cx:cy:ca — kroma eşdeğerleri

Hafif keskinleştirme için: unsharp=3:3:0.5:3:3:0.0
Güçlü keskinleştirme için: unsharp=5:5:2.5:5:5:0.0

Performans değerlendirmeleri

İyileştirme işlemleri işlemci yoğunludur. 10 dakikalık 1080p video için işlem süresi tahminleri:

Kodlama hızı ile dosya boyutu arasındaki dengeyi sağlamak için -preset kullanın:

Toplu işleme için, birden fazla dosyayı eşzamanlı olarak çalıştırın veya parallel kullanın:

ls *.mp4 | parallel ffmpeg -i {} -vf "scale=1920:-2:flags=lanczos" -c:v libx264 -crf 20 enhanced_{/}

Yapay Zeka video büyütme API'lerine bağlanma

Yapay zeka destekli büyütme (düşük kaliteli veya hasarlı görüntüler için FFmpeg'in filtrelerinden daha iyi sonuçlar üretir) için, FFmpeg araçlarının yanı sıra özel API'ler de mevcuttur.

WaveSpeedAI, algoritmik filtreler yerine nöral büyütme kullanan yapay zeka büyütme modelleri sunar:

POST https://api.wavespeed.ai/api/v2/wavespeed-ai/video-enhance
Authorization: Bearer {{WAVESPEED_API_KEY}}
Content-Type: application/json

{
  "video_url": "https://storage.example.com/source-video.mp4",
  "scale": 2,
  "enhance": true
}

Entegre etmeden önce Apidog ile test edin:

Onaylamalar ekleyin:

Status code is 200
Response body has field id

Tamamlanması için durum uç noktasını yoklayın, ardından yapay zeka ile büyütülmüş çıktıyı FFmpeg'in Lanczos çıktısı ile karşılaştırın. Yapay zeka büyütme, dokuları ve ince detayları algoritmik yöntemlerden daha iyi işler; FFmpeg daha hızlı ve ücretsizdir.

Standart kalite işleri için FFmpeg'i, kalitenin en önemli olduğu görüntüler için ise API tabanlı yapay zeka büyütmeyi kullanın.

Sıkça Sorulan Sorular

Lanczos, tüm durumlarda bicubic'ten daha mı iyidir?
Büyütme için, evet. Küçültme için, bicubic genellikle karşılaştırılabilir kalitede daha hızlıdır. Lanczos, işlem gücü açısından daha pahalıdır.

vidstab telefon görüntüleri üzerinde çalışır mı?
Evet. Telefon görüntüleri genellikle stabilizasyondan en çok fayda sağlar. Elde çekilen telefon videoları için sarsıntı parametresi yüksek ayarlanmalıdır (8-10).

Stabilizasyon kenarlıklarını gizlemek için ne kadar yakınlaştırma gerekir?
Genellikle kaynağın ne kadar sarsıntılı olduğuna bağlı olarak %3-8. FFmpeg'in otomatik olarak hesaplaması için optzoom=1 ayarlayın.

FFmpeg düşük çözünürlüklü tarihi görüntüleri iyileştirebilir mi?
FFmpeg'in filtreleri yardımcı olur ancak sınırları vardır. Yapay zeka tabanlı büyütme araçları (ESRGAN veya özel video iyileştirme API'leri gibi) ciddi şekilde bozulmuş görüntülerde önemli ölçüde daha iyi sonuçlar üretir.

Gürültü giderme oynatmayı yavaşlatır mı?
Hayır. Gürültü giderme, dönüştürme sırasında bir işlem adımıdır, gerçek zamanlı bir efekt değildir. Çıktı video normal şekilde oynatılır.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin

FFmpeg ile Video Kalitesi Artırma: Boyutlandırma, Gürültü Azaltma, Sabitleme