Logiciel de screencast (capture de bureau)
Byzanz est un enregistreur de bureau et un outil en ligne de commande
permettant d'enregistrer le bureau actuel ou une partie de celui-ci pour en
faire un GIF animé ou une vidéo Ogg Theora, Flash ou WebM. Cela est
particulièrement pratique pour publier sur le web.
.
Byzanz permet également la capture audio, si le format de sortie le prend en
charge.
Byzanz possède 2 parties byzanz-record et byzanz-playback
apt update && apt upgrade
apt install byzanz
syntaxe :
byzanz-record [OPTION…] fichier de sortie
c'est l'extension du fichier qui déterminera le format
les extensions possible sont: .gif .ogg .ogv .webm .flv et enfin .byzanz qui permet d’être manipulé via Byzanz-playback
Options de l'application : -d, --duration=SECS Durée de l'animation (par défaut : 10 secondes) -e, --exec=COMMAND Command to execute and time --delay=SECS Délai avant le démarrage (par défaut : 1 seconde) -c, --cursor Enregistrer le curseur de la souris -a, --audio Enregistrer le son -x, --x=PIXEL Coordonnée X du rectangle à enregistrer -y, --y=PIXEL Coordonnée Y du rectangle à enregistrer -w, --width=PIXEL Largeur du rectangle à enregistrer -h, --height=PIXEL Hauteur du rectangle à enregistrer -v, --verbose Mode verbeux --display=AFFICHAGE Affichage X à utiliser
Première chose nécessaire pour une bonne capture connaître la résolution actuel de son écran.
Déterminer la zone à capturer :
l'application prend le coin supérieur gauche de l'écran comme référence
Idem les coordonnées du rectangle à enregistrer auront comme de référence le coin supérieur gauche
.------ >Ceci est un écran< | (\_/) Point de référence | (O.o) | | (> <) | X v '---------> 0-------------------->.---------------------. | | | Y | hg | hd | | Quart haut gauche | Quart haut droit | | | | | | | | | | v | | .---------------------.---------------------. | | | | | | | bg | bd | | Quart bas gauche | quart bas droit | | | | | | | | | | '---------------------'---------------------'
Considérons un écran en résolution 1280×1024
Enregistrement du quart supérieur droite de l'écran avec pointeur de souris inclus pour une durée de 30 secondes
point de départ de la zone à capturer :
zone de capture:
byzanz-record -vc -d 30 -x 640 -y 0 -w 640 -h 512 ~/byzanz_hd.gif
Pour enregistrer l'écran en entier il suffit juste de …
byzanz-record -vc -d 30 ~/byzanz_hd.gif
Manipule les fichiers .byzanz
byzanz-playback source.byzanz fichier_destination
byzanz-playback byzanz_hd.byzanz byzanz_hd.ogg
Byzanz étant anciennement disponible comme applet pour Gnome il en reste encore les icônes disponible sous
/usr/share/icons/hicolor/22x22/apps/ /usr/share/icons/hicolor/scalable/apps/
J'ai fais quelque modification d'un script trouvé sur un article de blog
Il faudra peut être l'adapter :
J'ai utilisé un fichier son de Libreoffice pour la notification
chmod +x byzanz-gui
./byzanz-gui
Si tout fonctionne déplacé le
mv byzanz-gui /user/local/bin
byzanz-gui
Le répertoire d'enregistrement par défaut est ~/Vidéos
Il ne reste plus qu'a créer un lanceur avec un icône disponible
#!/bin/bash # AUTHOR: (c) Rob W 2012, modified by MHC (http://askubuntu.com/users/81372/mhc) # NAME: GIFRecord 0.1 # DESCRIPTION: A script to record GIF screencasts. # LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html) # DEPENDENCIES: byzanz,gdialog,notify-send (install via sudo add-apt-repository ppa:fossfreedom/byzanz; sudo apt-get update && sudo apt-get install byzanz gdialog notify-osd) #modification mineur Croutons ;-) # Time and date #TIME=$(date +"%Y-%m-%d_%H%M%S") TIME=$(date +"%d-%m-%Y_%H:%M:%S") # Delay before starting (delai avant enregistrement) DELAY=10 # Standard screencast folder (répertoire d'enregistrement par défaut) FOLDER="$HOME/Vidéos" # Default recording duration (durée d'enregistrement par défaut) DEFDUR=10 # Son notification à jouer en début et en fin d'enregistrement beep() { paplay /usr/lib/libreoffice/share/gallery/sounds/apert.wav & } # Custom recording duration as set by user notify-send -i dialog-warning -t 11000 "IMPORTANT" "Réduisez les fenêtres indésirables présentes dans la zone de capture." & USERDUR=$(gdialog --title "Durée?" --inputbox "Veuillez entrer la durée de la capture en secondes" 200 100 2>&1) # Duration and output file if [ -z $USERDUR ]; then #test si la variable est nul D=$DEFDUR else D=$USERDUR fi notify-send -t 9500 "GIFcapture" "Cliquez sur la fenêtre qui va servir de zone de capture" # Window geometry XWININFO=$(xwininfo) read X < <(awk -F: '/Absolute upper-left X/{print $2}' <<< "$XWININFO") read Y < <(awk -F: '/Absolute upper-left Y/{print $2}' <<< "$XWININFO") read W < <(awk -F: '/Width/{print $2}' <<< "$XWININFO") read H < <(awk -F: '/Height/{print $2}' <<< "$XWININFO") # Notify the user of recording time and delay notify-send -i /usr/share/icons/hicolor/scalable/apps/byzanz-record-window.svg -t 9500 "GIFcapture" "La durée d'enregistrement est de $D secondes. L'enregistrement débutera dans $DELAY secondes." #Actual recording sleep $DELAY beep byzanz-record -c --verbose --delay=0 --duration=$D --x=$X --y=$Y --width=$W --height=$H "$FOLDER/GIFcapture_$TIME.gif" beep # Notification de fin d'enregistrement. notify-send -t 17000 "GIFcapture" "Screencast sauvé sous $FOLDER/GIFcapture_$TIME.gif"
Sources base du script https://www.maketecheasier.com/record-screen-as-animated-gif-ubuntu/