Anstelle längerer Screencasts genügen häufig kurze Schnipsel als animiertes GIF. Menyoki erstellt sie.
Ein Video sagt mehr als tausend Worte. Das gilt erst recht für komplexe Abläufe auf dem Desktop, die man anderen Personen erklären oder vorführen möchte. Praktischerweise gibt es mittlerweile zahlreiche Screencast-Tools, die das Geschehen auf dem Bildschirm aufzeichnen und daraus einen Film im MP4-Format generieren. Vor allem bei kurzen Vorgängen eignen sich jedoch GIF-Animationen deutlich besser. Sie zeigen keine lästigen Blockartefakte, lassen sich unproblematisch über Messenger verschicken und schneller in Webseiten integrieren.
Solche Animationen erzeugt das Screencast-Tool Menyoki [1]. Die gefilmten Vorgänge speichert es wahlweise als GIF- oder APNG-Animation. Auf Wunsch zerlegt es zudem Videos in ihre Einzelbilder. Das erweist sich als nützlich, wenn es darum geht, einen Screenshot aus einem sehr schnell ablaufenden Vorgang zu fischen oder einen solchen nachträglich in Ruhe zu beobachten. Umgekehrt erstellt Menyoki aus Einzelbildern auch wieder eine Animation. Damit lassen sich beispielsweise die Fotos aus einer Wildtierkamera zu einem kurzen Film zusammensetzen. Darüber hinaus erstellt die Software bei Bedarf Screenshots und erlaubt – in engen Grenzen – das Bearbeiten von Einzelbildern. Menyoki funktioniert derzeit allerdings nur in einer X11-Sitzung, Aufzeichnungen unter Wayland klappen noch nicht.
Installation
Um Menyoki in Betrieb zu nehmen, holen es Nutzer von Arch Linux via pacman -S menyoki aus dem Community-Repository. Als Anwender einer anderen Distributionen laden Sie von Github [2] die aktuelle Menyoki-Version als Tarball herunter und entpacken das Archiv.
Sie benötigen lediglich das im Verzeichnis enthaltene Programm menyoki, das Sie mit ./menyoki aufrufen. Möchten Sie die Software für alle Benutzer verfügbar machen, kopieren Sie es in ein passendes Verzeichnis, etwa nach /usr/local/bin/. Damit lässt sich das Werkzeug überall direkt mit menyoki aufrufen. In jedem Fall zeichnen Sie zukünftig selbst für Updates verantwortlich. Welche Möglichkeiten noch bereitstehen, um die Software zu nutzen, zeigt der Kasten “Alternativen”.
Alternativen
Menyoki lässt sich noch über zwei weitere Arten in Betrieb nehmen. Die sind zwar etwas komplizierter als das Herunterladen des Menyoki-Archivs, dafür lässt sich das Werkzeug später etwas einfacher aktualisieren.
Kennen Sie sich mit Docker aus, genügt der Aufruf docker pull orhunp/menyoki, um den entsprechenden Container einzurichten. Das Werkzeug rufen Sie dann mit docker run orhunp/menyoki menyoki auf. Je nach System müssen Sie den Befehlen zudem noch ein sudo voranstellen, etwa unter Ubuntu.
Des Weiteren lässt sich Menyoki über den Paketmanager Cargo der Programmiersprache Rust einbinden. Alle großen Distributionen halten Cargo und Rust zwar in ihren Repositories vor, meist jedoch in veralteten Versionen, die sich für die Installation von Menyoki nicht eignen. Sie sollten daher immer die aktuelle Version von Rust manuell in Ihr Heimatverzeichnis installieren. Dazu spielen Sie zunächst über den Paketmanager das Tool Curl, einen C-Compiler sowie die Entwicklerpakete zu den Bibliotheken Libx11 und Libxrandr ein.
Unter Ubuntu holt der folgende Befehl aus der ersten Zeile von Listing 1 alles Notwendige hinzu. Ein Installationsskript für Rust laden Sie mit dem Befehl aus der zweiten Zeile herunter. Starten Sie es, und beantworten Sie dessen Frage mit 1. Nach der Installation öffnen Sie ein neues Terminal und spielen Menyoki ein (Zeile 3). Vergessen Sie nicht, später regelmäßig Rust (Zeile 5) und Menyoki (Zeile 6) auf den neuesten Stand zu bringen.
Listing 1
Menyoki via Cargo einrichten
$ sudo apt install curl build-essential librust-x11-dev libxrandr-dev $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh $ cargo install menyoki [...] $ rustup update $ cargo install menyoki --force
Achtung, Aufnahme!
Um das Geschehen in einem Fenster als GIF-Animation in der Datei film.gif festzuhalten, rufen Sie Menyoki mit dem Kommando aus der ersten Zeile von Listing 2 auf. Der Bandwurm sieht auf den ersten Blick kryptischer aus, als er tatsächlich ist. Gleichzeitig demonstriert er den Aufbau eines jeden Menyoki-Befehls: Direkt hinter dem Programmnamen folgt die Aktion, die das Werkzeug ausführen soll. Im Beispiel zeichnet es durch den Schalter record eine Animation auf.
Listing 2
Aufnahmen mit Menyoki
$ menyoki record --countdown 5 gif save "film.gif" $ menyoki record --with-alpha --countdown 5 apng save "film.apng"
Hinter der Aktion folgen Parameter, die das Verhalten beeinflussen. Im Beispiel sorgt --countdown 5 dafür, dass die Aufzeichnung erst nach fünf Sekunden startet. Das verschafft Ihnen nicht nur etwas Zeit für Vorbereitungen, sondern insbesondere auch Gelegenheit, das Terminal-Fenster mit dem Menyoki-Aufruf zu verstecken. Ohne den Schalter wartet das Tool standardmäßig drei Sekunden. Hinter der Aktion und den zugehörigen Parametern folgt das Dateiformat, in dem Menyoki die Animation ablegt. Das Beispiel verwendet das GIF-Format, alternativ wäre noch apng möglich.
Das angehängte save sorgt schließlich dafür, dass die Software das Video nach der Aufzeichnung in der Datei film.gif ablegt. Lassen Sie diese Angabe weg, wählt Menyoki selbstständig einen Speicherort nebst Dateinamen, den es beim Beenden ausgibt – in der Regel ~/Bilder/rec.gif.
Eingerahmt
Nach Aufruf des Befehls erscheint ein zarter Rahmen (Abbildung 1). Was sich darin befindet, zeichnet Menyoki später auf. Ein anderes Fenster nehmen Sie auf, indem Sie es mit der Maus anklicken. In seinem Terminal-Fenster informiert Menyoki über den zugehörigen Fenstertitel (Window title) und die Fenstergröße (Window size). Damit kontrollieren Sie zusätzlich, ob die Software den richtigen Fensterinhalt aufzeichnet. Zur Auswahl des gewünschten Fensters bleiben Ihnen 60 Sekunden Zeit. Benötigen Sie mehr Zeit, geben Sie die benötigte Sekundenanzahl über den Parameter --timeout an.
Zumindest Gnome und KDE malen um ihre Fenster einen Schatten. Da er zum Fenster gehört, zeichnet ihn Menyoki konsequenterweise mit auf. Der Markierungsrahmen erscheint damit deutlich größer als das eigentliche Fenster (Abbildung 1). In der fertigen Animation erscheint der Schatten allerdings lediglich als schwarze Fläche.

