Lorsque j'utilise cela, la qualité ne semble pas mauvaise.
ffmpeg -same_quant -i video.mp4 video.avi
Dans la ffmpeg
documentation est écrit: "Notez que ce n'est pas la même qualité. N'utilisez cette option que si vous savez que vous en avez besoin."
Dois-je obtenir -same_quant
la meilleure qualité ou existe-t-il une option qui donne la même qualité que l'entrée et est plus recommandée?
linux
conversion
ffmpeg
sid_com
la source
la source
-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.Unknown decoder 'copy'
.-codec copy
faut aller après-i video.mp4
- pouvez-vous essayerffmpeg -i video.mp4 -codec copy video.avi
? (-same_quant
fonctionne ici aussi, mais ne fera rien, car cela ne fait que copier les flux)-codec copy
, au bon endroit, ça marche.Réponses:
(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:
( 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.)la source
avconv
c'est maintenant recommandé à la place deffmpeg
et en fait c'est ce que j'ai utilisé.Sous FreeBSD 8. 2, j'ai essayé la copie -codec mais j'ai reçu un message inconnu décodé également. Après essais et erreurs, j'ai trouvé celui qui fonctionnait sous FreeBSD:
la source