Linux'ta ffmpeg: Video ve Ses Dosyalarını Dönüştürme, Sıkıştırma ve Çıkarma

ffmpeg, Linux terminalinden video ve ses dosyalarını dönüştürmek, sıkıştırmak ve işlemek için güçlü bir araçtır. Bu rehber, dosyaları incelemek, formatları dönüştürmek ve sesi çıkarmak için temel komutları açıklar.

I
ITWISE
4 görüntülenme
Linux'ta ffmpeg: Video ve Ses Dosyalarını Dönüştürme, Sıkıştırma ve Çıkarma

Linux'ta ffmpeg: Video ve Ses Dosyalarını Dönüştürme

Linux kullanıcılarının her biri, bir video dosyasını paylaşmak istediğinde çok büyük, bir MKV dosyasını TV'nin oynatması için uygun bir formata çevirmek veya bir ders kaydını sadece ses olarak içe aktarmak istediğinde karşılaşır. ffmpeg bu tür durumlar için ideal bir çözümdür. Çeşitli video ve ses formatlarını okuma ve yazma özelliğine sahiptir. Bazı temel komutları öğrendikten sonra, tek bir araçla tüm işlemleri gerçekleştirebilirsiniz.

ffmpeg Kurulumu

Ubuntu, Debian ve türevleri için ffmpeg, standart depolarda mevcuttur:

sudo apt update
sudo apt install ffmpeg

Fedora'da, varsayılan depolardaki ffmpeg-free paketi, birçok yaygın görevi kapsar, ancak tam bir FFmpeg derlemesiyle karşılaştırıldığında daha küçük bir kod çözücü setine sahiptir. İlk olarak varsayılan paketi kullanın:

sudo dnf install ffmpeg-free

Kurulumu doğrulamak için:

ffmpeg -version

ffmpeg Komut Sentaksı

ffmpeg komutunun genel sentaksı:

ffmpeg [GLOBAL_OPTIONS] -i INPUT [OUTPUT_OPTIONS] OUTPUT

Bu yapıda iki önemli detay vardır. İlk olarak, seçenek sırası: -i seçeneğinden önce yer alan seçenekler girişe, sonra yer alan seçenekler çıkışa uygulanır. İkinci olarak, ffmpeg, dosya uzantısından çıkış konteynerini tahmin eder, yani output.mp4 yazmak, bir MP4 dosyası isteyen anlamına gelir.

Bir Medya Dosyasını İçerik Açısından İnceleme

Herhangi bir dönüşüm yapmadan önce, dosyanın içeriğini inceleyin. ffprobe araçları, ffmpeg ile birlikte gelir ve konteyner ve akış detaylarını yazdırır:

ffprobe -hide_banner input.mp4

Formatlar Arasında Dönüştürme

Dosyadaki kodlar hedef konteynerle uyumlu ise, sadece konteyneri değiştirmek için yeniden kodlama yapmadan dönüştürme işlemi gerçekleştirilebilir. Bu, kayıpsız bir işlemdir ve birkaç saniyede tamamlanır:

ffmpeg -i input.mkv -c copy output.mp4

Ses Çıkarma ve MP3'e Dönüştürme

Bir videodan ses izlemini kalitesini bozmadan çıkarmak için, -vn seçeneği ile video izlemini atın ve ses akışını kopyalayın:

ffmpeg -i video.mp4 -vn -c:a copy audio.m4a

Video Sıkıştırma

Video dosyasını sıkıştırmak için en etkili yöntem, H.264 kodlayıcısını sabit hız faktörü modunda kullanmaktır:

ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset slow -c:a aac -b:a 128k output.mp4

Video Boyutlandırma ve Ölçeklendirme

Ölçeklendirme işlemi, scale video filtresi ile gerçekleştirilir. Bir videoyu 1280 piksel genişliğe getirmek ve en-boy oranını korumak için:

ffmpeg -i input.mp4 -vf scale=1280:-2 -c:a copy output.mp4

Video Kırpma ve Kısaltma

Bir video klibini bir uzun video'dan kırpmak için, başlangıç konumu ile bitiş konumu veya süreyi birleştirin:

ffmpeg -ss 00:01:00 -to 00:02:30 -i input.mp4 -c copy clip.mp4

Videodan Görüntüler Çıkarma

Bir tek çerçeveyi bir görüntü olarak almak için, konuma gitmek ve bir video çerçevesi isteyin:

ffmpeg -ss 00:00:10 -i input.mp4 -frames:v 1 thumbnail.jpg

Dosyaları Toplu Dönüştürme

Bir dizindeki dosyalar için, dönüştürme komutunu bir shell döngüsüne sarın. Aşağıdaki komut, mevcut dizindeki her MKV dosyasını MP4'e dönüştürür:

for f in *.mkv; do ffmpeg -i "$f" -c:v libx264 -crf 23 -c:a aac "${f%.mkv}.mp4"; done

Hızlı Referans

Görev Komut
Konteyneri kayıpsız değiştirme ffmpeg -i in.mkv -c copy out.mp4
Videoyu MP3'e dönüştürme ffmpeg -i in.mp4 -vn -c:a libmp3lame -q:a 2 out.mp3
H.264 ile sıkıştırma ffmpeg -i in.mp4 -c:v libx264 -crf 23 -preset slow -c:a aac -b:a 128k out.mp4
H.265 ile sıkıştırma ffmpeg -i in.mp4 -c:v libx265 -crf 28 -c:a copy out.mp4
1280 genişliğe boyutlandırma ffmpeg -i in.mp4 -vf scale=1280:-2 -c:a copy out.mp4
Hızlı kırpma (ana çerçeve kırpma) ffmpeg -ss 00:01:00 -to 00:02:30 -i in.mp4 -c copy clip.mp4
10 saniyedeki tek çerçeve ffmpeg -ss 00:00:10 -i in.mp4 -frames:v 1 thumb.jpg
Akışları inceleme ffprobe -hide_banner in.mp4

Sıkça Sorulan Sorular

Kayıp olmadan dönüştürme, kaliteyi kaybettiriyor mu?
Hayır. Akış kopyalama, kodlanmış ses ve video akışlarını yeni bir konteynere byte başına taşıyarak, kaynakla tamamen aynı sonucu verir. Kalite yalnızca yeniden kodlama sırasında etkilenir, yani herhangi bir kodlayıcı belirtildiğinde copy yerine.

Hangi CRF değeri kullanmalıyım?
H.264 için, 23'ten başlayın ve gözle göre ayarlayın: 18 ile 20 arası kaliteli içeriğiniz için, 26 ile 28 arası ise boyut daha önemlidir. H.265 için, yaklaşık 5 ekleyerek benzer bir sonuca ulaşın, bu nedenle 28 genellikle başlangıç noktasıdır.

Sonuç

Küçük bir set ffmpeg tarifleri, günlük medya dosyalarıyla yaptığımız çoğu işlemi kapsar: sadece konteyner yanlışsa -c copy ile remux yapın, boyut veya kodlama değiştirilmesi gerekiyorsa uygun bir CRF ile yeniden kodlayın ve kırpma, boyutlandırma ve ses çıkarma için -ss, -vf scale ve -vn kullanın.

Kaynak

Linuxize