1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
# Development Documentation
## gif screencast refresh
### ffcast, ffmpeg, convert
Open terminal and prepare environment:
```
$ xfce4-terminal --hide-menubar --hide-toolbar
$ sleep 20 ; docker run -d fedora bash -c "while true : ; do sleep 1 ; date ; done"
```
Record screen:
```
$ ffcast -w % ffmpeg -f x11grab -show_region 1 -framerate 20 -video_size %s -i %D+%c -codec:v huffyuv -vf crop="iw-mod(iw\\,2):ih-mod(ih\\,2)" out.avi
```
Convert to gif and optimize:
```
$ ffmpeg -ss 3 -i out.avi -t 00:00:50.00 -vf scale=720:-1 -pix_fmt rgb24 out.gif
$ convert -limit memory 1 -limit map 1 -layers Optimize out.gif out_optimised.gif
```
* `-ss 3` — cut until second 3
* `-t 00:00:50.00` — process until second 50
* `-vf scale=720:-1` — resize gif to 720px (looks like a preferred GitHub size)
### byzanz
Open terminal and get terminal coords:
```
$ xwininfo
```
Record:
```
$ byzanz-record -v --delay=5 -x 164 -y 183 -w 892 -h 418 -d 25 -- out.gif
```
* `-d` — duration
Current gifs are created with `st`, `100x30`, `Inconsolata dz` size 16.
http://unix.stackexchange.com/questions/113695/gif-screencasting-the-unix-way
http://askubuntu.com/questions/4428/how-to-create-a-screencast
|