# ttygif
A full featured text to gif conversion utility, that just works. It's in beta, so expect rough edges.
## Why use ttygif?
- its fast, and easy to install
- can be used with a pipe
- it can be scripted
- it can read asciicast files
- it runs headless
- perfect fit for CI/CD
- works with python 2 and 3
- works on linux, mac, raspberry PI
## easy install
```bash
## requirements gcc and python development libs
pip install ttygif --user
```
## dev install
This will pull the project and submodule assets from github.
```
git clone https://github.com/chris17453/ttygif.git
cd ttygif
make pull-assets
```
## dev build
```bash
pipenv shell
make build
```
## It's portable
ttygif is self contained with no dependencys other than python. GIF encoding
and termal emulation are both implimented with internal cython code. No system
fonts are required. All you need to get ttygif to work is a c compiler,
python and its development libs. ttygif is a cython project.
## usage
```
ttygif version [1.2.175]
- Compiled against Python: 3.9.6 (default, Jul 16 2021, 00:00:00) [GCC 11.1.1 20210531 (Red Hat 11.1.1-3)]
usage: ttygif [-h] [--input FILE] [--output FILE] [--loop COUNT] [--delay MS] [--record FILE] [--font NAME] [--theme THEME]
[--dilation RATE] [--fps FPS] [--columns WIDTH] [--rows HEIGHT] [--debug]
tty output to gif
optional arguments:
-h, --help show this help message and exit
--input FILE, -i FILE
asciinema .cast file (default: None)
--output FILE, -o FILE
gif output file. will default to ttygif-xx (default: None)
--loop COUNT, -l COUNT
number of loops to play, 0=unlimited (default: 0)
--delay MS, -d MS delay before restarting gif in milliseconds (default: 100)
--font NAME, -f NAME which internal font to use (default: None)
--theme THEME, -t THEME
load custom theme: game,windows7,mac,fwdm (default: default)
--dilation RATE process events at a faster or slower rate of time (default: 1)
--fps FPS encode at (n) frames per second (0-25) 0=speed of cast file, min 3ms (default: 0)
--columns WIDTH, -c WIDTH
change character width of gif, default is 80 or what is in the cast file (default: None)
--rows HEIGHT, -r HEIGHT
change character height of gif, default is 25 or what is in the cast file (default: None)
--debug show debuging statistics (default: None)
```
## themes
Theming is based on the idea of branding your work for display in project repositories, ci/cd and online.
### theme support
- user directory. custom themes can be placed in the user directory under '~/.ttygif'
- layers above and below the terminal image
- transparency in layers
- layers can be 1:1, 9slice (scale and tiled)
- layers support cropping and positioning
- palettes are defined by themes
- all layers are mapped to this palette
### shipped themes
- default (256 color xterm palette)
- default-4bit (16 colorxterm palette)
- default-2bit (monochrome palette)
- windows7 (windows style wrapped terminal)
- game (8 bit inspired frame)
- mac (mac styled window)
- fwdm (old linux style window)
- scripted (bottom bar with text)
- opensouirce (bottom bar with text)
- bar (bottom bar with NO text)
## file size
Gif's are not the best compresed video format, however ttygif has all ability the format allows.
Bit reduction results in slightly smaller files For example The folowing table is made from the htop example:
- Specs: 79 frames at 1 FPS for 13.5 seconds
| COLORS | Bit Depth | Size | Change |
|--------|-----------|------|--------|
| 256 | 8 | 189k | 0% |
| 16 | 4 | 175k | 7.5% |
2 | 2 | 133k | 29.7% |
## cast file to gif
```bash
ttygif --input 232377.cast --output ls_pipe.gif --fps=33
```
## pipe to gif
```bash
ls -lhatsR | ttygif --output ls_pipe.gif --fps=0
```
## slow down gif
```bash
ls -lhatsR | ttygif --output ls_pipe.gif --fps=0 --dilate 10
```
## speed up gif
```bash
ls -lhatsR | ttygif --output ls_pipe.gif --fps=0 --dilate .5
```
## Supported fonts
- All fonts came from [https://int10h.org/oldschool-pc-fonts](https://int10h.org/oldschool-pc-fonts/)
- copyright FON conversion © 2015 VileR, license: CC BY-SA 4.0
- ttygif supports the "fd" font format. Basicly text files.
- All .FON files have been exported to fd files for portability.
- All fonts are copyright of their perspective owners, not me.
- default font=Verite_9x16
- AMI_BIOS
- ![AMI_BIOS](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/AMI_BIOS.gif)
- AmstradPC1512
- ![AmstradPC1512](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/AmstradPC1512.gif)
- ATI_8x14
- ![ATI_8x14](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/ATI_8x14.gif)
- ATI_8x16
- ![ATI_8x16](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/ATI_8x16.gif)
- ATI_8x8
- ![ATI_8x8](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/ATI_8x8.gif)
- ATI_9x14
- ![ATI_9x14](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/ATI_9x14.gif)
- ATI_9x16
- ![ATI_9x16](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/ATI_9x16.gif)
- ATI_SmallW_6x8
- ![ATI_SmallW_6x8](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/ATI_SmallW_6x8.gif)
- ATT_PC6300
- ![ATT_PC6300](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/ATT_PC6300.gif)
- CompaqThin_8x14
- ![CompaqThin_8x14](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/CompaqThin_8x14.gif)
- CompaqThin_8x16
- ![CompaqThin_8x16](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/CompaqThin_8x16.gif)
- CompaqThin_8x8
- ![CompaqThin_8x8](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/CompaqThin_8x8.gif)
- DTK_BIOS
- ![DTK_BIOS](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/DTK_BIOS.gif)
- IBM_3270pc
- ![IBM_3270pc](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_3270pc.gif)
- IBM_BIOS
- ![IBM_BIOS](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_BIOS.gif)
- IBM_CGA
- ![IBM_CGA](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_CGA.gif)
- IBM_CGAthin
- ![IBM_CGAthin](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_CGAthin.gif)
- IBM_Conv
- ![IBM_Conv](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_Conv.gif)
- IBM_EGA8
- ![IBM_EGA8](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_EGA8.gif)
- IBM_EGA9
- ![IBM_EGA9](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_EGA9.gif)
- IBM_ISO8
- ![IBM_ISO8](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_ISO8.gif)
- IBM_ISO9
- ![IBM_ISO9](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_ISO9.gif)
- IBM_MDA
- ![IBM_MDA](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_MDA.gif)
- IBM_PGC
- ![IBM_PGC](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_PGC.gif)
- IBM_PS2thin1
- ![IBM_PS2thin1](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_PS2thin1.gif)
- IBM_PS2thin2
- ![IBM_PS2thin2](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_PS2thin2.gif)
- IBM_PS2thin3
- ![IBM_PS2thin3](https://raw.githubusercontent.com/chris17453/ttygif-assets/master/fonts/preview/IBM_PS2thin3.gif)
- IBM_PS2thin4
- ![IBM_PS2thin4](https://raw.githubusercontent.com/chris1
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
资源分类:Python库 所属语言:Python 资源全名:ttygif-1.2.209.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
资源推荐
资源详情
资源评论
收起资源包目录
Python库 | ttygif-1.2.209.tar.gz (135个子文件)
parser.c 907KB
image.c 597KB
stream.c 597KB
cast2gif.c 586KB
image.c 553KB
theme.c 517KB
terminal_graphics.c 453KB
decode.c 388KB
encode.c 363KB
graphics.c 362KB
terminal_emulator.c 350KB
color_table.c 340KB
font.c 333KB
canvas.c 332KB
display_state.c 304KB
image_descriptor.c 296KB
header.c 291KB
graphics_control_extension.c 288KB
application_extension.c 283KB
reader.c 247KB
PlainTextExtension.c 232KB
gif.c 216KB
CommentExtension.c 199KB
passthrough.c 196KB
trailer.c 190KB
version.c 98KB
setup.cfg 38B
Wyse700a-2y.fd 141KB
Wyse700b-2y.fd 141KB
Wyse700a.fd 73KB
VGA_SquarePx.fd 47KB
Verite_9x16.fd 45KB
IBM_ISO9.fd 45KB
IBM_VGA9.fd 45KB
ATI_9x16.fd 45KB
CompaqThin_8x16.fd 41KB
ToshibaLCD_8x16.fd 41KB
PhoenixEGA_8x16.fd 41KB
IBM_PS2thin2.fd 41KB
IBM_PS2thin1.fd 41KB
IBM_PS2thin4.fd 41KB
IBM_PS2thin3.fd 41KB
Verite_8x16.fd 41KB
ATT_PC6300.fd 41KB
IBM_VGA8.fd 41KB
ATI_8x16.fd 41KB
IBM_ISO8.fd 41KB
IBM_PGC.fd 41KB
PhoenixEGA_9x14.fd 40KB
TandyNew_Mono.fd 40KB
Verite_9x14.fd 40KB
IBM_3270pc.fd 40KB
IBM_EGA9.fd 40KB
ATI_9x14.fd 40KB
IBM_MDA.fd 40KB
CompaqThin_8x14.fd 36KB
PhoenixEGA_8x14.fd 36KB
Verite_8x14.fd 36KB
ATI_8x14.fd 36KB
IBM_EGA8.fd 36KB
TandyOld_225.fd 25KB
TandyNew_225.fd 25KB
ToshibaLCD_8x8.fd 23KB
PhoenixEGA_8x8.fd 23KB
CompaqThin_8x8.fd 23KB
AmstradPC1512.fd 23KB
Phoenix_BIOS.fd 23KB
TandyOld_TV.fd 23KB
IBM_CGAthin.fd 23KB
TandyNew_TV.fd 23KB
Verite_8x8.fd 23KB
VTech_BIOS.fd 23KB
IBM_Conv.fd 23KB
AMI_BIOS.fd 23KB
ITT_BIOS.fd 23KB
Kaypro2K.fd 23KB
IBM_BIOS.fd 23KB
DTK_BIOS.fd 23KB
IBM_CGA.fd 23KB
ATI_8x8.fd 23KB
ATI_SmallW_6x8.fd 19KB
bar.gif 8KB
opensource.gif 7KB
scripted.gif 7KB
alert.gif 5KB
fwdm.gif 3KB
windows7-dialog.gif 2KB
game.gif 1KB
mac-light-controls.gif 946B
mac-light.gif 823B
windows7-dialog-controls.gif 255B
MANIFEST.in 112B
README.md 16KB
PKG-INFO 20KB
PKG-INFO 20KB
underlay.py 397KB
canvas.py 11KB
setup.py 7KB
encode.py 6KB
color_table.py 5KB
共 135 条
- 1
- 2
资源评论
挣扎的蓝藻
- 粉丝: 14w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功