Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/karimaziev/gnome-gifcast
GIF recording using gnome-screencast and ffmpeg.
https://github.com/karimaziev/gnome-gifcast
Last synced: 4 days ago
JSON representation
GIF recording using gnome-screencast and ffmpeg.
- Host: GitHub
- URL: https://github.com/karimaziev/gnome-gifcast
- Owner: KarimAziev
- License: gpl-3.0
- Created: 2023-12-10T10:31:43.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-11-09T13:02:20.000Z (5 days ago)
- Last Synced: 2024-11-09T13:24:20.353Z (5 days ago)
- Language: Emacs Lisp
- Size: 7.31 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
#+OPTIONS: ^:nil tags:nil num:nil
* About
Gif recording using =gnome-screencast= and =ffmpeg=.
[[./gnome-gifcast.gif][./gnome-gifcast.gif]]
* Table of Contents :TOC_2_gh:QUOTE:
#+BEGIN_QUOTE
- [[#about][About]]
- [[#requirements][Requirements]]
- [[#installation][Installation]]
- [[#with-use-package-and-straightel][With use-package and straight.el]]
- [[#manual-installation][Manual installation]]
- [[#usage][Usage]]
- [[#commands][Commands]]
- [[#customization][Customization]]
#+END_QUOTE* Requirements
| Name | Version | Description |
|------------------+---------+--------------------------------------------------------------------------------------------|
| Emacs | 29.1 | Text editor. |
| [[https://github.com/juergenhoetzel/emacs-gnome-screencast][gnome-screencast]] | 1.3 | Emacs interface for initiating GNOME Shell's built-in screencasting capability. |
|------------------+---------+--------------------------------------------------------------------------------------------|
| gnome-shell | | The graphical shell of the GNOME desktop environment with native screencast functionality. |
| [[https://ffmpeg.org/][ffmpeg]] | | Command-line tool used for video and audio processing. |
| dbus | | Message bus system that gnome-screencast uses to communicate with GNOME Shell. |
| | | |#+begin_quote
[!NOTE]This list assumes you're using a GNOME environment where the native screencasting capability (=gnome-screencast=) and =dbus= are available.
#+end_quote* Installation
** With use-package and straight.el
#+begin_src elisp :eval no
(use-package gnome-gifcast
:straight (gnome-gifcast
:repo "KarimAziev/gnome-gifcast"
:type git
:host github)
:commands (gnome-gifcast
gnome-gifcast-start
gnome-gifcast-stop))
#+end_src** Manual installation
Download the source code and put it wherever you like, e.g. into =~/.emacs.d/gnome-gifcast/=
#+begin_src shell :eval no
git clone https://github.com/KarimAziev/gnome-gifcast.git ~/.emacs.d/gnome-gifcast/
#+end_srcAdd the downloaded directory to the load path:
#+begin_src elisp :eval no
(add-to-list 'load-path "~/.emacs.d/gnome-gifcast/")
(require 'gnome-gifcast)
#+end_src* Usage
** Commands
**** ~gnome-gifcast~
Toggle =gnome= screencast recording.
**** ~gnome-gifcast-start~
Start recording a screencast with =gnome=.
**** ~gnome-gifcast-stop~
Stop recording and convert to =gif=.
** Customization**** ~gnome-gifcast-record-current-window-only~
Determines whether to record only the current window during a screencast. When non-nil, the screencast will capture only the contents of the currently focused window. When nil, the entire screen will be recorded.
**** ~gnome-gifcast-ffmpeg-args~
List of arguments for =ffmpeg= command.
**** ~gnome-gifcast-screencast-directory~
Directory for saving screencast videos before conversion.
**** ~gnome-gifcast-post-record-hook~
Hook run after recording a =gif= screencast. =a= hook that is run after the recording of a screencast is stopped.
**** ~gnome-gifcast-pre-init-hook~
Hook run before =gnome= =gif= screencast starts.
**** ~gnome-gifcast-post-process-hook~
Hook to run after =gif= creation from screencast.