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 度重なるブログ移転・ブログシステムのアップデートにより崩れた記事を校正。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください