web-dev-qa-db-fra.com

Comment faire un gif qui va et vient sur une boucle?

J'ai un clip mp4 que je voudrais transformer en un gif lisse qui serait rejoué en arrière à la même vitesse et la même qualité qu'il joue en avant. C'est à ce moment-là qu'il atteindrait la fin du clip, qu'il jouerait à l'envers dans le sens inverse, puis lorsqu'il arriverait à la fin de la version inversée, il commencerait à jouer la version normale et continuerait sur une boucle de façon à ce que lisse sans sauter.

J'utilise Ubuntu GNOME 16.10 avec GNOME 3.22, existe-t-il des éditeurs vidéo ou d'autres applications que je pourrais utiliser pour les utiliser? Et si oui, lesquels et comment? Ou peut-être un script pour inverser tous les cadres pour en créer un nouveau puis les fusionner dans un gif? Tant que la vitesse et la qualité sont correctes et identiques et qu'il n'y a pas d'inquiétude, cela ne me dérange pas vraiment.

3
user364819

Le moyen le plus simple serait de le faire avec ceci outil en ligne . Il suffit de télécharger le fichier GIF et de cocher la case "Exécuter à la fin et inverser au début".

Je n'ai vu aucun outil Linux avec une telle fonctionnalité intégrée, mais si vous ne voulez pas utiliser d'outils en ligne ou si le fichier est trop volumineux, vous pouvez scinder le GIF à l'aide de gifsicle, copier et renommer les cadres ou simplement créer une liste. des noms de fichiers dans l'ordre croissant et décroissant et les joindre ensemble, à nouveau - en utilisant gifsicle.

Quelque chose comme ça pourrait faire l'affaire:

gifsicle --unoptimize --explode original.gif && 
find . -iname "*\.gif\.*" | sort > frame_list.txt && 
find . -iname "*\.gif\.*" | sort -r >> frame_list.txt && 
cat frame_list.txt | xargs gifsicle > reversed.gif

(Si vous obtenez une erreur cassée/scintillante ou une erreur gifsicle, vous devrez peut-être supprimer les optimisations avec imagemagick avant de le scinder: convert original.gif -coalesce unoptimized.gif)


Pour l’étape de conversion mp4 en gif, il existe de nombreuses options en ligne et hors ligne, mais j’ai trouvé que cela produisait les meilleurs résultats: http://blog.pkh.me/p/21-high-quality- gif-with-ffmpeg.html

Désassembler et réassembler un fichier GIF une fois celui-ci créé ne devrait en aucun cas affecter la qualité. L'étape de conversion de mp4 à gif déterminera la qualité.

3
Maadinsh

après avoir préparé votre gif normal en utilisant une méthode/un outil, utilisez ceci:

http://www.imagemagick.org/Usage/anim_mods/#patrol

convert YourGifFile.gif -coalesce -duplicate 1,-2-1 -quiet \
-layers OptimizePlus -loop 0 OutputPatrolCycleFile.gif

PS: J'ai répondu à la question de savoir comment résoudre le problème de fond uniquement.

0
Aquarius Power

Pour créer un GIF "vers l'avant + vers l'arrière", sous Ubuntu/Linux, utilisons le logiciel merveilleux appelé gifsicle.
La commande est simple:

gifsicle --unoptimize original.gif original.gif "#-1-0" > reversed.gif

Il concatène simplement le même gif deux fois, un en avant, un en arrière. (notez que l'unoptimize est utile lorsque les gifs sont optimisés et peut entraîner des problèmes lors de la lecture en arrière)

0
Tweepy