Skip to content

Convert a ttyrec record into a gif animation directly (almost vt102 compatible terminal emulation).

License

GPL-3.0 and 2 other licenses found

Licenses found

GPL-3.0
COPYING
Unknown
LICENSE.mplus
MIT
LICENSE.yaft
Notifications You must be signed in to change notification settings

saitoha/seq2gif

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

seq2gif

Build Status Coverage Status

Description

This software converts a sequences record file generated by ttyrec into a gif animation directly(without taking screenshots), by using portable built-in terminal emulation engine originated from yaft. yaft provides rare terminal emulation features such as SIXEL/DRCS.

Demo

Play sl.

img2sixel

Show SIXEL animation with img2sixel.

img2sixel

The following demo plays sl and records it with ttyrec, and converts that record into a GIF animation using seq2gif, and converts that GIF into a SIXEL animation and plays it with img2sixel. Furthermore, generates the log record of above experience using ttyrec, and converts that log into the following GIF animation.

ttyrec

Download

Source package and Windows binary is available.

Build and Install

This software works in Windows, Linux, BSDs and OSX. If you want to build windows native build, MinGW is required.

  $ ./configure
  $ make
  # make install

Packages

Usage

Usage: seq2gif [Options] < ttyrecord > record.gif
       seq2gif [Options] -i ttyrecord -o record.gif

Options:
-w WIDTH, --width=WIDTH                specify terminal width in cell size.
                                       (default: 80)
-h HEIGHT, --height=HEIGHT             specify terminal height in cell size.
                                       (default: 24)
-l DELAY, --last-frame-delay=DELAY     specify delay in msec which is added
                                       to the last frame. (default: 300)
-f COLORNO, --foreground-color=COLORNO specify foreground color palette.
                                       number.
-b COLORNO, --background-color=COLORNO specify background color palette
                                       number.
-c COLORNO, --cursor-color=COLORNO     specify cursor color palette
                                       number.
-t TABSTOP, --tabstop=TABSTOP          specify hardware tabstop(default: 8)
-j, --cjkwidth                         treat East Asian Ambiguous width
                                       characters (UAX#11) as wide.
-r COUNT, --repeat=COUNT               specify animation repeat count. loop
                                       infinitely if 0 is given. (default: 0)
-i FILE, --input=FILE                  specify input file name. use STDIN
                                       if '-' is given. (default: '-')
-o FILE, --output=FILE                 specify output file name. use STDOUT
                                       if '-' is given. (default: '-')
-V, --version                          show version and license information.
-H, --help                             show this help.
-I DELAY, --render-interval=DELAY      skip frames with smaller delays than
                                       DELAY specified in milliseconds.
                                       (default: 20)
-s NUM, --play-speed=NUM               specify the factor of the play speed.
                                       A larger value means faster play.
                                       (default: 1.0)
-p NAME, --palette16=NAME              specify a color palette name for the
                                       first 16 colors. NAME is one of the
                                       following names: 'vga', 'cmd', 'win',
                                       'powershell', 'app', 'putty', 'mirc',
                                       'xterm', 'ubuntu', and 'solarized',
                                       'solarized256'. (default: 'vga').

Acknowledgements

recterm

This program is derived from recterm written by haru (@uobikiemukot)

yaft

Some part of glyph data generator(glyph/*) is imported from yaft written by haru (@uobikiemukot)

gifsave89

GIF encoder (gifsave89.c) is imported from gifsave89 distributed under GPLv3+ by John Forkosh Associates, Inc.(john@forkosh.com)

milkjf

This package includes a milkjf font and its derivative(gryph/milkjf.h). Original milkjf font was designed by japanfarm (Nihon-Nouen) and used on Sharp X68000 series. Chisato Yamauchi converted milkjf font to bdf for X Window System. haru(@uobikiemukot) converted it to a C-styled header file.

M+ BITMAP FONTS

This package includes M+ Bitmap Font and its derivative(gryph/mplus.h).

License:

M+ BITMAP FONTS            Copyright 2002-2005  COZ <coz@users.sourceforge.jp>

LICENSE

These fonts are free softwares.
Unlimited permission is granted to use, copy, and distribute it, with
or without modification, either commercially and noncommercially.
THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY.

GNU Unifont

This package includes GNU Unifont Glyphs and its derivative(gryph/unifont.h).

License: GPLv2+ http://unifoundry.com/LICENSE.txt

M+ BITMAP FONTS            Copyright 2002-2005  COZ <coz@users.sourceforge.jp>

LICENSE

These fonts are free softwares.
Unlimited permission is granted to use, copy, and distribute it, with
or without modification, either commercially and noncommercially.
THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY.

M+ BITMAP FONTS

This package includes a C header file derived from M+ font(gryph/mplus.h).

Markus Kuhn's wcwidth

This package includes Markus Kuhn's wcwidth(mk_wcwidth)

Markus Kuhn -- 2007-05-26 (Unicode 5.0)

Permission to use, copy, modify, and distribute this software
for any purpose and without fee is hereby granted. The author
disclaims all warranties with regard to this software.

Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c

Contributors

Similar Software

This also generates GIF animation without taking screenshots, written in Go. Using j4k.co/terminal as terminal emulation engine(). It is derived from sugyan/ttygif.

Additional tools which uses yaft terminal emulation engine, distributed with uobikiemukot/recterm.

References

A tty recorder.

A Windows port for ttyrec written in Go.

License

GPLv3

About

Convert a ttyrec record into a gif animation directly (almost vt102 compatible terminal emulation).

Resources

License

GPL-3.0 and 2 other licenses found

Licenses found

GPL-3.0
COPYING
Unknown
LICENSE.mplus
MIT
LICENSE.yaft

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 98.8%
  • Other 1.2%