Abbildung 1: Erscheint Ihnen der Markierungsrahmen von Menyoki zu dünn, erweitern Sie ihn mit dem Parameter --border 5 zum Beispiel auf fünf Pixel.
Sie verhindern das auf mehreren Wegen. Zunächst sorgt der Parameter --with-alpha dafür, dass Menyoki auch transparente Pixel aufzeichnet. Reibungslos klappt das allerdings nur mit dem APNG-Format (Listing 2, zweite Zeile). Alternativ halten Sie [Alt]+ gedrückt und verkleinern dann über die Pfeiltasten das Markierungsrechteck. Wieder vergrößern lässt sich der Aufnahmebereich, indem Sie die linken [Strg]+- und [Alt]+-Tasten gedrückt halten. Drücken Sie die linke [Umschalt]+- und die linke [Alt]-Taste, verschieben Sie über die Pfeiltasten das komplette Rechteck. Allerdings brauchen Sie ziemlich viel Feingefühl, um auf diese Weise den Rahmen genau um das Fenster zu legen (Abbildung 2).

Abbildung 2: Indem Sie den Markierungsrahmen verkleinern, schränken Sie den Aufzeichnungsbereich auf die tatsächlich wichtigen Bereiche ein.
Alternativ schalten Sie die Schatten in den Systemeinstellungen komplett ab, was jedoch nicht alle Desktop-Umgebungen erlauben. Als letzte Maßnahme bleibt Ihnen nur noch, den aufgezeichneten Film mit einem Videoschnittprogramm nachzubearbeiten.
… und Action!
Nach Anwahl des passenden Fensters starten Sie die Aufzeichnung durch Drücken von [Alt]+[Eingabe] (Abbildung 3). Dieselbe Tastenkombination beendet die Aufnahme später wieder. Das Video zeichnet Menyoki im Hauptspeicher auf und schreibt es erst nach dem Stoppen der Aufnahme auf die Festplatte. Diese Arbeitsweise führt dazu, dass der Hauptspeicher je nach Größe schon nach kurzer Zeit vollläuft und das System einfriert. Menyoki eignet sich daher nur für kurze Aufzeichnungen.

