J'ai vu des images GIF animées d'images animées (comme celle ci-dessous) promues plusieurs fois sur ce site comme moyen d'améliorer les réponses.
Quelle chaîne d'outils est utilisée pour les créer? Existe-t-il un programme qui effectue cela automatiquement, ou les gens prennent-ils des screencasts, les convertissant en une série de cadres statiques, puis créant les images GIF?
screencast
andrewsomething
la source
la source
Réponses:
Peek
Est une nouvelle application qui vous permet d’enregistrer facilement des GIF à partir de votre écran.
Quoi qu'il en soit, gardez à l'esprit que les couleurs GIF ont une palette de couleurs très limitée, ce n'est donc pas une très bonne idée de les utiliser.
Depuis Ubuntu 18.10, vous pouvez installer Peek directement.
Pour les anciennes versions d'Ubuntu, vous pouvez installer les dernières versions de Peek à partir de son PPA .
Trouvez plus d'informations dans le dépôt GitHub .
la source
Byzanz
Le meilleur logiciel que j'ai trouvé pour enregistrer des screencasts GIF est Byzanz.
Byzanz est formidable car il enregistre directement au format GIF, la qualité et le FPS sont impressionnants, tout en maintenant la taille des fichiers à un minimum.
Installation
Byzanz est maintenant disponible dans le référentiel de l'univers:
Usage
Une fois installé, vous pouvez l'exécuter dans un terminal.
C’est un petit exemple que je viens de faire avec
la source
xwininfo
pour obtenir les propriétés de la fenêtre.Installez d'abord ceci:
ce sont les éléments requis, ImageMagick, MPlayer et Desktop Recorder. Utilisez ensuite Desktop Recorder pour capturer une partie de l’écran / de l’application à utiliser comme screencast. Une fois que Desktop Recorder a sauvegardé l'enregistrement dans une vidéo OGV , MPlayer sera utilisé pour capturer des captures d'écran JPEG, en les enregistrant dans le répertoire "sortie".
Sur un terminal:
Utilisez ImageMagick pour convertir les captures d'écran en gifs animés.
vous pouvez optimiser les captures d'écran de cette façon:
la source
gifsicle -O in.gif -o out.gif
je viens d’essayer de réduire de 100 fois la taille du fichier.convert
étapes en une:convert output/* -layers Optimize output.gif
. Pour moi, cela a accéléré le temps de traitement et réduit la taille du fichier de sortie. Je ne vois aucune raison de faire ces étapes séparément. (Je n'ai pas essayé la-fuzz 10%
discussion.)convert
déclaration a été hideuse. Selon la documentation ( imagemagick.org/script/command-line-options.php#layers ), laoptimize
mise en œuvre peut changer avec le temps. Mais uneconvert
déclaration légèrement modifiée avec le-coalesce
drapeau a amélioré les choses, mais pas dans la mesure où elle était acceptable. J'ai fini par avoir à utiliser les-layers optimize-transparency
paramètres pour obtenir de meilleurs résultats:convert 'output/*.jpg' -coalesce -layers optimize-transparency optimised.gif
Vue d'ensemble
Cette réponse contient trois scripts shell:
byzanz-record-window
- Pour sélectionner une fenêtre pour l'enregistrement.byzanz-record-region
- Pour sélectionner une partie de l'écran pour l'enregistrement.introduction
Merci Bruno Pereira de m'avoir présenté à
byzanz
! C'est très utile pour créer des animations GIF. Les couleurs peuvent être éteintes dans certains cas, mais la taille du fichier le compense. Exemple: 40 secondes, 3.7MB .Usage
Enregistrez un ou tous les deux scripts suivants dans un dossier de votre
$PATH
. Voici un exemple d'utilisation du premier script pour créer une capture d'écran d'une fenêtre spécifique.byzanz-record-window 30 -c output.gif
$DELAY
) pendant lesquelles vous préparez l'enregistrement.beep
fonction),byzanz
va commencer.30
étape 1),byzanz
se termine. Un bip sera diffusé à nouveau.J'ai inclus le
-c
drapeau dansbyzanz-record-window
pour illustrer que tous les arguments de mon script shell sont ajoutés àbyzanz-record
lui-même. Le-c
drapeau indiquebyzanz
d'inclure également le curseur dans la capture d'écran.Voir
man byzanz-record
oubyzanz-record --help
pour plus de détails.byzanz-record-window
byzanz-record-region
Dépendances: à
xrectsel
partir de xrectsel . Clonez le référentiel et exécutez-lemake
pour obtenir le fichier exécutable. (Si elle proteste, il n'y a pas de makefile, lancez./bootstrap
et exécutez./configure
avant make `make).Version gui de
byzanz-record-window
(commentaire de MHC ): Je me suis permis de modifier le script avec un simple dialogue graphique
la source
notify-send
aussi au cas où mon son est désactivé.ffmpeg
L'un des meilleurs outils que j'utilise est
ffmpeg
. La plupart des vidéos peuvent être extraites d'un outil de capture d'écran, par exemple,kazam
et converties dans un autre format.Installez-le à partir du centre de logiciels - il est automatiquement installé si vous installez l'excellent
ubuntu-restricted-extras
paquet.Kazam peut sortir dans les formats vidéo
mp4
ouwebm
. Généralement, vous obtenez de meilleurs résultats enmp4
format de sortie .exemple de syntaxe de fabrication GIF
La syntaxe de base pour convertir une vidéo en gif est la suivante:
Les GIF convertis - en particulier ceux avec une résolution standard de 25/29 images par seconde peuvent être très grands. Par exemple, une vidéo de 800 Ko webm en 15 secondes à 25 ips peut générer une sortie de 435 Mo!
Vous pouvez réduire cela par un certain nombre de méthodes:
framerate
Utilisez l'option
-r [frame-per-second]
par exemple
ffmpeg -i Untitled_Screencast.webm -r 1 -pix_fmt rgb24 out.gif
Taille réduite de 435Mo à 19Mo
taille limite du fichier
Utilisez l'option
-fs [filesize]
par exemple
ffmpeg -i Untitled_Screencast.webm -fs 5000k -pix_fmt rgb24 out.gif
Remarque - Il s’agit d’une taille approximative du fichier de sortie, qui peut donc être légèrement supérieure à celle spécifiée.
taille de la sortie vidéo
Utilisez l'option
-s [widthxheight]
par exemple
ffmpeg -i Untitled_Screencast.webm -s 320x200 -pix_fmt rgb24 out.gif
Cela a réduit la taille de la vidéo par exemple 1366x768 à 26 Mo.
boucle pour toujours
Parfois, vous voudrez peut-être que le GIF soit bouclé pour toujours.
Utilisez l'option
-loop_output 0
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -pix_fmt rgb24 out.gif
optimiser davantage et réduire
si vous utilisez
imagemagick
convert
avec un facteur de fuzz compris entre 3% et 10%, vous pouvez réduire considérablement la taille de l'imageenfin
combinez certaines de ces options pour réduire à quelque chose de gérable pour Ask Ubuntu.
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -r 5 -s 320x200 -pix_fmt rgb24 out.gif
suivi par
la source
demo.mkv
vous pouvez exécuter cette commande:docker run --rm -v $(pwd):/tmp/video/ jrottenberg/ffmpeg -i /tmp/video/demo.mkv -framerate 1/2 -pix_fmt rgb24 -loop 0 /tmp/video/demo.gif
,sudo chown $USER:$USER demo.gif
-loop_output
...ubuntu-restricted-extras
est excellent?-loop
. Donc ce serait-loop 0
. Voici une commande de travail dans Ubuntu 16.04.01ffmpeg -f x11grab -r 25 -s 100x100 -i :0.0+500,500 -pix_fmt rgb24 -loop 0 out2.gif
.+500,500
est la position X, Y pour démarrer le rectangle 100x100.xgrab
prend l'écran comme entrée.Silentcast
Silentcast est un autre excellent outil graphique permettant de créer des images animées .gif. Ses caractéristiques comprennent:
4 modes d'enregistrement:
Écran entier
Fenêtre intérieure
Fenêtre avec décoration
Sélection personnalisée
3 formats de sortie:
.gif
.mp4
.webm
.png
(cadres).mkv
Aucune installation nécessaire (portable)
Répertoire de travail personnalisé
Fps personnalisés
Installation
Si vous souhaitez une installation régulière et exécutez une version prise en charge d'Ubuntu, vous pouvez installer Silentcast by PPA:
Si vous n'exécutez pas de version prise en charge d'Ubuntu (vous devez vraiment mettre à niveau!), Vous devrez télécharger la dernière version à partir de la page GitHub et satisfaire manuellement les dépendances (vous pouvez vous procurer yad et ffmpeg respectivement ici et ici ) ou Si vous utilisez une version légèrement plus récente telle que 13.10, vous pouvez essayer de télécharger directement le fichier .deb .
Si vous utilisez Gnome, vous voudrez peut-être installer l’ extension Topicons pour faciliter l’arrêt de Silentcast.
Usage
Démarrez Silentcast à partir de l'interface graphique de votre environnement de bureau ou exécutez la
silentcast
commande dans un terminal. Choisissez vos paramètres et suivez les instructions à l'écran. Une fois l’enregistrement terminé, une boîte de dialogue vous permettant d’optimiser la sortie finale en supprimant un certain nombre d’images vous sera présentée.Pour des instructions d'utilisation plus détaillées, consultez le fichier README, soit la version en ligne de GitHub , soit la version locale stockée dans
/usr/share/doc/silentcast
zless ou votre éditeur favori.Remarques:
Silentcast est encore en phase de développement et bien que très stable, vous pourriez rencontrer des bugs. Si vous le faites, signalez-les sur le suivi des problèmes GitHub du projet . Si vous rencontrez des problèmes pour installer à partir du PPA et que vous utilisez une version d’Ubuntu prise en charge, laissez un commentaire ci-dessous ou contactez le responsable (moi) sur Launchpad.
la source
Il y a toutes sortes de façons compliquées et efficaces (probablement) de faire cela énumérées ici. Cependant, je n'ai jamais voulu suivre ce processus avant ni depuis. Donc, j'utilise simplement un convertisseur en ligne qui convient à mes besoins les quelques fois où je dois le faire. J'ai utilisé ce site:
http://ezgif.com/video-to-gif
Ce n'est pas mon site et je ne suis en aucun cas affilié à eux. Ils ne sont que ceux de mes favoris et il y en a beaucoup plus.
la source
J'ai créé
record-gif.sh
une version améliorée de Rob Wbyzanz-record-region
:duration
;save_as
destination;$HOME/record.again
).Installer
J'ai aussi créé un script d'installation
la source
sudo apt install autoconf byzanz
avant d'exécuter ce script. il n'est pas installé par défaut dans ubuntuautoconf
etbyzanz
. Pourriez-vous l'essayer?imagemagick
mplayer
gtk-recordmydesktop
ogv2gif.sh
partir de https://github.com/nicolas-raoul/ogv2gif./ogv2gif.sh yourscreencast.ogv
100% inspiré de la réponse de maniat1k .
la source
Si vous voulez devenir encore plus sophistiqué, vous pouvez utiliser une méthode plus sophistiquée que les gifs animés en utilisant la capture d’écran sur toile HTMl5. Le projet x11-canvas-screencast créera une capture d’écran animée sur une toile html5.
Vous avez peut-être vu des exemples célèbres de cette technologie sur le site Web de Sublime Text.
x11-canvas-screencast
Cette méthode va encore plus loin en intégrant le suivi du curseur de la souris. Voici une démonstration de ce que x11-canvas-screencast produitLe résultat est meilleur qu'un gif animé car il ne se limite pas au nombre de couleurs dont il dispose et nécessite moins de bande passante.
la source
Ok, donc pour capturer aussi les clics de souris, la seule chose que j'ai trouvée était
key-mon
(via le fichier README descreenkey
):https://code.google.com/archive/p/key-monhttps://github.com/critiqjo/key-monsudo apt-get install key-mon
Alors je:
key-mon
xrectsel
pour obtenir les coordonnées de l'écran mises dans unebyzanz
commandebyzanz
commande... et ça ressemble un peu à ça:
Notez que
key-mon --visible_click
si vous cliquez sur un cercle, entourez le pointeur de la souris - ce que je préférerais, mais dans Ubuntu 14.04.5 LTS, il est quelque peu cassé, car ce cercle n’apparaît pas et ne disparaît pas assez vite pour illustrer correctement les clics (c.-à-d. souris appuie et libère).la source
J'ai récemment créé une version combinée de scripts déjà publiée ici.
En gros, cela vous permet d’enregistrer une région d’écran, mais avec une interface graphique simple.
Merci à Rob W pour ces scripts sympas
Voici le code (ou l' essentiel si vous aimez):
la source
Si vous souhaitez également des enregistrements visibles de clics de souris ou de touches, l'écran screenkey est votre meilleur choix: https://github.com/wavexx/screenkey.
la source
screenkey
gérerait les clics de souris (il semble que ce ne soit que pour les indications du clavier), cependant, son fichier README fait référence àkey-mon
ce qui peut le faire, voir ma réponse ci-dessous.Utiliser
gtk-recordmydesktop
etffmpeg
:apt-get install gtk-recordmydesktop ffmpeg
Exécutez RecordMyDesktop pour capturer une partie de l’écran / de l’application à utiliser comme screencast:
Créer
ogv2gif.sh
avec le contenu suivant:Utilise le :
Références :
la source
Je teste toutes les méthodes ci-dessus, la plus simple étant:
le fps est original et la taille gif est inférieure au fichier ogv.
la source