terminalizer - 录制终端生成 gif


一、关于 terminalizer

🦄录制您的终端并生成动画gif图像或共享网络播放器


效果展示

img

Built to be jusT cOol 👌🦄 !

如果你这么认为,支持我star和一个follow😘


特点

  • 高度可定制。
  • 跨平台(Linux、Windows、MacOS)。
  • 自定义window frames
  • 自定义font
  • 自定义colors
  • 自定义stylesCSS
  • 水印。
  • 在渲染前编辑帧并调整延迟。
  • 通过阶跃值跳过帧以减少渲染帧的数量。
  • 渲染带有文本的图像,而不是捕获屏幕以获得更好的质量。
  • 包含以下配置
    • 要捕获的命令(bash、powershell. exe、yourOwnCommand等)
    • 当前工作目录。
    • 列和行数的显式值。
    • GIF质量和重复。
    • 帧延迟。
    • 帧之间的最大空闲时间。
    • 光标样式。
    • 字体。
    • 字体大小。
    • 线高度。
    • 字母行间距。
    • 主题。

下一步是什么?

  • 用于为录制文件生成网络播放器的Generate命令。
  • 支持apt-getyumbrew安装。

二、安装

您需要先安装Node. js,然后使用以下命令全局安装该工具:

yarn global add terminalizer

img

仍然面临问题?检查问题部分或打开一个新问题。

使用Node. js v4-v16安装应该非常流畅。对于较新的版本,如果安装失败,您可能需要安装开发工具来构建C++的附加组件。检查node-gyp


三、基本入门

开始使用record命令记录终端。

terminalizer record demo

将在当前目录中创建一个名为demo.yml的文件。您可以使用任何编辑器打开它来编辑配置和录制的帧。您可以使用play命令重放录音。

terminalizer play demo

现在让我们将录音渲染为动画gif。

terminalizer render demo

压缩

GIF压缩尚未实现。现在我们建议https://gifcompressor.com


四、使用

您可以使用--help选项获取有关命令及其选项的更多详细信息

terminalizer <command> [options]

Init

创建全局配置目录

terminalizer init

配置

在当前目录下生成配置文件

terminalizer config

记录

录制您的终端并创建录制文件

terminalizer record <recordingFile>

选项

-c, --config        Overwrite the default configurations                                  [string]
-d, --command       The command to be executed                            [string] [default: null]
-k, --skip-sharing  Skip sharing and showing the sharing prompt message [boolean] [default: false]

例子

terminalizer record foo                      Start recording and create a recording file called foo.yml
terminalizer record foo --config config.yml  Start recording with your own configurations

播放

在您的终端上播放录音文件

terminalizer play <recordingFile>

选项

-r, --real-timing   Use the actual delays between frames as recorded        [boolean] [default: false]
-s, --speed-factor  Speed factor, multiply the frames delays by this factor [number] [default: 1]

渲染

将录制文件渲染为动画gif图像

terminalizer render <recordingFile>

选项

-o, --output   A name for the output file                                      [string]
-q, --quality  The quality of the rendered image (1 - 100)                     [number]
-s, --step     To reduce the number of rendered frames (step > 1) [number] [default: 1]

分享

上传录音文件并获取在线播放器的链接

terminalizer share <recordingFile>

生成

为录制文件生成网络播放器

terminalizer generate <recordingFile>

五、配置

默认config.yml文件存储在项目的根目录下。执行以下命令将其复制到当前目录。

使用任何编辑器编辑复制的config.yml,然后使用-c选项覆盖默认选项。

terminalizer config

建议使用init命令创建要使用的全局配置文件,而不是默认配置文件。

terminalizer init

对于Linux和MacOS,创建的目录位于主目录~/config/terminalizer下。对于Windows,它位于AppData下。


录制

  • command:指定要执行的命令,如/bin/bash -lls或任何其他命令。Linux的默认bashWindowspowershell.exe
  • cwd:指定当前工作目录路径。默认为当前工作目录路径。
  • env:导出其他ENV变量,以便在开始录制时由脚本读取。
  • cols: 显式设置列数或使用auto获取shell的当前列数。
  • rows:显式设置行数或使用auto获取shell的当前行数。

延时

  • frameDelay: 帧之间的延迟,以毫秒为单位。如果值是auto使用实际记录延迟。
  • maxIdleTime:帧之间的最大延迟(以毫秒为单位)。如果frameDelay未设置为auto,则忽略。设置为auto以防止限制最大空闲时间。

