mp4'ü aynı yüksek kaliteli avi dosyasına dönüştürmek için ffmpeg kullanılır mı?


28

Bir mp4 video dosyasını avi'ye dönüştürmek için ffmpeg kullanmak istiyorum, ancak daha fazla yer kaplasa bile aynı kalitede. Eğer sadece yaparsam:

ffmpeg -i file.mp4 file.mp4.avi

Ortaya çıkan avi dosyası çok düşük kaliteli ve pikselli. Video ve ses kalitesini korurken bu dönüşümü nasıl yapabilirim?


3
-sameqAVI kabına aynı video kodeğini (H264 varsayarsak) koyacak anahtarı kullanabilirsiniz . Oynatıcınız AVI'de H264'ü desteklemiyorsa, mümkün olan en iyi video formatını (H264) vasat bir formata dönüştürmeniz gerekir, ki bu iyi bir şey değildir. Sonra daha yüksek video bit hızı XVID atarsınız (diyelim ki 2000 Kb / s). Ses, IMHO kadar önemli değil, fakat MP3 e dönüştürmek daha sonra AC3
zetah

Yanıtlar:


16

Bir codec bileşeninden diğerine video veya ses kodunu dönüştürdüğünüzde her zaman biraz kaliteyi kaybedersiniz, ancak belki de yalnızca MP4 konteyner türünden bir AVI konteynerine geçmek istiyorsanız bunu önleyebilirsiniz. codec:copyKod dönüştürmek için bir nedeniniz yoksa yardımcı olabilir (ve daha hızlı olması gerekir).

Belli bir video codec'i kullanmanız gerektiğinden kod dönüştürmeniz gerekiyorsa, umarım yukarıdaki zetah önerisini yorumunda kullanabilir ve -sameqanahtarı kullanabilirsiniz . Alternatif olarak, qscalekaliteyi manuel olarak ayarlamak için seçeneği kullanmak isteyebilirsiniz . Sayı ne kadar düşük olursa kalite o kadar iyi olur, ancak dosyanız o kadar fazla yer kaplar.

En son kullandığım videoyu kodladım qscale=8.0, ancak girdilerinizin kalitesine en uygun olanı bulmaya çalışmanızı öneririm.

Marty Jay yararlı bir şekilde aynıq'ın girdiyle aynı niceleyici anlamına geldiğini ve aynı kalitede sonuçlanamayacağını belirtti. Aldığı yazı, kaliteden ödün vermeden daha iyi sıkıştırma elde etmenin iyi bir yolu olan çok geçişli dönüştürmeyi kullanarak bahsetmektedir.


Tavsiyeler için teşekkürler, -sameqnasıl gittiğini görmeye çalışacağım .
719016

8
-sameq aynı kalite anlamına gelmez; ffmpeg.org/trac/ffmpeg/wiki/…

3
Bu -qscale 0seçeneği kullanmanız tavsiye edilir
user989762

Oldukça yaşlı, ama bugün bunu yapmaya çalışırken bu uyarıyı aldım:Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.
Dave Lugg

10

Çözümüm:

ffmpeg -i filename.mp4 -vcodec copy -acodec copy filename.avi

Keyfini çıkarın!!


2
AVC akışlarının AVI kaplarına gömülmesinin, topluluk tarafından yönetilen birçok video oynatıcı (örn. VLC, MPlayer, herhangi bir FFmpeg / Libav veya GStreamer, Media Player Classic, herhangi bir ticari oyuncu (örn. Windows Media Player) tarafından desteklenen bir kesmeyi gerektirdiğini unutmayın. ve QuickTime / iTunes bunu desteklemiyor).
David Foerster

4

İşte şimdi 2-pass (Gelişmiş Basit Profil) kullanıyorum şimdi ve sonra.

1 geçmek:

ffmpeg -i file.mp4 -vcodec mpeg4 -vtag XVID -b 990k -bf 2 -g 300 -s 640x360 -pass 1 -an -threads 0 -f rawvideo -y /dev/null

2'yi geçmek:

ffmpeg -i file.mp4 -vcodec mpeg4 -vtag XVID -b 990k -bf 2 -g 300 -s 640x360 -acodec libmp3lame -ab 128k -ar 48000 -ac 2 -pass 2 -threads 0 -f avi file.avi

Bu harika, bana çok iyi kalitede çok küçük bir avi üretti!
jpo38
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.