Ap ila mp4 kullanarak ffmpeg ile kodlayın


27

Avi'den mp4'e dönüştürmek için hangi komut satırları kullanılır, ancak çerçeve boyutunu bozmadan ve dosyayı orijinal boyutunda veya biraz daha büyük olmadan ve mp4 ila avi ile aynı şeyi yapmadan mı? Ne zaman dönüştürmeye çalışsam 2 gb oldu.

Yanıtlar:


33

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 acodecve vcodecseç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.


6
"En az bir çıktı dosyası belirtilmeli" hatasıyla sonuçlandığından, bilgi almak ffprobe -i infile.aviyerine kullanmak daha iyi olur diye düşünüyorum ffmpeg -i infile.avi.
Francesco Turco

Sağol Francesco. Yaklaşımın benimkinden daha zarif ;-)
rbanffy

6

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.


2

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)


0

Bunu buldum :: Libav .

Kurulum: run komutu

sudo apt-get install libav-tools

Video dönüştürme komutu:

Videoyu içeren klasöre gidin ve terminalde çalıştırın

avconv -i oldvideo.mp4 -ar 22050 convertedvideo.webm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.