Combiner 2 icônes GIF animées

bonjour ,

En utilisant libreoffice 7.0 j’ai combiné 2 icônes GIF de 2 manières différentes mais avec le même résultat : l’icône résultante est statique ( fréquence de trame = 1 ) .

  1. mode opératoire pris sur l’aide de libreoffice :

    • dans un fichier dessin je place côte à côte 2 icônes ( tailles 75 x 57 et 41 x 50 en px ) ,
    • je sélectionne l’ensemble
    • j’exporte la sélection au format GIF
  2. variante = au lieu d’une sélection je réalise un groupement

Ces 2 animations ont des fréquences de trame ( frame rate ) de 14 et 17 ( unité = trame/s? ) serait-ce une raison d’incompatibilité ? J’ai essayé d’enlever le mode " entrelacé " lors de l’exportation , toujours pas d’animation .

Une piste peut-être ?

ps : afin de savoir dans quelle direction chercher la raison pour laquelle je n’arrive pas à obtenir un groupement ( GIF1 + GIF2 ) animé alors que séparémment chaque icône est animée , j’ai essayé de trouver les caractéristiques techniques de ces icônes : cette histoire de trame m’était apparue comme un coupable possible , mais je suis en terrain inconnu .

Et avec Gimp ?

1 J'aime

je ne l’ai encore jamais utilisé , mais je m’y attelle de suite .

C’est pas récent mais la méthode est d’actualité :

https://wubijacq.com/creerungifanime/gifanimgimp.html

1 J'aime

je crois que j’ai fair une erreur avec libreoffice : c’est « impress » que j’aurais dû utiliser même si « dessin » affiche les animations , même regroupées , mais l’aide utilisée pour exporter ces animations fait partie de « impress » ( que je ne connaissais d’ailleurs pas ). Je viens d’essayer et le résultat est le même : export statique .

ps : malheureusement Gimp n’est pas du tout mon ami . Pire que VIM .

Ou alors imagemagick, puisque tu parles de vim. :grin:

Plus compliqué que je croyais avec gimp.
Solution qui marche :
Transformer les gifs en images jpg puis regrouper les gif

- ffmpeg -i a.gif -f image2 a_%06d.jpg
- ffmpeg -i b.gif -f image2 b_%06d.jpg
- mplayer "mf://*.jpg" -vo gif89a:fps=15:output=test.gif

le problème que j’ai avec Gimp est qu’une fois une image entrée elle se place au milieu d’un calque et elle n’en bouge pas : on dirait qu’elle est verrouillée . Il y a bien un verrouillage mais il ne devrait pas être actif . La seule chose qui bouge est le cadre de sélection en pointillé . Donc mettre côte à côte 2 images de manière à les assembler en objet unique m’est impossible . Je vais bien tenter en transformant .gif en .jpg mais si je ne peux rien déplacer je me trouverai devant le même problème .

Avec des calques qui restent empilés verticalement le seul moyen que je vois pour juxtaposer 2 images est de les mettre dans 2 calques , de les décaler selon un même axe horizontal puis de superposer ces calques . Problème : mes images sont fixes à l’intérieur d’un calque , elles restent centrées .

Edit 1 : le seul moyen que j’ai trouvé est le copier/coller de l’image . Comme le cadre de sélection peut être déplacé je peux déplacer l’image en la collant dans ce cadre . C’est une curieuse méthode je trouve .

Il faudrait que tu précises comment tu fais exactement

TU veux dire que tu importes comme calque un gif et qu’il reste bloqué au milieu?

  • Suite à ta remarque j’ai transformé mes 2 images à l’aide de Gimp : .gif —> .xcf soit le format naturel de Gimp

  • je suis le tuto gimp de manière à voir ce qu’il se passe .

    1. après avoir déposée une image provenant de mon répertoire Images elle se retrouve au milieu de la fenêtre créée lors de l’ouverture de Gimp et aussi dans la colonne « calques » ( à droite ) en 14 exemplaires . Elle apparaît aussi dans une colonne à gauche

    2. je fais comme le commentateur qui déplace sans problème l’image et la place où il veut . Il n’a pas besoin de sélectionner l’image , moi par contre je dois le faire ( R du clavier ) en dessinant un rectangle autour de l’image . Ce rectangle prend alors la forme d’un croisement type 4 routes avec de petits rectangles aux 4 coins , alors seulement j’ai accès à l’outil de déplacement ( M du clavier ) . À ce moment je peux déplacer le cadre en pointillé qui entoure l’image et qui s’est animé mais pas l’image qui reste sur place et ne suit pas ce cadre en pointillé . Voilà le problème .

salut
tu peux aussi importer l’image dans gimp sans créer avant une image, ainsi ton image dans gimp aura la taille exacte de ton image importée
technique:

  • menu fichier/ouvrir
  • glisser/déposé dans gimp vide

ce problème bloque tout car si je veux faire apparaître un nouveau calque et y placer la 2ème image , celle-ci se place au milieu de ce calque et se superpose à la 1ère image . Le fait de ne pas pouvoir déplacer ce 2ème calque m’empêche donc de décaler l’image 2 puis de fusionner les 2 calques ( je suppose que c’est l’étape suivante ) pour créer GIF1 + GIF2 et enregistrer le tout sous un seul nom de fichier . Ce qui est le but de la manip , à condition que le résultat soit bien 2 icônes liées et animées .

