Code Monkey home page Code Monkey logo

silentcast's Introduction

Silentcast

##Demos

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

fullscreen.gif

###Transparent: How to use Silentcast to record 2 windows

transparent.gif

###Interior: How to use Silentcast to only record the drawing

interior.gif

###Entirety: How to use Silentcast to record 1 window

entirety.gif

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

  • 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 and gir1.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 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:
    • 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 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 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

SetDir.png

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

SetArea.png

  • 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

SetRate.png

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

SetFrom.png

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

SetOut.png

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

3.png

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

3_Trans.png

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.

WxH

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

2.png

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.

2_Trans.png

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

1.png

Just one last chance to get yourself and the screen ready for recording which will begin as soon as you click OK.

Record

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

Stop

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:

Stop.png

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.

Convert

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:

convert-error.png

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.

silentcast's People

Contributors

arkni avatar colinkeenan avatar seth-johnson avatar voor avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.