44 votes

Utiliser ffmpeg pour transformer un fichier mp4 en un fichier avi de haute qualité ?

Je voudrais utiliser ffmpeg pour transformer un fichier vidéo mp4 en avi mais avec la même qualité, même si cela prend plus d'espace. Si je fais simplement :

ffmpeg -i file.mp4 file.mp4.avi

Le fichier avi résultant est de très basse qualité et pixelisé. Comment puis-je effectuer cette transformation tout en conservant la qualité de la vidéo et de l'audio ?

22voto

John S Gruber Points 12997

Vous perdez toujours un peu de qualité chaque fois que vous transcodez d'un codec à un autre, vidéo ou audio, mais peut-être pouvez-vous l'éviter si vous voulez seulement passer d'un type de conteneur MP4 à un conteneur AVI. codec:copy peut être utile si vous n'avez pas de raison de transcoder (et cela devrait être plus rapide).

Si vous devez transcoder parce que vous devez utiliser un codec vidéo particulier J'espère que vous pourrez utiliser la suggestion de zetah ci-dessus dans son commentaire et utiliser l'interrupteur -sameq. Alternativement, vous pouvez utiliser l'option qscale pour régler manuellement la qualité. Plus le numéro est bas, meilleure est la qualité, mais plus votre fichier prendra de place.

La dernière fois que j'ai transcodé une vidéo j'ai utilisé qscale=8.0, mais je vous suggère d'expérimenter pour trouver l'optimum pour correspondre à la qualité de votre entrée.

Marty Jay mentionne utilement que sameq signifie même quantificateur que dans l'entrée, ce qui peut ne pas donner la même qualité. L'article qu'il cite mentionne l'utilisation de la conversion en plusieurs passes, ce qui est un bon moyen d'obtenir une meilleure compression sans sacrifier la qualité.

22voto

kuba Points 237

Ma solution:

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

Profitez-en!!

4voto

duffydack Points 6870

Voici mon 2-pass (Profil Simple Avancé) que j'utilise de temps en temps.

pass 1:

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

pass 2:

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X