Nasıl ffmpeg ile mp4 avi için dönüştürürken en iyi kalite elde?


11

Bunu kullandığımda kalite kötü görünmüyor.

ffmpeg -same_quant -i video.mp4 video.avi

Gelen ffmpegbelgeler yazılır: "Bu AYNI KALİTE DEĞİLDİR dikkat edin, eğer ihtiyacınız bilmedikçe bu seçeneği kullanmayın.".

En -same_quantiyi kaliteye sahip miyim veya girişle aynı kaliteyi veren ve daha fazla önerilen bir seçenek var mı?


Kullanılan codec bileşenlerine bağlı olarak (bazı codec bileşenleri bazı kaplarla uyumsuzdur), akışları her zaman kopyalayabilirsiniz ( -codec copy). Akışları yeniden kodlamadığınızdan, yalnızca farklı bir kapta yeniden paketlediğinizden, kalite değişikliklerinden kaçınmanın en iyi yolu budur.
njsg

Bu çalıştığımda alıyorum: Unknown decoder 'copy'.
sid_com

3
Sonra-codec copy gitmeli gibi görünüyor - deneyebilir misin? ( burada da çalışır, ancak bu sadece akışları kopyaladığı için hiçbir şey yapmaz) -i video.mp4ffmpeg -i video.mp4 -codec copy video.avi-same_quant
njsg

Ffmpeg'in komut satırı seçeneklerinin yerleşimi ile ilgili olarak, bkz. Ffmpeg Documentation - 2 Açıklama : İşte bir alıntı: Genel kural olarak, seçenekler bir sonraki belirtilen dosyaya
Peter.O

Teşekkür! Şimdi ile -codec copydoğru yerde çalışıyor.
sid_com

Yanıtlar:


14

(yukarıdaki yorumlardan uyarlanmıştır)

Kullanılan codec bileşenlerine bağlı olarak (bazı codec bileşenleri bazı kaplarla uyumsuzdur), akışları her zaman kopyalayabilirsiniz ( -codec copy). Akışları yeniden kodlamadığınızdan, yalnızca farklı bir kapta yeniden paketlediğinizden, kalite değişikliklerinden kaçınmanın en iyi yolu budur.

Ses / video dosyalarıyla uğraşırken, kapların çoğunlukla kullanılan kodeklerden bağımsız olduğunu akılda tutmak önemlidir . Dosyalara "AVI video" veya "MP4 video" olarak atıfta bulunan kişileri görmek yaygındır, ancak bunlar kapsayıcıdır ve bir oynatıcının teknik sınırlamalar dışında (örneğin, AVI'nın h264 ve Ogg Vorbis ile ilgili sorunları olabilir ), herhangi bir kodek kullanabilirsiniz.

-same_quantffmpeg'e benzer bir kaliteye ulaşmaya çalışmasını söylemenin bir yolu gibi görünüyor, ancak videoyu yeniden kodlar yazmaz (en azından kayıp kodeklerle), aynı kaliteyi elde edemezsiniz. Kaliteden endişe ediyorsanız, akışları mümkün olduğunca yeniden kodlamaktan kaçınmak iyi bir kuraldır.

Böylece, akışları ffmpeg ile kopyalamak için şunları yaparsınız:

ffmpeg -i video.mp4 -codec copy video.avi

( @ Peter.O'nun belirttiği gibi , seçenek sırası önemlidir, bu yüzden -codec copygitmeniz gereken yer burası . Hala devam edebilirsiniz -same_quant, ancak akışları yeniden kodlamadığınız için herhangi bir etkisi olmayacaktır.)


Çözümünüz benim için çalışıyor. Görüyorum ki avconvartık bunun yerine tavsiye ediliyor ffmpegve aslında kullandığım şey bu.
Faheem Mitha

3

FreeBSD 8. 2 altında, -codec kopyasını denedim ama bilinmeyen mesajın da kodu çözüldü. Deneme yanılma sonrasında çalışan FreeBSD altında bir tane buldum:

ffmpeg -i video.mp4 -vcodec copy video.avi
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.