Tips en Trucs 2024

Schermopnames in GIF of MP4 en schermafdruk met aantekeningen met PyPeek

Peek, of pypeek, gebruik je om het scherm of een deel van het scherm op te nemen als een geanimeerde GIF of MP4, schermafbeeldingen te maken en de GIF / MP4 / schermafbeelding te annoteren door pijlen, vormen, lijnen of tekst te tekenen en toe te voegen. Het is beschikbaar voor Linux, Windows en macOS.
PyPeek

Dit is een fork (afsplitsing, doorontwikkeling) van Peek, een eenvoudige geanimeerde GIF (kan ook video opnemen, maar is geoptimaliseerd voor GIFs) schermrecorder, die nog steeds werkt, maar door de ontwikkelaar deprecated (afgeschreven) is verklaard. Peek the fork, of pypeek, is een cross-platform versie van Peek geschreven in Python en Qt met extra mogelijkheden.

De originele Peek maakt het mogelijk om een deel van het scherm op te nemen als een geanimeerde GIF of video (MP4 / WebM) met behulp van een eenvoudige gebruikersinterface, met functies zoals de mogelijkheid om de framerate in te stellen, de opname met een vertraging te starten, de muiscursor wel of niet op te nemen en nog veel meer.

Vergeleken met de originele Peek draait de Qt fork niet alleen op Linux, maar ook op Microsoft Windows en macOS, en het bevat extra functies zoals:

De applicatie mist echter ook een aantal functies van de originele Peek, waaronder een sneltoets om de opname te starten/stoppen, ondersteuning voor gifsky voor GIF's van hoge kwaliteit en resolutie downsampling.

De ontwikkelaar van PyPeek zegt dat deze toepassing speciaal is gemaakt voor ontwikkelaars, ontwerpers en studenten die tutorials moeten maken, technische ondersteuning moeten bieden, screenshots en video's met aantekeningen moeten toevoegen aan presentaties, enzovoort. En dit met dezelfde tool, zelfs als je machines met verschillende besturingssystemen hebt.

Het is ook vermeldenswaard dat beide Peeks ondersteuning voor Wayland missen. De ontwikkelaar van de fork vraagt om hulp, dus als je geïnteresseerd bent om te helpen, maak dan een pull request aan of open een issue.

PyPeek installeren

PyPeek (de Peek fork) kan worden geïnstalleerd op Microsoft Windows vanuit de Microsoft Store en op macOS vanuit de Mac App Store.

Op Linux kun je het installeren vanuit PyPi. Maar ook met pipx, zoals we hier tonen in Debian 12 Bookworm. We installeren dus eerst pipx met de volgende opdracht:

dany@pindabook:~$ sudo apt install pipx
[sudo] wachtwoord voor root: 
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar 
De volgende extra pakketten zullen geïnstalleerd worden:
  blt fonts-font-awesome fonts-lato ghp-import libjs-bootstrap4 libjs-highlight.js libjs-lunr libjs-modernizr
  libjs-popper.js libjs-sizzle libjs-sphinxdoc libtk8.6 mkdocs node-jquery python-babel-localedata
  python3-argcomplete python3-attr python3-babel python3-click python3-colorama python3-dateutil python3-distutils
  python3-iniconfig python3-jinja2 python3-joblib python3-lib2to3 python3-livereload python3-lunr python3-markdown
  python3-markupsafe python3-mergedeep python3-more-itertools python3-nltk python3-numpy python3-packaging
  python3-pip-whl python3-pluggy python3-psutil python3-py python3-pygments python3-pyinotify python3-pytest
  python3-pyyaml-env-tag python3-regex python3-setuptools-whl python3-simplejson python3-tk python3-tqdm
  python3-tz python3-userpath python3-venv python3-watchdog python3-yaml python3.11-venv sphinx-rtd-theme-common
  tk8.6-blt2.5
Voorgestelde pakketten:
  blt-demo libjs-es5-shim tk8.6 mkdocs-doc nodejs python-attr-doc python-jinja2-doc coffeescript node-less
  node-uglify python-livereload-doc python3-django python3-flask python3-slimmer python-lunr-doc
  python-markdown-doc gcc gfortran python3-dev python-psutil-doc subversion python-pygments-doc ttf-bitstream-vera
  python-pyinotify-doc tix python3-tk-dbg
Aanbevolen pakketten:
  prover9
