
Ffmpeg Sadece Videoyu Encode Etme
Önceki konularda container değiştirmeyi ve videodan kesit almayı anlatmıştım.
Ffmpeg bir videoyu encode ederken eğer belirtmezseniz varsayılan olarak videonun sesini de aac codeği ile encode eder. Videoyu ve sesi eş zamanlı olarak encode eder ve bu Ffmpeg'in en güzel yanlarından biridir. Çünkü ilerde anlatacağım fps interpolasyon işlemlerinde (fps değiştirme) sesin frame rate'inin de videonun değiştirilen frame rate'ine göre değiştirilmesi gerektiği aşikardır. Bu işlemi kullanıcıya hiç sormadan kendiliğinden yapar ve kullanıcıyı büyük bir zahmetten kurtarır. Fakat ses dosyasının yeniden kodlanmasını gerektirecek bir durum yoksa sesin kodlanması ile zaman harcamak istemeyebilirsiniz.
ffmpeg -i input_video.mkv -c:v libx264 -c:a copy output_video.mkv
-c codec'i ifade ederken yanına koyduğumuz harf codec'in türünü ifade eder
-c:v --> video codec'i
libx264 --> video codec'i türü,
* -c:v libx264 --> böyle yazarak varsayılan libx264 ayarları ile videyu encode etmesini istedik.)
-c:a --> ses codec'i
* -c:a'dan sonra copy yazarsak bunu tekrar kodlamadan olduğu gibi almasını söylemiş oluruz.
Ffmpeg bir encoderin tüm ihtiyaçlarını içeren çok hızlı ve çok kullanışlı bir kütüphanedir.
Yukarıdaki gibi videoyu ayıklamakla uğraşmak istemezseniz encoding işlemi sırasında ses dosyasını görezden gelmesini -an parametresi ile programa belirtebilirsiniz.
Aşağıdaki komut ile ses dosyasına hiç dokunmadan görüntüyü işlemeyi ve aynı zamanda ses dosyasını encode sonucu çıktı videonun içine hiç dahil etmemeyi göstereceğim.
ffmpeg -i input_video.mkv -c:v libx264 -an output_video.mkv
0 Yorumlar