VHS - ターミナルのGIFアニメ画像を作成できるコマンドラインツール

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20221115 161858

統合テストやCLIツールのデモのために、ターミナルの様子をGIFアニメとして保存することができるコマンドラインツール「VHS」が公開されています。

VHSはただ単にターミナルの様子を録画するわけではなく、文字や矢印キー、スペシャルキーの入力をエミュレートして実行し、その様子を.gifファイルに保存する事ができます。

ターミナルの操作を自動化して実行することができるため、何回でも同じ手順を繰り返すことができます。

プログラム自体はGo言語で作られており、Winows/macOS/Linuxなど、幅広い環境で動作します。
以下使用方法を説明します。

目次

VHSの使用方法

VHSは、macOS、Linux、Winowsで使用できます。

macOSでHomebrewを使っている場合は、以下のコマンドを実行してインストールします。

brew install charmbracelet/tap/vhs ffmpeg
brew install ttyd --HEAD

MacPortsを使ってインストールすることもできます。

sudo port install vhs

その他の環境に関しては公式サイトでご確認ください。

vhsコマンドが使えるようになったら、以下の手順でデモを試してみます。

まず新しい.tapeファイル(vhsが利用できるコマンドや設定を羅列したファイル)を作成します。

vhs new demo.tape

viなど好みのエディタでdemo.tapeファイルを開きます。

vim demo.tape

内容を次のように変更します。

# Where should we write the GIF?
Output demo.gif

# Set up a 1200x600 terminal with 46px font.
Set FontSize 46
Set Width 1200
Set Height 600

# Type a command in the terminal.
Type "echo 'Welcome to VHS!'"

# Pause for dramatic effect...
Sleep 500ms

# Run the command by pressing enter.
Enter

# Admire the output for a bit.
Sleep 5s

編集が終わったら以下のコマンドを実行して、demo.gifを作成します。Outputで出力ファイル名を変更することもできます。

vhs < demo.tape

実際に作成されたファイルが以下となります。

Demo

ターミナルに「echo 'Welcome to VHS!'」という文字を入力し、エンターキーを押すと、「Welcome to VHS!」という結果が表示される様子が確認できます。

VHSで利用できるコマンドはCommand Referenceにまとめられています。

  • Output <path>: specify file output
  • Require <program>: specify required programs for tape file
  • Set <Setting> Value: set recording settings
  • Type "<characters>": emulate typing
  • Left Right Up Down: arrow keys
  • Backspace Enter Tab Space: special keys
  • Ctrl+<char>: press control + key
  • Sleep <time>: wait for a certain amount of time
  • Hide: hide commands from output
  • Show: stop hiding commands from output

その他多数のサンプルがこちらで確認可能です。

まとめ

ターミナルのGIFアニメ画像を作成できるコマンドラインツール「VHS」を紹介しました。デモやチュートリアルの作成といった実用的な用途のほか、SF映画(マトリックスなど)に登場するターミナルを再現するという興味深い試みも行われています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次