2017-07-18 6 views
0

J'ai besoin de convertir un répertoire de trames en webm avec absolument aucune compression d'image, juste images-to-images brutes. En utilisant la version ffmpeg N-82889-g54931fd, c'est ce que je suis en ce moment.Encodage sans perte de cadres PNG à webm avec ffmpeg

ffmpeg -framerate 30 -f image2 -i frames/%02d.png -pix_fmt yuva420p -crf 0 output.webm 

Le crf 0 drapeau a été dit être la réponse, mais la sortie est encore pleine de compression et d'artefacts. Y a-t-il une option pour rendre chaque trame aussi proche que possible de leur image PNG correspondante?

+0

Avez-vous essayé '-lessless 1' pour le codeur? btw, je suppose que 'yuva420p' a assuré la vidéo est lossy. – halfelf

+0

Je pensais que yuva420p était nécessaire pour l'encodage webm? – Peaser

Répondre

2

VP8, codeur par défaut pour WebM, n'a pas de mode sans perte. Utilisez VP9.

ffmpeg -framerate 30 -i frames/%02d.png -c:v libvpx-vp9 -pix_fmt yuva420p -lossless 1 out.webm 

Notez qu'en raison de la conversion de format de pixel (RGB -> YUV), la sortie ne sera pas tout à fait sans perte, car il y aura des erreurs d'arrondi lors du décodage de retour RVB.