GIF

  • quality: 生成的GIF图像的质量(1-100)。
  • repeat :
    • 如果值为-1,玩一次。
    • 如果值为0,则无限期循环。
    • 如果value是正数,循环n次。

终端

  • cursorStyle:光标样式可以是blockunderlinebar之一。
  • fontFamily:您可以使用安装在您的机器上的任何字体,如MonacoLucida Console(类似CSS的列表)。
  • fontSize:字体的大小(以像素为单位)。
  • lineHeight:以像素为单位的线的高度。
  • letterSpacing的字母行间距。

主题

您可以使用以下CSS格式之一设置终端的颜色:

  • 十六进制:#FFFFFF
  • RGB: rgb(255, 255, 255).
  • HSL: hsl(0, 0%, 100%).
  • Name: white, red, blue.

您也可以使用transparent值。


分配给终端颜色的默认颜色是:

  • background: #ffffff transparent

  • foreground: #afafaf #afafaf

  • cursor: #c7c7c7 #c7c7c7

  • black: #232628 #232628

  • red: #fc4384 #fc4384

  • green: #b3e33b #b3e33b

  • yellow: #ffa727 #ffa727

  • blue: #75dff2 #75dff2

  • magenta: #ae89fe #ae89fe

  • cyan: #708387 #708387

  • white: #d5d5d0 #d5d5d0

  • brightBlack: #626566 #626566

  • brightRed: #ff7fac #ff7fac

  • brightGreen: #c8ed71 #c8ed71

  • brightYellow: #ebdf86 #ebdf86

  • brightBlue: #75dff2 #75dff2

  • brightMagenta: #ae89fe #ae89fe

  • brightCyan: #b1c6ca #b1c6ca

  • brightWhite: #f9f9f4 #f9f9f4


水印

您可以在生成的GIF图像中添加水印徽标。

img

watermark:
  imagePath: AbsolutePathOrURL
  style:
    position: absolute
    right: 15px
    bottom: 15px
    width: 100px
    opacity: 0.9

  • watermark.imagePath:机器上图像或URL的绝对路径。
  • watermark.style:将CSS样式(camelCase)应用于水印图像,例如调整大小。

Frame Box

Terminalizer带有预定义的帧,您可以使用这些帧使您的GIF图像看起来很酷。

  • frameBox.type:可以是nullwindowfloatingsolid
  • frameBox.title:显示框架的标题或null
  • frameBox.style:应用自定义CSS样式或覆盖当前样式。

空帧

没有框架,只有你的录音。

img

不要忘记在backgroundColor下添加style

frameBox:
  type: null
  title: null
  style:
    backgroundColor: black

Window Frame

在这里插入图片描述

frameBox:
  type: window
  title: Terminalizer
  style: []

浮动Frame

在这里插入图片描述

frameBox:
  type: floating
  title: Terminalizer
  style: []

实心 Frame

img

frameBox:
  type: solid
  title: Terminalizer
  style: []

没有标题的实心Frame

img

frameBox:
  type: solid
  title: null
  style: []

Styling Hint

您可以禁用默认阴影和边距。

frameBox:
  type: solid
  title: null
  style:
    boxShadow: none
    margin: 0px

六、FAQ & Issues


如何支持ZSH

记录Linux的默认命令是bash -l。您需要将默认命令更改为zsh

  • 在当前目录下生成配置文件
terminalizer config

  • 在首选编辑器中打开生成的配置文件。
  • command更改为zsh
command: zsh

  • 您可能需要更改字体,请检查终端中使用的字体:
fontFamily: "Meslo for Powerline, Meslo LG M for Powerline"

  • 使用-c选项覆盖配置文件:
terminalizer record demo -c config.yml

Issues

加载共享库时出错:libXss.so.1:无法打开共享对象文件:没有这样的文件或目录

解决方案:

sudo yum install libXScrnSaver

加载共享库时出错:libgconf-2.so.4:无法打开共享目标文件:没有这样的文件或目录

解决方案:

sudo apt-get install libgconf-2-4

错误:EACCES:权限被拒绝,访问“/usr/local/lib”

解决方案:

sudo mkdir -p /usr/local/lib/node_modules && sudo chown -R $(whoami):$(whoami) /usr/local/lib/node_modules

# then use the install command in the "Installation" section above
yarn global add terminalizer

2024-09-28(六)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI工程仔

请我喝杯伯爵奶茶~!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值