De volgende NIEUWE pakketten zullen geïnstalleerd worden:
  blt fonts-font-awesome fonts-lato ghp-import libjs-bootstrap4 libjs-highlight.js libjs-lunr libjs-modernizr
  libjs-popper.js libjs-sizzle libjs-sphinxdoc libtk8.6 mkdocs node-jquery pipx python-babel-localedata
  python3-argcomplete python3-attr python3-babel python3-click python3-colorama python3-dateutil python3-distutils
  python3-iniconfig python3-jinja2 python3-joblib python3-lib2to3 python3-livereload python3-lunr python3-markdown
  python3-markupsafe python3-mergedeep python3-more-itertools python3-nltk python3-numpy python3-packaging
  python3-pip-whl python3-pluggy python3-psutil python3-py python3-pygments python3-pyinotify python3-pytest
  python3-pyyaml-env-tag python3-regex python3-setuptools-whl python3-simplejson python3-tk python3-tqdm
  python3-tz python3-userpath python3-venv python3-watchdog python3-yaml python3.11-venv sphinx-rtd-theme-common
  tk8.6-blt2.5
0 opgewaardeerd, 57 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.
Er moeten 27,7 MB aan archieven opgehaald worden.
Na deze bewerking zal er 116 MB extra schijfruimte gebruikt worden.
Wilt u doorgaan? [J/n] 
Ophalen:1 http://deb.debian.org/debian bookworm/main amd64 fonts-lato all 2.0-2.1 [2.696 kB]
Ophalen:2 http://deb.debian.org/debian bookworm/main amd64 libtk8.6 amd64 8.6.13-2 [781 kB]
Ophalen:3 http://deb.debian.org/debian bookworm/main amd64 tk8.6-blt2.5 amd64 2.5.3+dfsg-4.1 [593 kB]
...
Ophalen:55 http://deb.debian.org/debian bookworm/main amd64 python3-pytest all 7.2.1-2 [236 kB]
Ophalen:56 http://deb.debian.org/debian bookworm/main amd64 python3-simplejson amd64 3.18.3-1 [59,8 kB]
Ophalen:57 http://deb.debian.org/debian bookworm/main amd64 python3-tk amd64 3.11.2-3 [98,3 kB]
27,7 MB opgehaald in 3s (8.642 kB/s)   
Extraheren van sjablonen uit pakketten: 100%
Voorheen niet geselecteerd pakket fonts-lato wordt geselecteerd.
(Database wordt ingelezen ... 182642 bestanden en mappen momenteel geïnstalleerd.)
Uitpakken van .../00-fonts-lato_2.0-2.1_all.deb wordt voorbereid...
...
Voorheen niet geselecteerd pakket python3-tk:amd64 wordt geselecteerd.
Uitpakken van .../56-python3-tk_3.11.2-3_amd64.deb wordt voorbereid...
Bezig met uitpakken van python3-tk:amd64 (3.11.2-3) ...
Instellen van python3-more-itertools (8.10.0-2) ...
Instellen van python3-iniconfig (1.1.1-2) ...
Instellen van python3-attr (22.2.0-1) ...
...
Instellen van mkdocs (1.4.2+dfsg-2) ...
Instellen van python3-venv (3.11.2-1+b1) ...
Instellen van pipx (1.1.0-1) ...
Bezig met afhandelen van triggers voor fontconfig (2.14.1-4) ...
Bezig met afhandelen van triggers voor libc-bin (2.36-9+deb12u4) ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...

Als pipx geïnstalleerd is, voer dan de volgende opdracht uit om ervoor te zorgen dat de mappen die nodig zijn voor pipx in je PATH staan (van mappen die in PATH zijn opgenomen zijn, is de inhoud eenvoudiger toegankelijk):

dany@pindabook:~$ pipx ensurepath
Success! Added /home/dany/.local/bin to the PATH environment variable.

Consider adding shell completions for pipx. Run 'pipx completions' for instructions.

You will need to open a new terminal or re-login for the PATH changes to take effect.

Otherwise pipx is ready to go! ✨ 🌟 ✨

Nu kun je pypeek installeren met de volgende opdracht:

dany@pindabook:~$ pipx install pypeek
  installed package pypeek 2.10.11, installed using Python 3.11.2
  These apps are now globally available
    - pypeek
    - pypeek-gui
