(adapté des commentaires ci-dessus)
Selon les codecs utilisés (certains codecs sont incompatibles avec certains conteneurs), vous pouvez toujours simplement copier les flux ( -codec copy
). C'est le meilleur moyen d'éviter les changements de qualité, car vous ne réencodez pas les flux, vous les reconditionnez simplement dans un autre conteneur.
Lorsque vous traitez des fichiers audio / vidéo, il est important de garder à l'esprit que les conteneurs sont pour la plupart indépendants des codecs utilisés. Il est courant de voir des personnes se référer à des fichiers en tant que "vidéo AVI" ou "vidéo MP4", mais ce sont des conteneurs et nous disent peu de choses sur la possibilité pour un lecteur de lire les flux, en dehors des limitations techniques (par exemple, AVI peut avoir des problèmes avec h264 et Ogg Vorbis ), vous pouvez utiliser n'importe quel codec.
-same_quant
semble être un moyen de dire à ffmpeg d'essayer d'obtenir une qualité similaire, mais dès que vous réencodez la vidéo (au moins avec des codecs avec perte), vous n'avez aucun moyen d'obtenir la même qualité. Si vous êtes préoccupé par la qualité, une bonne règle de base est d'éviter de réencoder les flux lorsque cela est possible.
Donc, pour copier les flux avec ffmpeg, vous feriez:
ffmpeg -i video.mp4 -codec copy video.avi
( Comme @ Peter.O l'a mentionné , l'ordre des options est important, c'est donc là que -codec copy
doit aller. Vous pouvez toujours le conserver -same_quant
, mais cela n'aura aucun effet car vous ne réencodez pas les flux.)
-codec copy
). C'est le meilleur moyen d'éviter les changements de qualité, car vous ne réencodez pas les flux, vous les reconditionnez simplement dans un autre conteneur.