##Demos
Notice there's a stop icon in the Notification Area before I even start Silentcast, then a 2nd stop icon appears when recording begins. That's because I already had Silentcast running to make these animated gifs of how to use Silentcast. Silentcast 1 keeps going after I stop Silentcast 2.
###Fullscreen: How to use Silentcast to record Gimp
###Transparent: How to use Silentcast to record 2 windows
###Interior: How to use Silentcast to only record the drawing
###Entirety: How to use Silentcast to record 1 window
##Guides
###Getting Silentcast
Dependencies (Arch package names used) | |
---|---|
package | reason |
bash | because Silentcast is mostly bash scripts and I use bashisms |
ffmpeg | for recording and extracting images |
imagemagick | for 'convert' to animate images |
yad | for the GUI - popup dialogue windows |
xdotool | for getting the active window id |
xorg-xrandr | for getting screen size |
xorg-xwininfo | for getting window size and position |
wmctrl | for resizing and positioning windows |
python-gobject | for 'gi.repository' which has Gtk |
python-cairo | for making Gtk+ window transparent |
xdg-utils | for 'xdg-open' to open the file-browser |
-
Desktop Environment Requirements
- A desktop that includes a standard system-tray notification area with clickable icons. Works with most popular desktops, including Unity. For Gnome, install The Topicons extension
- A compositing window manager that is compatible with the EWMH/NetWM specification.
-
Installing Dependencies by Distro
-
Arch
-
If running Gnome, install Topicons
-
Install what you can with pacman
$ sudo pacman -S bash ffmpeg imagemagick xdotool xorg-xrandr xorg-xwininfo wmctrl python-gobject python-cairo xdg-utils
-
Install yad from the AUR with your AUR helper or Download yad.tar.gz from aur.archlinux.org, extract, and do
makepkg -si
from the extracted directory
-
-
Ubuntu
-
If running Gnome, install Topicons
-
Install what you can with apt-get
$ sudo apt-get install bash libav-tools imagemagick x11-xserver-utils xdotool wininfo wmctrl python-gobject python-cairo xdg-utils $ sudo ln -s /usr/bin/avconv /usr/bin/ffmpeg
-
Look for Download "yad" at yad, click the 32 bit or 64 bit version and let Software Center install it.
-
Plasma 5 users will also need the
gir1.2-gtk-3.0
andgir1.2-appindicator3-0.1
packages.
-
-
Fedora
-
If running Gnome, install Topicons
-
Make sure you have the multimedia repository, rpmfusion
$ su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'
-
Now install everything with yum
$ sudo yum install bash ffmpeg ImageMagick xdotool wmctrl xdg-utils yad
-
That's all you need to run Silentcast, but to watch the mp4 or webm files, I recommend installing Google Chrome
-
-
openSUSE
-
Install ffmpeg by getting the multimedia codecs for either KDE or Gnome by clicking the appropriate button at opensuse-community.org/, and letting YaST do the install for you. Trust the keys and resolve the conflict by choosing the first option which will switch to the Packman repository.
-
Install everything else with zypper
$ sudo zypper install bash ImageMagick yad xdotool xrandr xwininfo wmctrl python-gobject python-cairo xdg-utils
-
That's all you need to run Silentcast, but to watch the mp4 or webm files, I recommend installing Google Chrome as follows
$ sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome $ sudo zypper ref $ sudo zypper in google-chrome-stable
-
-
-
Try it before you install it! (If you already installed it, uninstall before trying this.)
-
Install the dependencies as listed above, Download Latest Release of Silentcast from github.com, and extract.
-
In Xfce, you can just double click bash silentcast in the extracted folder. Seems as though most other desktops don't default to running in the same directory as the launcher, so you'll have to run it in the terminal.
-
Here's an example of running it from the terminal:
$ cd ~/Downloads/silentcast-1.7 $ bash silentcast
-
That's it! Nothing will be installed to your system folders, and you can get rid of Silentcast just by deleting the download and extracted folder.
-
If you want to make the bash silentcast launcher work instead of doing a full install, edit
bash_silentcast.desktop
in a terminal and put the full path in, for exampleExec=/home/colin/Downloads/silentcast-1.7/silentcast
andPath=/home/colin/Downloads/silentcast-1.7/
-
Note that if you have done a full install of Silentcast, you will end up running portions of that installation when running bash silentcast. So, to try out this method, first uninstall the full installation of Silentcast.
-
-
Any Linux Distro Full Install Without Root Access
- Install missing dependencies (see the Dependencies table and Installing Dependencies by Distro above)
- Download a version of Silentcast:
- Should always work as intended: Download Latest Release of Silentcast from github.com
- Most likely working right: Download Silentcast master.zip from github.com
- Probably broken when in active development, otherwise the same as master: Download Silentcast next.zip from github.com
- Extract. Then, from a terminal,
cd
into the extracted directory and./no_root_install
Uninstall instructions are provided in the output of the no_root_install script. You can also see them in the comments to the launcher. See options with./no_root_install -h
. If installed to the default location, uninstall with the following commands:rm -r ~/.silentcast
andrm ~/.local/share/applications/no_root_silentcast.desktop
- See what version you've got with
silentcast -v
. Check for a newer version
-
Any Linux Distro Full Install
- Install missing dependencies (see the Dependencies table and Installing Dependencies by Distro above)
- Download a version of Silentcast:
- Should always work as intended: Download Latest Release of Silentcast from github.com
- Most likely working right: Download Silentcast master.zip from github.com
- Probably broken when in active development, otherwise the same as master: Download Silentcast next.zip from github.com
- Extract. Then, from a terminal,
cd
into the extracted directory andsudo ./install
Uninstall instructions are the same replacing install with uninstall. The install (or uninstall) bash script just copies (or deletes) files. You may want to edit them if your distro puts files in unusual places. - See what version you've got with
silentcast -v
. Check for a newer version
-
Arch Linux Full Install
- Use an AUR helper, like
yaourt -S silentcast
. This will automatically install the latest release and missing dependencies. Keep your install up to date the usual way with your AUR helper, likeyaourt -Syua
. Uninstall withsudo pacman -R silentcast
- Without an AUR helper, just Download silentcast.tar.gz from aur.archlinux.org, extract, and do
makepkg -si
from the extracted directory. This will do exactly the same thing as an AUR helper would do for installation, but you will have to keep track of updates yourself. Uninstall withsudo pacman -R silentcast
- Use an AUR helper, like
-
Ubuntu Linux Full Install
-
For supported releases run the following commands to install Silentcast (If the PPA/repositories are out of date or for older versions of Ubuntu follow one of the "Any Linux Distro" instructions):
$ sudo add-apt-repository ppa:sethj/silentcast $ sudo apt-get update $ sudo apt-get install silentcast
Or run the following, condensed, command:
$ sudo add-apt-repository ppa:sethj/silentcast && sudo apt-get update && sudo apt-get install silentcast
-
Uninstall
Runsudo apt-get remove silentcast
. You can then remove the PPAs withsudo add-apt-repository -r
like so:$ sudo add-apt-repository -r ppa:sethj/silentcast && sudo apt-get update
-
-
###Launch Methods
- Menu Hierarchy
- Graphics -> Silentcast
- Multimedia -> Silentcast
- Search Box Terms
- silentcast
- screencast
- record
- gif
- (and other things will work too)
- ALT+F2
- silentcast
- Terminal
silentcast
- Or, if you haven't actually installed silentcast, but installed the dependencies, downloaded and extracted silentcast-master, then:
bash silentcast
from within the extracted directory.
Find Silentcast in the menu under either Graphics or Multimedia, type silentcast into the search box, or ALT+F2 silentcast. It can also be run from a terminal as silentcast.
A directory named silentcast
will be created if it doesn't already exist, and that's where temp.mkv and anim.gif will go, but where should silentcast
go? (If you are already running another instance of Silentcast, it will create silentcast/silentcast
if it doesn't already exist.)
-
/home/you
(your home directory) is the default choice -
/tmp
or/dev/shm
(your RAM disk) After images are generated, you may want to free some memory to allow the creation of anim.gif to happen:- Move temp.mkv out of memory and onto your hard drive to save it (or delete it otherwise)
- Stop the thumbnailer that's been working overtime keeping up with all the images (in Xfce the thumbnailer is tumblerd)
- Use htop to find out what else is taking up too much memory that you can stop
-
other
(you need to type in an existing directory here)
- Fullscreen
- Records the entire screen. Dialog 1 will be next because dialogs 3 and 2 aren't needed.
- Transparent Window Interior
- Records the area defined by a transparent window. The next dialog will be 3 and it will popup along with a transparent window which you can use to outline the area of the screen you want to record. The transparent window will automatically close before recording begins.
- Interior of a Window
- Records the interior of the "next active window" which is the window that will become active after closing dialog 2. The interior may include a menu bar or other UI elements, but does not include the title-bar or borders.
- Entirety of a Window
- Records the "next active window" which is the window that will become active after closing dialog 2. The entire window will be recorded, including the title-bar and borders.
The default Frames per second is 8 which plays back at a reasonable speed and smoothness in gif animations served from a website. Higher frame rates will be smoother but will require a lot of memory to create. Beyond a certain rate, and playback may be too slow. Seems to work reasonably well up to 50 Frames per second though.
The default behavior makes webm or mp4 videos directly from temp.mkv, but this doesn't allow for editing. If you want, you can edit frame-by-frame by choosing ew-???.png as an answer to Videos made from:. Then, before allowing the video to be made, view the frame-by-frame png images and delete unnecessary ones.
By default, anim.gif is already checked, but you can remove that. Check as many as you want in the final output. If not checked, any png images that were generated as an intermediate step will be deleted. You do not have to check the png images to be able to make videos from png images.
If you didn't Choose Fullscreen on the opening dialog, you'll get a countdown of dialogs starting with 3. This dialog will look and behave differently depending on whether or not you chose Transparent Window Interior.
This one explains that after choosing a size, you will have to choose what window to resize by clicking on it. The mouse pointer will change to a + shape until you click a window. Nothing will happen if you click a maximized window, so you should unmaximize the window you want to record before clicking OK on this dialog, unless you want it maximized.
Since Silentcast put the transparent window up, it knows what you are resizing so that there's no need to click on any windows. As soon as you choose a size and click OK, it will resize the transparent window.
You can also enter your own size. The WxH choice is there to remind you that the first number is the width and the second number is the height and there should be an x between those numbers with no spaces. You can actually enter the new size on any line though.
When automatically resizing, the previous dialog moved the window to the top left corner. This dialog gives you a chance to move and further resize the window.
If you are using a transparent window, this is the time to define the exact area to be recorded. After clicking OK, the transparent window will close, but the area for recording will be set to where the interior of that window was.
Just one last chance to get yourself and the screen ready for recording which will begin as soon as you click OK.
There's no dialog, but during recording there will be a stop icon in the system tray notification area. That icon will will indicate if it is the 1st or 2nd instance of Silentcast running:
When you click the stop icon in the system tray notification area, you'll see a progress dialog and your file browser open to the silentcast folder as it makes images from the recording, then the Prepare Images dialog will popup:
If you choose to automatically delete a lot of images to create a smaller anim.gif or because your system can't handle so many images at once, then as the dialog explains, entering 1 will delete every other image, 2 will delete 2 out of every 3 images, etc. Convert will adjust timing so playback of anim.gif won't move too fast.
In addition to automatically deleting images, you may choose to "edit" the yet to be made anim.gif by selectively deleting images. Just view an image in any viewer and move forward through them to see frame by frame what anim.gif will look like. Then, if you notice for example that your mouse cursor makes a slow pointless circle, just delete those images. For more ideas on what can be done while this dialog is up, see List of Tips below.
After preparing images and clicking OK, you'll see a progress dialog as convert works on making anim.gif. If successful, Screencast has finished it's job.
However, if you don't have a large enough swap (or no swap as with my own system) and run out of memory, convert may crash, and you'll see this dialog popup:
After clicking OK, you'll be back at the Prepare Images dialog so that you can delete unneeded images or make other changes that will allow convert to complete anim.gif.
##List of Tips
In a future release, after I've used Silentcast for a while, I'll have a list of tips here. I'm thinking of command line stuff to for example insert an animated gif of you drawing on one of the images in the animated gif you're working on so that you can circle or highlight something in the animation. However, I haven't tried it yet and want to release this version 1.0 now.