Pour prendre une capture d' écran statique d'une partie de mon écran, j'utilise souvent scrot
avec -s shot.png
. C'est idéal pour ajouter des illustrations aux publications StackExchange. J'ai même trouvé ce script pour télécharger automatiquement une telle capture d'écran sur Imgur.com et mettre un lien dans mon presse-papiers X!
Passons à douze : comment puis-je créer de la même manière un screencast GIF?
Il existe des programmes comme recordmydesktop
, byzanz
et co comme discuté sur Ubuntu Ask qui visent à être « facile à utiliser », mais dans mon expérience sont bogués, inefficaces, la plupart du temps unscriptable et impropre à peu unique des choses comme ça.
Je veux juste sélectionner une zone et enregistrer un fichier GIF, avec une commande de console que je peux comprendre, et non une monstruosité mystérieuse et non graphique.
Comment puis-je faire ceci?
la source
Réponses:
alors ok
J'ai commencé
ffcast
, ai faitvim
, arrêtéffcast
, puisconvert
ed.avi
→.gif
.J'ai exécuté les commandes d'enregistrement dans un autre terminal. Script poli pour votre
$PATH
à la fin de cette réponse.Qu'est-il arrivé?
Capture
ffcast
est le produit glorieux d' un piratage effectué par la communauté Arch Linux (principalement lolilolicon ). Vous pouvez le trouver sur GitHub (ou dans le AUR pour Arche ers). Sa liste de dépendances est justebash
etffmpeg
, bien que vous souhaitiezxrectsel
( lien AUR ) pour la sélection interactive d'un rectangle.Vous pouvez également ajouter des
ffmpeg
indicateurs juste après la commande. J'ai réglé-r 15
pour capturer à 15 images par seconde et-codec:v huffyuv
pour l'enregistrement sans perte. (Jouez avec ceux-ci pour modifier le compromis taille / qualité.)GIFFing
ImageMagick peut lire des
.avi
vidéos et a quelques astuces d'optimisation de GIF qui réduisent considérablement la taille du fichier tout en préservant la qualité:-layers Optimize
àconvert
Invoque le Optimiseur usage général. Le manuel ImageMagick contient également une page sur les optimisations avancées .Script final
C'est ce que j'ai dans mes
$PATH
. Il enregistre dans un fichier temporaire avant la conversion.Merci au BenC pour son travail de détective dans la détermination des drapeaux corrects après la récente
ffcast
mise à jour.Si vous souhaitez installer les dépendances sur une distribution basée sur Debian, Louis a rédigé des notes d’installation utiles .
la source
ffcast
a changé: github.com/lolilolicon/FFcast/issues/8ffcast -s rec [filename]
, bien que cela ne donne pas les paramètres exacts que vous utilisez dans votre exemple. Malheureusement, pour donner les paramètres exacts, vous devez maintenant donner laffmpeg
commande complète . Votre appel sur la meilleure façon de mettre à jour cette réponse :)ffcast -s % ffmpeg -f x11grab -show_region 1 -framerate 20 -video_size %s -i %D+%c -codec:v huffyuv -vf crop="iw-mod(iw\\,2):ih-mod(ih\\,2)" $TMP_AVI
semble faire l'affaire.Pour moi, la réponse était d'utiliser
ffcast
avecffmpeg
comme suit:J'avais ensuite l'habitude
ffmpeg
de faire la conversion d'avi en gif - c'est très rapide et ça garde le framerate:Enfin, j’ai utilisé convert de la même manière que la réponse de @anko pour optimiser le gif, mais j’ai limité l’utilisation des ressources pour arrêter de quitter avec un message, et j’ai supprimé le délai, comme cela a déjà été fait:
convert
killed
ffmpeg
la source
Ce référentiel vous aide à créer votre gif à partir de la région de sélection et à l’optimiser pour vous.
https://github.com/devlifeX/record-screen-gif
la source
pour ma configuration (Ubuntu 16.04), ffcast ne fonctionne pas bien car il n’est pas mis à jour sur github depuis un bon moment.
donc j'ai mis en place un script en utilisant slop ( https://github.com/naelstrof/slop ) et ffmpeg.
un exemple:
la source
C'est pour cette raison que j'avais écrit un script de wrapper interactif pour les ordinateurs de bureau Unix. Après un an d'utilisation, je suis ravi de le partager ici!
Fait avec
byzanz
,gifsicle
,xdotool
et le script est écrit dansphp
.Exemple de sortie:
[1020px, largeur gif non redimensionnée 1020px, 70 secondes, 50 couleurs, 65Ko ]
Il fournit de bons gifs compressés et constitue une bonne vitrine pour cette question.
Ceci est une base assez simple, prête à être piratée par vous.
Fonctionnalités : Enregistrement GIF aux positions de la souris ou en plein écran, redimensionnement, compression, compression des couleurs, inversion / fusion, téléchargement giphy.com.
Pour commencer un enregistrement gif de 10 secondes:
gif 10
Pour enregistrer plusieurs fois avec les mêmes paramètres:
gif !
Pour démarrer un enregistrement gif plein écran de 5 secondes:
gif 5 --fullscreen
Le script court, s'enregistre agréablement:
[ 45 secondes, largeur 645 pixels, couleurs pleines, 976 Ko ]
Script complet de 5 Ko:
Possibilité d'inverser / fusionner pour créer des contenus artistiques.
Original (435kb)
Renversé, fusionné: (826kb)
Pour installer, en utilisant phi :
Plein écran:
[1920 * 1080px, gif 400px, 50 secondes , 100 couleurs, 2Mo ]
Source, avec quelques explications supplémentaires et des mises à jour potentielles: https://github.com/webdev23/gif
la source