Abbildung 3: Bevor die Aufnahme startet, blendet Menyoki sowohl im Terminal als auch rechts oben neben dem aufzuzeichnenden Bereich einen Countdown ein.
In der Grundeinstellung nimmt die Software 20 Bilder pro Sekunde auf; für viele Tutorials genügen aber auch schon 15. Zwar ruckelt es dann stärker, dafür benötigt die fertige Animation aber auch weniger Speicherplatz. Zudem ermöglicht eine geringere Bildrate eine längere Aufnahmedauer. Wie viele Bilder pro Sekunde Menyoki aufnimmt, legen Sie mit dem Parameter --fps fest. Dieser steht ausnahmsweise hinter der Angabe des Dateiformats (Listing 3, erste Zeile).
Listing 3
Menyoki-Schalter
$ menyoki record gif --fps 15 save "film.gif" $ menyoki record --root --size 320x200 --padding 100:0:0:50 gif save "film.gif" $ menyoki -q record --duration 1 save "-" | convert - "film.miff"
Menyoki erlaubt nicht nur das Filmen eines Fensters: Mit dem Parameter --root zeichnet das Tool den kompletten Desktop auf. Verwenden Sie mehrere Monitore, nutzen Sie stattdessen --monitor N. Die Zahl N entspricht dann der Nummer des aufzuzeichnenden Bildschirms. Neben --root und --monitor gibt es noch den Parameter --focus, der umgehend das Fenster aufzeichnet, das gerade den Fokus besitzt. Mit --select erhalten Sie das voreingestellte Verhalten, bei dem Sie sich ein Fenster aussuchen dürfen.
Möchten Sie nur einen Ausschnitt des Desktops aufnehmen, verschieben Sie das grüne Markierungsrechteck mit den bereits vorgestellten Tastenkombinationen an die passende Position. Alternativ geben Sie direkt die Größe des Bereichs an. Der Befehl aus der zweiten Zeile von Listing 3 filmt beispielsweise einen Bereich mit 320 x 200 Pixeln des Desktops (Abbildung 4). Der Schalter --padding verrückt den Aufnahmebereich von der linken oberen Bildschirmecke aus um 100 Pixel nach unten und 50 Pixel nach rechts.