⚠  Note: '/home/dany/.local/bin' is not on your PATH environment variable. These apps will not be globally
    accessible until your PATH is updated. Run `pipx ensurepath` to automatically add it, or manually modify your
    PATH in your shell's config file (i.e. ~/.bashrc).
done! ✨ 🌟 ✨

Zoals je merkt blijkt de map '/home/dany/.local/bin' toch niet in PATH te zijn opgenomen. Maar schijn bedriegt, de huidige terminalsessie is gewoon nog niet op de hoogte van de aanpassing. Dit kan je oplossen door de terminal te sluiten en opnieuw op te starten of door de volgende opdracht uit te voeren:

dany@pindabook:~$ source ~/.bashrc

Als je het later wilt upgraden, kun je dat doen met:

dany@pindabook:~$ pipx upgrade pypeek
pypeek is already at latest version 2.10.11 (location: /home/dany/.local/pipx/venvs/pypeek)

De applicatie verschijnt niet in de Programmastarten in Linux. Bij installatie vanuit PyPi op Windows of macOS is er een optie om een snelkoppeling te maken (pypeek --shortcut).

Om het op Linux uit te voeren, druk je op ALT+F2 (of open je een terminal) en typ je pypeek. Je kunt er een menu-item voor maken met het snelmenu van de Programmastarter en de opdracht Toepassingen bewerken...

Starten we PyPeek vanuit een terminal, dan constateren we dat PyPeek gebruik maakt van FFmpeg om de video's aan te maken. We antwoorden dan ook y om FFmpeg te downloaden en te installeren.

dany@pindabook:~$ pypeek
Ffmpeg not found, download? (y/n): y
Installing ffmpeg to /home/dany/.local/pipx/venvs/pypeek/lib/python3.11/site-packages/pypeek/bin
Downloading https://raw.githubusercontent.com/firatkiral/pypeek/main/data/ffmpeg/linux.zip -> /home/dany/.local/pipx/venvs/pypeek/lib/python3.11/site-packages/pypeek/bin.zip
........................................................................................................................................................................................................................................................................................................................................................................................................................................................
Download of https://raw.githubusercontent.com/firatkiral/pypeek/main/data/ffmpeg/linux.zip -> /home/dany/.local/pipx/venvs/pypeek/lib/python3.11/site-packages/pypeek/bin.zip completed.

Extracting /home/dany/.local/pipx/venvs/pypeek/lib/python3.11/site-packages/pypeek/bin.zip -> /home/dany/.local/pipx/venvs/pypeek/lib/python3.11/site-packages/pypeek/bin

PyPeek gebruiken

Na het starten van PyPeek verschijnt een doorzichtig venster met een werkbalk. Het doorzichtige venster bakent het op te nemen gebied af. Door het formaat van het venster aan te passen, kan je zelf het op te nemen gebied bepalen. Let wel, je kunt op deze manier niet een gebied opnemen die helemaal bovenaan het scherm begint, want daar staat de werkbalk van PyPeek. Om bijvoorbeeld de inhoud van een venster op te nemen, zorg je dat het op te nemen venster in het doorzichtige venster van PyPeek past.

Met de eerste werkbalkknop kan je een schermopname starten en het videoformaat instellen. Voor alle duidelijkheid, stel eerst het videoformaat in.

PyPeek videoformaat

Bij het starten van een schermopname verschijnt een aftelklok waarna de opname begint. Stop de opname door nogmaals op stopknop in de werkbalk te klikken.

Nu verschijnt het Edit venster waarmee je aantekeningen kunt toevoegen. Bij video schermopnames worden de aantekeningen zichtbaar in de volledige video. Weerom wordt gewerkt met een werkbalk waarin je alle instrumenten aantreft om aantekeningen te maken.

PyPeek Edit

Klik op de knop om de schermopname op te slaan. Dit kan wat tijd in beslag nemen, want pas bij het opslaan wordt de video aangemaakt (gecodeerd).

De tweede werkbalkknop in PyPeek gebruik je om een schermafbeelding (screenshot) te maken en werkt op dezelfde manier als de schermopnameknop.

De derde laatste knop (Recording window/Recording fullscreen) schakelt tussen het opnemen van het gebied ingesloten door het PyPeek venster of het volledige scherm.

Met het tandwiel knopje kan je PyPeek instellingen aanpassen.

PyPeek Settings

Dit was het. M.a.w. een eenvoudig programma dat doet wat het moet doen.

