cacaview について
何だか今更感はあるのですが cacaview コマンドは、libcaca というグラフィックフィルタライブラリをインストールすると付いてくる、軽量のアスキーベース画像ビューアです。
電車の待ち時間など、ちょっとした空き時間にスマホの SSH コンソールで自宅サーバのハードディスクの整理をする時になどに便利。
サーバ側にインストールしておくと、エスケープシーケンスや色を処理出来るちゃんとしたターミナルならば、どこでも画像を表示出来ます。
Debian や Ubuntu の場合、インストールはいつもどおり apt コマンドから行えます。
$ sudo aptitude install libcaca
インストールすると、cacaview コマンドが PATH が通った位置に配置され、使用可能になります。
$ cacaview ~/pict/*.jpg
(実行画像はリンク切れです。)
起動時に複数のファイルパスを渡すと、n / p キーで、次の画像/前の画像といった表示をする事が出来ます。
ガンマ調整、拡大縮小も備えているので、( 少なくとも一度、画像を見て意図的に保存したものであれば ) 何の画像なのかがよく分かります。
キーバインドはビューア画面に常に表示されています。
| キー | 機能 |
| +/- | 拡大・縮小 |
| n/p | 次の画像・前の画像 |
| g/G | ガンマ補正 |
| hjkl | 上下左右に移動 |
| カーソル | 同上 |
| d | ディザリング調整 |
| a | アンチエイリアス |
| ? | ヘルプ |
| q | 終了 |
また、「コンソール経由でファイル整理をしているんだけれども、何の動画だったか分からない」なんて時には、mplayer のビデオフィルタに libcaca を指定してやると、動画もテキストベースで描写してくれます。
$ mplayer -vo caca video.mp4
再生中はもちろん、一時停止、早送り、コマ送りなどの mplayer キーバインドが使えます。
音声はホストマシン上でしか再生されないので、-nosound でいいかもしれません。
サムネイルを吐かせて cacaview でまじまじと閲覧、なんて方法もありますが、ファイル整理時の確認程度であれば、こちらの方がお手軽。
現時点ではまず、ターミナルの描写性能が動画のフレームレートに追いつく事はないので、あくまでも内容確認用という事で。
2011/10/11追記
MOTD にエスケープシーケンスを多様したテキストアートを表示したい場合など、ビューアとしてではなく単純に標準出力に吐いてくれるコマンドは img2txt。うさげは次のとおり。
Usage: img2txt [OPTIONS]... <IMAGE>
Convert IMAGE to any text based available format.
Example : img2txt -w 80 -f ansi ./caca.png
Options:
-h, --help This help
-v, --version Version of the program
-W, --width=WIDTH Width of resulting image
-H, --height=HEIGHT Height of resulting image
-x, --font-width=WIDTH Width of output font
-y, --font-height=HEIGHT Height of output font
-b, --brightness=BRIGHTNESS Brightness of resulting image
-c, --contrast=CONTRAST Contrast of resulting image
-g, --gamma=GAMMA Gamma of resulting image
-d, --dither=DITHER Dithering algorithm to use :
none: no dithering
ordered2: 2x2 ordered dithering
ordered4: 4x4 ordered dithering
ordered8: 8x8 ordered dithering
random: random dithering
fstein: Floyd-Steinberg dithering
-f, --format=FORMAT Format of the resulting image :
caca: native libcaca format
ansi: ANSI
utf8: UTF-8 with ANSI escape codes
utf8cr: UTF-8 with ANSI escape codes and MS-DOS \r
html: HTML
html3: backwards-compatible HTML
bbfr: BBCode (French)
irc: IRC with mIRC colours
ps: PostScript document
svg: SVG vector image
tga: TGA image
troff: troff source
※ 2020/07/02 度重なるブログ移転・ブログシステムのアップデートにより崩れた記事を校正。