you will need to install ffmpeg first! 😀 (which can be cumbersome)

1. use vokoscreen: http://www.kohaupt-online.de/hp/

THANKS A LOT Michael Kohaupt 🙂 Rock steady.

install procedure is a little cumbersome… you might need to install ffmpeg first.

# this was tested on Debian8
cat /etc/debian_version
8.6

uname -a
Linux debian 3.16.0-4-686-pae #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) i686 GNU/Linux

su; # become root
sudo bash; # become root

apt-get install aptitude; # if you have aptitude not yet installed, it is really helpful for resolving dependencies automatically

aptitude update; # update package definitions

aptitude install vokoscreen; # try to install vokoscreen

# aptitude will throw a bunch of info at you, first press "n" like "no" and then "y" for "yes"

The following packages have unmet dependencies:
 vokoscreen : Depends: libqt5core5a (>= 5.6.0~beta) but 5.3.2+dfsg-4+deb8u1 is to be installed
              Depends: libqt5x11extras5 (>= 5.6.0) but 5.3.2-2 is to be installed
              Depends: libstdc++6 (>= 5.2) but 4.9.2-10 is to be installed
              Depends: ffmpeg but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
root@debian:/home/canoodle# aptitude install vokoscreen; #
The following NEW packages will be installed:
  ffmpeg{ab} libavcodec57{ab} libavdevice57{a} libavfilter6{ab} libavformat57{ab} libavresample3{a} libavutil55{ab} libboost-filesystem1.55.0{a} libboost-regex1.55.0{a} libbs2b0{a} libchromaprint1{ab} libfaac0{a} libfdk-aac1{a} libgif4{a} libgme0{a} libilbc2{a}
  libkvazaar3{a} liblept4{a} libnuma1{a} libopenh264-2{ab} libopenjp2-7{a} libpostproc54{a} libqt5network5{a} libqt5test5{a} librubberband2{a} libsoxr0{a} libswresample2{a} libswscale4{a} libtesseract3{a} libvidstab1.0{a} libx264-148{a} libx265-95{a} mkvtoolnix{a}
  vokoscreen{b}
0 packages upgraded, 34 newly installed, 0 to remove and 22 not upgraded.
Need to get 18.2 MB/18.3 MB of archives. After unpacking 59.2 MB will be used.
The following packages have unmet dependencies:
 vokoscreen : Depends: libqt5core5a (>= 5.6.0~beta) but 5.3.2+dfsg-4+deb8u1 is installed.
              Depends: libqt5x11extras5 (>= 5.6.0) but 5.3.2-2 is installed.
              Depends: libstdc++6 (>= 5.2) but 4.9.2-10 is installed.
 libchromaprint1 : Depends: libstdc++6 (>= 5.2) but 4.9.2-10 is installed.
 ffmpeg : Depends: libva1 (>= 1.7.2) but 1.4.1-1 is installed.
 libavfilter6 : Depends: libebur128-1 (>= 1.1.0) but it is not going to be installed.
                Depends: libva1 (>= 1.7.2) but 1.4.1-1 is installed.
 libopenh264-2 : Depends: libstdc++6 (>= 5) but 4.9.2-10 is installed.
 libavutil55 : Depends: libva1 (>= 1.7.2) but 1.4.1-1 is installed.
 libavformat57 : Depends: libgnutls30 (>= 3.5.3) which is a virtual package.
 libavcodec57 : Depends: libsnappy1v5 which is a virtual package.
                Depends: libva1 (>= 1.7.2) but 1.4.1-1 is installed.
                Depends: libvpx4 (>= 1.6.0) which is a virtual package.
The following actions will resolve these dependencies:

      Keep the following packages at their current version:
1)      ffmpeg [Not Installed]                            
2)      libavcodec57 [Not Installed]                      
3)      libavdevice57 [Not Installed]                      
4)      libavfilter6 [Not Installed]                      
5)      libavformat57 [Not Installed]                      
6)      libavresample3 [Not Installed]                    
7)      libavutil55 [Not Installed]                        
8)      libchromaprint1 [Not Installed]                    
9)      libopenh264-2 [Not Installed]                      
10)     libpostproc54 [Not Installed]                      
11)     libswresample2 [Not Installed]                    
12)     libswscale4 [Not Installed]                        
13)     vokoscreen [Not Installed]                        



Accept this solution? [Y/n/q/?] n # <- no, we want to install vokoscreen, not leave it [Not Installed]
The following actions will resolve these dependencies:

      Install the following packages:                              
1)      libdc1394-utils [2.2.3-1 (stable)]                        
2)      libqt4-test [4:4.8.6+git64-g5dc8b2b+dfsg-3+deb8u1 (stable)]
3)      vokoscreen [2.1.0-1 (stable)]   # <- sounds better

      Keep the following packages at their current version:        
4)      ffmpeg [Not Installed]                                    
5)      libavcodec57 [Not Installed]                              
6)      libavdevice57 [Not Installed]                              
7)      libavfilter6 [Not Installed]                              
8)      libavformat57 [Not Installed]                              
9)      libavresample3 [Not Installed]                            
10)     libavutil55 [Not Installed]                                
11)     libchromaprint1 [Not Installed]                            
12)     libopenh264-2 [Not Installed]                              
13)     libpostproc54 [Not Installed]                              
14)     libswresample2 [Not Installed]                            
15)     libswscale4 [Not Installed]                                

Accept this solution? [Y/n/q/?] Y # <- solution accepted

# i can now select vokoscreen from my MATE Gnom2 Menu and it starts and i can record my screen

2. use ffmpeg to convert to gif

here is a script, tested and works.

ffmpeg -i input.mkv output.gif; # easy way, works

# complicated way failed with: Automatic encoder selection failed for output stream #0:0. Default encoder for format image2 (codec png) is probably disabled. Please choose an encoder manually. Error selecting an encoder for stream 0:0

vim /scripts/avi2gif.sh; # create new file with that path and name

# fill it with this content; # in vim you will have to press i for insert first, then do the copy paste either with ctrl/strg+v or middle-mouse-button

#!/bin/sh

INPUT=$1

# default settings, modify if you want.

START_AT_SECOND=0; # in seconds, if you want to skip the first 30 seconds put 30 here

LENGTH_OF_GIF_VIDEO=9999999; # in seconds, how long the gif animation should be

echo "Generate a palette:"
ffmpeg -y -ss $START_AT_SECOND -t $LENGTH_OF_GIF_VIDEO -i $INPUT -vf fps=10,scale=320:-1:flags=lanczos,palettegen palette.png

echo "Output the GIF using the palette:"
ffmpeg -ss $START_AT_SECOND -t $LENGTH_OF_GIF_VIDEO -i $INPUT -i palette.png -filter_complex "fps=10,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" $INPUT.gif

:wq; # write and quit vim

chmod u+x /scripts/avi2gif.sh; # flag script executable

usage:

/scripts/avi2gif.sh ./vokoscreen-2015-05-28_12-41-56.avi; # for some reason it DOES NOT WORK IF YOU HAVE SPACES IN_YOUR_FILENAME

example result:

streamtuner2_how_to_add_custom_radiostation

some file size stats:

5.3M = vokoscreen-2015-04-28_15-43-17.avi -> vokoscreen-2015-05-28_12-41-56.avi.gif = 1013K

admin