# EasyScreenCast
[![GitHub Workflow Status](https://github.com/EasyScreenCast/EasyScreenCast/actions/workflows/node.js.yml/badge.svg)](https://github.com/EasyScreenCast/EasyScreenCast/actions)
EasyScreenCast simplifies the use of the video recording function integrated in gnome shell,
allows quickly to change the various settings of the desktop recording.
Copyright (C) 2013-16 Borsato Ivano.
- [Web Page](http://iacopodeenosee.wordpress.com/)
- [GNOME Shell Extensions Page](https://extensions.gnome.org/extension/690/easyscreencast/)
- [Video](https://youtu.be/81E9AruraKU)
----
**Note:** Gnome Shell 42 brings in a new screenshot/screencast UI, which might already be all you need.
Just run it via the default shortcut `Ctlr+Alt+Shift+R`.
This extension provides more options to configure the screencast, e.g. quality settings and webcam support.
----
## Requirements
- Gnome Shell 3.38+
- Gstreamer 1.x [ common function/webcam support ]
- gst plugins ugly [ x264 support ]
- gst plugins base [ common function/theora support ]
- gst plugins good [ mp4/mkv/webm/vp8/vp9 support ]
## License Info
EasyScreenCast is free software distributed under the GNU GPL. All files are under GPL v3. read [COPYING](COPYING.md) for more information about license.
## How to install
there are several methods:
1. From **github releases**. Just go to <https://github.com/EasyScreenCast/EasyScreenCast/releases/latest> and download
the latest zip file. Then install it (adjust the file name accordingly):
```
gnome-extensions install --force EasyScreenCast_1.5.0_42.zip
```
And logout/login again to activate the extension.
2. From **gnome extension site**, just go on [this page](https://extensions.gnome.org/extension/690/easyscreencast/)
and click/touch on the button ON, that's all.
3. By installing the Debian/Ubuntu package "gnome-shell-extension-easyscreencast":
```
sudo apt install gnome-shell-extension-easyscreencast
```
4. From **github repo**, if you want the most up-to-date version, just do these simple steps
```
git clone https://github.com/EasyScreenCast/EasyScreenCast.git
cd EasyScreenCast
make
make install
```
Note: You'll need to install the following dev dependencies once:
```
sudo apt install gettext jq intltool
```
## How to test changes
You can run a new session to test changes to the installed extension:
```
dbus-run-session -- gnome-shell --nested
```
## How to view the logs
You must **enable the verbose logs in options window** and after that you can find the logs by typing this on terminal:
```
journalctl --since=today --no-pager --output=cat | grep ESC
journalctl /usr/bin/gnome-shell --since=today --no-pager --output=cat
```
to open the option windows from terminal try that on terminal:
```
gnome-extensions prefs EasyScreenCast@iacopodeenosee.gmail.com
```
## Translation
If you want to help with translations, just follow these simple step:
1 - Create a new folders for the translations(if NOT exist), where $lang is a code language [[https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html#Usual-Language-Codes](https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html#Usual-Language-Codes)]
```
mkdir -p locale/$lang/LC_MESSAGES
```
2 - Translate the string with the program Poedit by using a .pot files (locale/messages.pot)
3 - Save these files in the same directory of .pot files, use the code language for the name of them (locale/$lang.po)
4 - Convert in binary these .po files, where $lang is a code language, with that command:
```
msgfmt locale/$lang.po -o locale/$lang/LC_MESSAGES/EasyScreenCast@iacopodeenosee.gmail.com.mo
```
## Converting to GIF
There are a wide variety of video editors that should be able to convert
the screencasts to GIFs. An easy way to convert a file using the command
line is:
```
ffmpeg -i _filepath -pix_fmt rgb24 _dirpath/_filename.gif
```
For more information see for example:
- [How do I convert a video to GIF using ffmpeg, with reasonable quality?](https://superuser.com/questions/556029/how-do-i-convert-a-video-to-gif-using-ffmpeg-with-reasonable-quality)
## Test matrix
| Distribution / gnome-shell | Installation | Screen Recording | +Video Recording | +Audio Recording |
|--------------------------------------|--------------|------------------|------------------|------------------|
|Debian 11 Bullseye (gnome-shell 3.38) | ✔ | ✔ | ✔ | ✔ |
|Ubuntu 22.04 LTS (gnome-shell 42.2) | ✔ | ✔ | ✔ | ✔ |
|Debian Experimental (gnome-shell 43) | ✔ | ✔ | ✔ | ✔ |
Note: Only wayland sessions, always a fresh install of the linux distribution. Screen cast was the whole screen.
Quality setting: FPS 30, VP8, webm container.
X11 session is not tested.