Abbildung 4: Mit den abgebildeten Einstellungen filmt Menyoki den im roten Rahmen eingeblendeten Ausschnitt.
Menyoki kennt noch den Parameter --duration, mit dem Sie die Aufnahmezeit in Sekunden festlegen. Damit müssen Sie dann nicht über die entsprechende Tastenkombination die Aufzeichnung manuell abbrechen. Als nützlich erweist sich dieser Schalter vor allem, wenn Sie Menyoki in ein Shell-Skript einbinden. Dann lassen sich die generierten Animationen auch per Pipe an andere Programme weiterleiten (Listing 3, letzte Zeile).
Der Schalter -q sorgt dafür, dass Menyoki stumm bleibt. Der Parameter save "-" schiebt die Animation in die Standardausgabe, die dann die Pipe | an convert weiterreicht. Letzteres überführt schließlich die Animation in das MIFF-Format der Bildverarbeitung Imagemagick.
Aufschnitt
Manche Ereignisse laufen zu schnell ab, um sie in einem Screenshot festzuhalten – etwa dann, wenn eine Anwendung eine wichtige Fehlermeldung umgehend wieder aus dem Blickfeld nimmt. In einem solchen Fall filmen Sie zunächst die Arbeit der Anwendung und zerlegen dann die Animation in ihre Einzelbilder. Das übernimmt Menyoki mit der Aktion split.
Mit dem Kommando aus der ersten Zeile von Listing 4 legt das Werkzeug alle Einzelbilder aus dem Video film.gif im JPEG-Format unter ~/Videos/ ab. Die Dateinamen der Einzelbilder beginnen allesamt mit frame_, denen Menyoki die Nummer des Einzelbilds anhängt. Im Beispiel erhalten Sie folglich die Dateien frame_1.jpg, frame_2.jpg, frame_3.jpg und so weiter. Als Dateiformate versteht Menyoki neben jpg auch noch bmp, ico, png, pnm, tga, tiff und ff, wobei Letzteres für das Farbfeld-Format steht.
Listing 4
Filme bearbeiten
$ menyoki split --dir ~/Videos/ "film.gif" jpg $ menyoki edit --ratio 1.5 "frame_3.jpg" save "frame_3_big.jpg" ### mehrere Bilder auf einmal skalieren: $ for file in *.jpg; do menyoki edit --ratio 1.5 "$file" save "$file"; done ### Einzelbilder zu einem Film zusammenfassen: $ menyoki make --dir ~/Videos/ --fps 15 --format gif save film2.gif ### Bilddateien statt Verzeichnis übergeben $ menyoki make --fps 15 --format gif "frame_1.jpg" "frame_2.jpg" "frame_3.jpg" save film3.gif
Aus den Einzelbildern lässt sich jetzt die Fehlermeldung herausfischen. Erscheint die Schrift zu klein, vergrößert die Software das gewählte Bild direkt noch. Dazu gibt es die Aktion edit (Listing 4, Zeile 2). Der Parameter --ratio skaliert das Bild um den Faktor 1,5, wobei das Seitenverhältnis erhalten bleibt. Das Ergebnis legt der Befehl in der Datei frame_3_big.jpg ab.
Neben --ratio kennt Menyoki noch andere Arten der Bildmodifikation (siehe Tabelle “Bildbearbeitungsfunktionen”). Derzeit bearbeitet das Tool aber immer nur ein einzelnes Bild und nicht die komplette Bildfolge. Um schnell sämtliche Einzelbilder um den Faktor 1,5 zu skalieren, verwenden Sie das Kommando aus Zeilen 4 von Listing 2.
|
Parameter |
Bedeutung |
|---|---|
|
|
Erzeugt ein Graustufenbild. |
|
|
Beschneidet das Bild um die angegebenen Pixelmaße. |
|
|
Skaliert das Bild, ohne das Seitenverhältnis zu beachten. |
|
|
Skaliert das Bild um den angegebenen Faktor. |
|
|
Rotiert das Bild im Uhrzeigersinn (möglich: |
|
|
Spiegelt das Bild (mögliche: |
|
|
Wendet einen Weichzeichner auf das Bild an. |
|
|
Verändert die Farbsättigung. |
|
|
Verändert den Kontrast. |
|
|
Verändert die Helligkeit. |
Nach dem Bearbeiten aller Einzelbilder setzt Menyoki sie auf Wunsch wieder zu einer Animation zusammen (Listing 4, Zeile 6). Der Parameter --dir definiert das Verzeichnis mit allen Einzelbildern, --fps 15 gibt eine Abspielgeschwindigkeit von 15 Bildern pro Sekunde vor. Hinter --format steht das gewünschte Ausgabeformat. Anstelle deines Vorgabeverzeichnisses übergeben Sie alternativ einzelne Bilddateien (Zeile 8). Der Schalter analyze erlaubt es, technische Informationen der gewählten Bilddatei auszugeben (Abbildung 5).

Abbildung 5: Die Aktion analyze liefert zahlreiche technische Informationen über ein Bild beziehungsweise eine Animation.
Auf Wunsch erstellt Menyoki auch Screenshots. Das funktioniert genauso wie bei der Animation, die zugehörige Aktion heißt jedoch capture (Listing 5).
Listing 5
Screenshot
$ menyoki capture jpg save "screenshot.jpg"
Fazit
Menyoki ist ein perfektes Werkzeug, um schnell einen Vorgang als GIF- oder APNG-Animation festzuhalten. Die erstellten Filme nimmt das Tool bei Bedarf auseinander, bearbeitet die Bilder und baut die Bildfolge wieder zu einer Animation zusammen. Als Kommandozeilenwerkzeug lässt es sich auch leicht in eigene Shell-Skripte integrieren. Weitere Beispiele für den Einsatz von Menyoki finden Sie auf der Github-Seite [3] des Projekts, die auch gleichzeitig als Dokumentation dient.
An den Funktionsumfang anderer Screencast-Programme kommt die Software allerdings noch nicht heran. Insbesondere fehlt die Möglichkeit, sämtliche extrahierten Bilder auf einmal zu skalieren beziehungsweise nachzubearbeiten. Aufgrund seiner Arbeitsweise eignet sich das Tool zudem nur für kurze Aufnahmen. (tle/jlu)
Infos
-
Menyoki: https://menyoki.cli.rs
-
Menyoki herunterladen: https://github.com/orhun/menyoki/releases
-
Menyoki auf Github: https://github.com/orhun/menyoki





