Ffmpeg Video Encoding Rehberi - Container Değiştirme


Ffmpeg ile Vidonun Container'ını Değiştirme

( Ffmpeg kurulumunu bilmiyorsanız, öğrenmek için buraya tıklayınız  )

Video container'ı videonun hakkındaki bilgilerin tutuluş şeklidir, video hakkındaki meta datanın, kodlanmış (sıkıştırılmış/encode edilmiş) video'nun (görüntünün) kendisinin, kodlanmış ses'in kendisinin muhafaza edildiği kalıptır. Videonun uzantısı olarak bildiğiniz şeyler containerlardır. Örnek olarak en çok bilinenlerden .mp4 ve .mkv.

Bir videonun (görüntüler bilgisinin) kendisi encode edilirken (sıkıştırılırken, kodlanırken) günümüzde "codec"ler kullanılır. "Codec" kelimesi "Coder" ve "Decoder" kelimelerinin birleşiminden oluşur. Anlamından da anlaşılacağı üzere bir veriyi belli bir kurala göre kodlamışsak tekrar okumamız gerektiğinde kodu çözmemiş (decode etmemiz) gerekir. Kodlamaktaki amacımız videonun görüntü kalitesini yüksek tutarken boyutunu düşük tutmaya çalışmaktır, yani videoyu sıkıştırırız. Tabii aynı şekilde sesin de codec'i vardır ve bu anlattıklarım ses için olacak şekilde geçerlidir.

populer video codecleri --> h.264, h265, vp9...

populer ses codecleri --> aac, ac-3, flac...

Bazan internetten indirdiğiniz bir videonun container'ı çok populer olmadığı için televizyonunuz veya bilgisayarınız videoyu desteklemez veya container yazılımsal performans sorunları içerdiği için videoda ses kayması, görüntü bozulması gibi sorunlar yaşanabilir. İndirdiğiniz videoyu başka bir kaynaktandan indirmeden önce videonun container'ını değiştirmek bu sorunların hepsini yok edebilir.

Ffmpeg kütüphanesi bir kaç saatlik bir videonun container'ını bir kaç saniyede değiştirmenize imkan sağlayacak kadar güçlü bir kütüphanedir. Çok hızlıdır çünkü ne sesi ne de videoyu bir codec'e göre yendiden kodlamazsınız, halihazırda kodlanmış olanın tutulduğu kalıbı değiştirmek suretiyle video playerınızın daha iyi okuduğu bir container'a geçebilrisiniz.

ffmpeg -i video_ismi.mevcut_container -c copy video_çıktı_ismi.istenen_container

Örneğin bir video container'ı olarak .ts berbat bir containerdır. .ts containerlı bir videoyu .mp4 containerında muhafaza etmek için aşağıdaki örneğe bakınız,

ffmpeg -i video.ts -c copy video.mp4

Burada -c argümanını copy parametresiyle kullanarak hem mevcut sesi hem de mevcut videoyu olduğu gibi yeni bir containera aktarmasını söyledik.

Yorum Gönder

0 Yorumlar