狠狠撸

狠狠撸Share a Scribd company logo
ttyrecからGIFアニメ 
を作る話 
2014.8.28 YAPC::Asia 2014 前夜祭 
すぎゃーん (@sugyan)
Self Introduction 
? ID: sugyan 
? Lang: Perl, JavaScript, Go, … 
? Location: Hikarie 
? Faction: Enlightened
ttyrec? 
“ttyrec is a tty recorder. Recorded 
data can be played back with the 
included ttyplay command.” 
2000-12-27: ttyrec 1.0 Released 
http://0xcc.net/ttyrec/index.html
何がしたいか 
? ターミナル操作を紹介したい 
? pecoなど便利なツールの良さを伝える 
? 実際の操作を見せるのが一番 
? blogに貼るにはGIFアニメがお手頃
既存のもの 
? LICEcap, Gifzo などのアプリケーション 
? 範囲を指定して録画、共有 
? とても汎用的 
? Linuxは…?
既存のもの 
? ttygif 
? https://github.com/icholy/ttygif 
? ttyrecの録画を再生しながらcapture 
? ImageMagickを使ってGIF生成
突然のGo 
? https://github.com/sugyan/ttygif 
? ttyplay & capture & generate GIF 
? ImageMagick依存なく全部Goで出来る 
? 作ってみたくなった
スクショ不要論 
“ttygifとその系列、端末マニアではない人の95%く 
らいのユースケースでは端末に依存するシーケンスと 
か流さないだろうし、色とかが微妙に違ってもそこが 
主眼じゃないと思うので、単純に内部に端末を持って 
ダイレクトにGIFを吐ければ良くて、いちいちスクリー 
ンショト取るの筋悪ではないの?”
スクショ不要論 
? さっそく作られた 
? https://github.com/saitoha/seq2gif 
? 自分でも作った 
? https://github.com/sugyan/ttyrec2gif
そしてWebへ 
? 全部、JavaScriptでも出来るのでは 
? ttyrecレコードの解析 
? 内部での端末エミュレート、描画 
? GIF生成
そしてWebへ 
? 全部、JavaScriptでも出来るのでは 
? https://github.com/chjj/term.js 
? https://github.com/niklasvh/html2canvas 
? https://github.com/jnordberg/gif.js
そしてWebへ 
? http://ttyrec2gif.herokuapp.com/ 
? Drag&Dropでttyrecordを受け取り 
? JavaScriptだけでGIF生成まで完結 
? デモ
そしてWebへ 
? Webを使う利点: UIを作りやすい 
? 色やサイズやフォントなどのカスタマイズ 
? Frameの間引きやDelay調整 
? 仕上がり確認や共有もしやすい
そしてWebへ 
? サーバ側がやること無い… 
? 成果物を保存するくらい?
引き続き作っていきます 
ご意見?アイデアなど お寄せください

More Related Content

迟迟测谤别肠から骋滨贵アニメを作る话