Yanıtlar:
Orijinal dosyanızın nasıl kodlandığına bağlı olarak, dosya boyutunu korumak mümkün olmayabilir.
ffmpeg -i infile.avi youroutput.mp4
Bir mp4 dosyası oluştururken kare boyutlarını ve oranlarını sağlam tutmalısınız.
ffmpeg -i infile.avi
giriş dosyanızla ilgili bilgi verecektir - kare büyüklüğü, kullanılan kodekler, bit hızı vb.
Çıktınızı oluştururken acodec
ve vcodec
seçenekleriyle de oynayabilirsiniz . Ayrıca mp4 ve avi dosyalarının çeşitli codec bileşenlerini kullanabileceğini ve kilometrenizin hangi codec bileşenini seçtiğinize bağlı olarak değişebileceğini unutmayın.
Avi dosyalarını mp4'e çevirmekle çok ilgilenmiştim. Gönderinizi okurken, bu ffmpeg komutunu hatırladım:
ffmpeg -i input.avi -strict -2 output.mp4
Komut -strict -2
, deneysel olan ancak bu iki parametreyi eklerseniz çalışan (libaac) olan AAC kodeği tarafından zorunlu tutulur. Çıktı dosyası varsayılan olarak yüksek kalitededir.
Anladığım kadarıyla avi-container'ı mp4 one ile değiştirmek gerekiyor (resmi olarak - ISO / IEC 14496-12 ISO tabanlı medya dosya formatı).
Aşağıdaki komutu çalıştırırsanız:
ffmpeg -i input.avi -y output.mp4
Böyle bir durumda ffmpeg, input.avi içindeki temel akışları yeniden kodlar. (değişmesi, konteyner ve yeniden kodlamak varsayılan moddur Ffmpeg ). Yeniden kodlamanın görsel ve / veya işitme kalitesini bozabileceğini fark etmek önemlidir.
Bu nedenle, yeniden kodlamayı " c: v copy c: bir kopya ile devre dışı bırakmanız önerilir " codec seçenekleriyle :
ffmpeg -i input.avi -c:v copy -c:a copy -y output.mp4
Yukarıdaki durumda ffmpeg sadece kabukları değiştirir (konteynırlar)
ffprobe -i infile.avi
yerine kullanmak daha iyi olur diye düşünüyorumffmpeg -i infile.avi
.