J'ai 950 fichiers PNG qui sont destinés à devenir des images individuelles dans une piste vidéo de 38 secondes à 25 images par seconde. Les noms de fichier sont identiques à l'exception du numéro de séquence, comme il est d'usage dans ce type de cas.
Je souhaite produire un conteneur d'un format largement pris en charge, idéalement WebM si tous les critères sont remplis, ou MPEG-4 par exemple, avec un codec pris en charge par les navigateurs modernes pour la lecture, à partir de cette série d'images PNG I avoir. Le problème est que les couleurs sont décalées et que la couleur d'arrière-plan de la vidéo décodée ne correspond plus au même triplet RVB échantillonné à partir de la couleur d'arrière-plan des images PNG. La vidéo ressort de l'arrière-plan prévu sur la page HTML où la vidéo est incorporée.
J'ai essayé le simple:
ffmpeg -f image2 -i image%03d.png output.webm
ce qui m'a en effet donné une piste vidéo VP9 à 25 fps emballée dans un conteneur WebM.
Les images PNG sont de style animation, avec un arrière-plan solide et des formes simples animées pour le premier plan. Ils semblent être sans étiquette (c'est ce que me dit Adobe Bridge, je suppose que cela signifie qu'aucun profil de couleur n'est incorporé ou qu'une référence à un profil). Le problème de ma tentative ci-dessus est que, même si le conteneur est lu dans Chrome, la couleur d'arrière-plan échantillonnée à partir de l'image PNG, avec triplet RGB #ED4D56
, ne correspond pas de manière perceptuelle à la couleur d'arrière-plan qui apparaît dans la vidéo en cours de lecture.
Est-ce un effet secondaire inévitable de la conversion des couleurs RVB à YUV (encodage) à RVB (lecture)? Y at-il un moyen d'atténuer cela? Je n'insiste pas pour que les images de la piste vidéo soient encodées en RVB, je suppose que YUV convient, tant qu'un navigateur moderne lisant ces images produit le même résultat (avec une marge d'erreur négligeable), un triplet RVB lors du décodage et de l'affichage des informations. cadres).
Ma question est la suivante: quelle ligne de commande ffmpeg
peut-on utiliser pour atténuer cela? Je suis ouvert à changer le codec vidéo, le format de pixel, activer la gestion des couleurs dans ffmpeg s'il existe, etc.