j’ai peut-être compris le problème pour le déplacement du calque actif , pas pour celui de la sélection . Mon image étant animée comprend 17 trames et Gimp ouvre 17 calques lorsque je l’enregistre . Il est probable qu’il décompose l’image en séquences car de plus le déplacement calque par calque fonctionne , et fonctionnait , mais je ne comprenais pas que c’étaient des morceaux d’image qui se déplaçaient . Si je déplace les 17 calques 1 par 1 je reconstitue bien l’image entière ( enfin ça bave vue l’imprécision du procédé ) . Donc le problème revient à lier tous ces calques pour qu’ils se déplacent ensemble .

edit 1 : voilà qui est fait et l’image se déplace bien mais elle est invisible dans le nouvel emplacement . Si je la remets dans l’ancien emplacement elle réapparaît . Gimp est vraiment un truc à part .

edit 2 : avec un arrière-plan blanc plus de problème et j’ai bien 2 images GIF liées qui se déplacent ensemble . Reste l’exportation avec animation

edit 3 : animation hachée = GIF1 animée puis GIF2 animée puis etc … Fin ( provisoire ) de partie .

edit 4 : finalement internet m’a fourni un outil pour réaliser l’opération : le résultat final était à peu près équivalent à celui obtenu avec Gimp , un peu moins bon en fait , mais ce site propose des outils pour améliorer l’animation et par des essais successifs j’ai enfin obtenu un résultat satisfaisant pour l’œil , le léger bégaiement restant est même bénéfique car il attire le regard sur l’animation . Ces outils doivent certainement exister dans Gimp … mais pour les pro .

ps : je n’ai pas réussi à faire fonctionner les commandes proposées par @dindoun et comme je ne les comprends pas j’ai préféré passer par la toile .

ps : je n’ai pas réussi à faire fonctionner les commandes proposées par @dindoun et comme je ne les comprends pas j’ai préféré passer par la toile .

  1. créer des images a_000000.jpg a_000001.jpg a_000002.jpg … à partir de a.gif
    ffmpeg -i a.gif -f image2 a_%06d.jpg

  2. créer des images b_000000.jpg b_000001.jpg b_000002.jpg … à partir de b.gif
    ffmpeg -i b.gif -f image2 b_%06d.jpg

  3. réunir tous les jpg du dossier dans le fichier test.gif
    mplayer "mf://*.jpg" -vo gif89a:fps=15:output=test.gif

Il faut mettre dans un dossier les deux gifs, remplacer a.gif et b.gif par le nom de tes fichiers gif, ouvrir un terminal dans ce même dossier et lancer les trois commandes

si je comprends bien :

  • on décompose GIF1 en 103 images ( original frame rate = 17 et 17 calques dans Gimp )
  • on décompose GIF2 en seulement 14 images ( original frame rate = 14 et 14 calques dans Gimp )
  • mplayer lit les images a et affiche le résultat sur un écran à l’intérieur du se superposant à celui du terminal
  • mplayer fait de même avec b d’où 2 animations successives

mais :

  • pas de fichier test.gif dans le répertoire où j’ai placé les originaux (ni même ailleurs )
  • erreurs signalées par le terminal ( file not found , failed to open )
~$ mplayer « mf://*.jpg » -vo gif89a:fps=15:output=test.gif
MPlayer 1.4 (Debian), built with gcc-10 (C) 2000-2019 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing «.
File not found: '«'
Failed to open «.


Playing mf://*.jpg.
MF file format detected.
[mf] search expr: *.jpg
[mf] number of files: 117 (936)
[demux_mf] file type was not set! trying 'type=jpg'...
VIDEO:  [IJPG]  0x0  24bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.91.100 (external)
Selected video codec: [ffmjpeg] vfm: ffmpeg (FFmpeg MJPEG)
==========================================================================
Audio: no sound
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0x7f69a9560000]bicubic scaler, from yuv444p to yuv420p using MMXEXT
VO: [vdpau] 76x58 => 76x58 Planar YV12 
Movie-Aspect is undefined - no prescaling applied.
VO: [vdpau] 76x58 => 76x58 Planar YV12 
V:   4.1 103/103  2% 10%  0.0% 0 0 
Movie-Aspect is undefined - no prescaling applied.
VO: [vdpau] 76x58 => 76x92 Planar YV12 
V:   4.6 117/117  2% 10%  0.0% 0 0 


Playing ».
File not found: '»'
Failed to open ».


Exiting... (End of file)

Bonjour @dindoun et @zao

Il y avait une petite erreur que j’ai corrigée dans le message de @dindoun :
les caractères double guillemets avaient été remplacés par des guillemets français,
ce qui fait que :
"mf://*.jpg"
a été automatiquement remplacé par :
« mf://*.jpg »

bonjour ,

effectivement maintenant j’ai bien ce fameux fichier qui lorsqu’on l’ouvre donne ce que j’avais obtenu , de haute lutte , avec Gimp : 2 GIF animés successifs qu’il faudrait probablement traiter avec les outils appropriés dans Gimp pour obtenir le résultat nettement plus fluide que j’ai pu avoir avec le site que j’ai utilisé = les 2 images apparaissent ensemble comme dans libreoffice , avec ( défaut que je n’ai pas pu/su corriger ) un petit temps d’arrêt dans le film entre 2 vues .

merci aux différents intervenant/e/s .

ps : c’est le choix de la langue par @dindoun qui est peut-être différent du mien qui introduit ce genre d’erreur ? Toujours bon à savoir que les guillemets peuvent être source de problèmes . Chez moi :

~$ locale
LANG=fr_FR.UTF-8
..............

mais mes guillemets sont anglais : "

non c’est le forum, j’ai du oublié de mettre les ` alors les guillemets " sont réinterprétées «  ». Erreur corrigée.

et avec le recul , c’est toujours plus facile « après », j’aurais dû savoir que des caractères français dans une commande qui n’utilise que l’anglais c’est louche . Je n’y ai même pas prêté attention : une prochaine fois .