PyPeek verwijderen

Zorg dat PyPeek is afgesloten en voer de vorgende opdracht uit om PyPeek te verwijderen.

dany@pindabook:~$ pipx uninstall pypeek
uninstalled pypeek! ✨ 🌟 ✨

De werkmap van PyPeek verwijderen je met:

dany@pindabook:~$ rm -r .peek

Indien je ook pipx niet langer gebruikt, wat je kunt controleren met:

dany@pindabook:~$ pipx list
nothing has been installed with pipx 😴

Kan je ook Pipx verwijderen met de opdracht:

dany@pindabook:~$ sudo apt purge pipx [sudo] wachtwoord voor root: Pakketlijsten worden ingelezen... Klaar Boom van vereisten wordt opgebouwd... Klaar De statusinformatie wordt gelezen... Klaar De volgende pakketten zijn automatisch geïnstalleerd en zijn niet langer nodig: fonts-font-awesome fonts-lato ghp-import libjs-bootstrap4 libjs-highlight.js libjs-lunr libjs-modernizr libjs-popper.js libjs-sizzle libjs-sphinxdoc mkdocs node-jquery python-babel-localedata python3-attr python3-babel python3-click python3-colorama python3-dateutil python3-iniconfig python3-jinja2 python3-joblib python3-livereload python3-lunr python3-markupsafe python3-mergedeep python3-more-itertools python3-nltk python3-numpy python3-packaging python3-pluggy python3-psutil python3-py python3-pyinotify python3-pytest python3-pyyaml-env-tag python3-regex python3-simplejson python3-tqdm python3-tz python3-userpath python3-watchdog sphinx-rtd-theme-common Gebruik 'sudo apt autoremove' om ze te verwijderen. De volgende pakketten zullen VERWIJDERD worden: pipx* 0 opgewaardeerd, 0 nieuw geïnstalleerd, 1 te verwijderen en 0 niet opgewaardeerd. Na deze bewerking zal er 935 kB schijfruimte vrijkomen. Wilt u doorgaan? [J/n] (Database wordt ingelezen ... 198999 bestanden en mappen momenteel geïnstalleerd.) pipx (1.1.0-1) wordt verwijderd ... Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...

Om ook de niet meer gebruikte afhankelijke pakketten te verwijderen, voer je de volgende opdracht uit:

dany@pindabook:~$ sudo apt autoremove
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd... Klaar
De statusinformatie wordt gelezen... Klaar 
De volgende pakketten zullen VERWIJDERD worden:
  fonts-font-awesome fonts-lato ghp-import libjs-bootstrap4 libjs-highlight.js libjs-lunr libjs-modernizr
  libjs-popper.js libjs-sizzle libjs-sphinxdoc mkdocs node-jquery python-babel-localedata python3-attr
  python3-babel python3-click python3-colorama python3-dateutil python3-iniconfig python3-jinja2 python3-joblib
  python3-livereload python3-lunr python3-markupsafe python3-mergedeep python3-more-itertools python3-nltk
  python3-numpy python3-packaging python3-pluggy python3-psutil python3-py python3-pyinotify python3-pytest
  python3-pyyaml-env-tag python3-regex python3-simplejson python3-tqdm python3-tz python3-userpath
  python3-watchdog sphinx-rtd-theme-common
0 opgewaardeerd, 0 nieuw geïnstalleerd, 42 te verwijderen en 0 niet opgewaardeerd.
Na deze bewerking zal er 101 MB schijfruimte vrijkomen.
Wilt u doorgaan? [J/n] 
(Database wordt ingelezen ... 198902 bestanden en mappen momenteel geïnstalleerd.)
mkdocs (1.4.2+dfsg-2) wordt verwijderd ...
sphinx-rtd-theme-common (1.2.0+dfsg-1) wordt verwijderd ...
fonts-font-awesome (5.0.10+really4.7.0~dfsg-4.1) wordt verwijderd ...
...
python3-simplejson (3.18.3-1) wordt verwijderd ...
python3-tqdm (4.64.1-1) wordt verwijderd ...
python3-tz (2022.7.1-4) wordt verwijderd ...
Bezig met afhandelen van triggers voor man-db (2.11.2-2) ...
Bezig met afhandelen van triggers voor fontconfig (2.14.1-4) ...

De werkmap van pipx verwijder je met:

dany@pindabook:~$ rm -r .local/pipx