Create silent mkv screencast and animated gif.



Notice there’s a stop icon stop1.png in the Notification Area before I even start Silentcast, then a 2nd stop icon stop2.png 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



###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

Installing Dependencies by Distro

  • If running KDE Plasma 5, install libappindicator-activate-gtk3 from the AUR (or from the archlinuxcn repo).

  • 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 (or from the archlinuxcn repo).

  • If running KDE Plasma 5, install the gir1.2-gtk-3.0 and gir1.2-appindicator3-0.1 packages.
  • If running Gnome, install Topicons
  • Install what you can with apt-get
$ sudo apt-add-repository -y ppa:webupd8team/y-ppa-manager
$ sudo apt-get update
$ sudo apt-get install bash libav-tools imagemagick x11-xserver-utils xdotool wininfo wmctrl python-gobject python-cairo xdg-utils yad
$ sudo ln -s /usr/bin/avconv /usr/bin/ffmpeg
  • If running Gnome, install Topicons
  • Make sure you have the multimedia repository, rpmfusion
$ su -c 'yum localinstall --nogpgcheck$(rpm -E %fedora).noarch.rpm$(rpm -E %fedora).noarch.rpm'
  • Now install everything with yum
$ sudo yum install bash ffmpeg ImageMagick xdotool wmctrl xdg-utils yad
  • Install ffmpeg by getting the multimedia codecs for either KDE or Gnome by clicking the appropriate button at, 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 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, 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 example Exec=/home/colin/Downloads/silentcast-1.7/silentcast and Path=/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
  • Most likely working right: Download Silentcast from
  • Probably broken when in active development, otherwise the same as master: Download Silentcast from
  • 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 and rm ~/.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
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, like yaourt -Syua. Uninstall with sudo pacman -R silentcast
  • Without an AUR helper, just Download silentcast.tar.gz from, 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 with sudo pacman -R silentcast
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
    Run sudo apt-get remove silentcast. You can then remove the PPAs with sudo 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.

Dialogs: Set 3 2 1 Record Stop Convert

Set Working Directory


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)

Set Area


  • 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.

Set Frames per second


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.

Choose How webm or mp4 videos will be made


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.

Select Outputs


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.

3 Auto Resize

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.

No Transparent Window


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.

Transparent Window


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.

2 Manual Resize and Position


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.

1 Get Ready


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: stop1 stop2


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.

Related Repositories



Create silent mkv screencast and animated gif. ...

Top Contributors

colinkeenan Seth-Johnson voor sbrl woodyrew Arkni


-   v2.5 zip tar
-   v2.4 zip tar
-   v2.3 zip tar
-   v2.2 zip tar
-   v2.1 zip tar
-   v2.0 zip tar
-   v1.8 zip tar
-   v1.7 zip tar
-   v1.6 zip tar
-   v1.5 zip tar
-   v1.3 zip tar
-   v1.2 zip tar
-   v1.1 zip tar
-   v1.0 zip tar