Suche senden
Hochladen
ttyrecからGIFアニメを作る話
•
2 gefällt mir
•
3,217 views
Yoshihiro Sugi
Folgen
2014.8.28 YAPC::Asia 2014 前夜祭
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 15
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
MicroPython + ESP32
MicroPython + ESP32
Takuya Nishimoto
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
Unite2017Tokyo
Pythonのシグナル処理
Pythonのシグナル処理
Atsuo Ishimoto
コンテナホスティングサービス「jaisting」開発に至るまで
コンテナホスティングサービス「jaisting」開発に至るまで
Tatsuya Yagi
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
Yutaka Kato
電子工作のためのPython
電子工作のためのPython
Takuya Nishimoto
Nishimoto 170603-mruby
Nishimoto 170603-mruby
Takuya Nishimoto
Empfohlen
MicroPython + ESP32
MicroPython + ESP32
Takuya Nishimoto
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
【Unite 2017 Tokyo】WebGL:ゲームプラットフォームとしてのWebと現在と未来
Unite2017Tokyo
Pythonのシグナル処理
Pythonのシグナル処理
Atsuo Ishimoto
コンテナホスティングサービス「jaisting」開発に至るまで
コンテナホスティングサービス「jaisting」開発に至るまで
Tatsuya Yagi
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
Yutaka Kato
電子工作のためのPython
電子工作のためのPython
Takuya Nishimoto
Nishimoto 170603-mruby
Nishimoto 170603-mruby
Takuya Nishimoto
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython
Takuya Nishimoto
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
蛇を埋葬する(PythonをEmbedする)
蛇を埋葬する(PythonをEmbedする)
Shintarou Okada
Corona Handson vol.2 #4
Corona Handson vol.2 #4
Tetsuo Ono
PyCharm入門
PyCharm入門
Yuki Nagai
Analog Devices の IP コアを使う
Analog Devices の IP コアを使う
ryos36
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
ryos36
Python & PyConJP 2014 Report
Python & PyConJP 2014 Report
gree_tech
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
Yoshifumi Kawai
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
小学生でも分かった気になるiOS8のSize Class
小学生でも分かった気になるiOS8のSize Class
今城 善矩
分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大
Kazuki Aranami
From Device to Data Center to Insights
From Device to Data Center to Insights
DataWorks Summit/Hadoop Summit
UUID
UUID
Tomoki YAMASHITA
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
Dmitry Soshnikov
Uuidはどこまでuuidか試してみた
Uuidはどこまでuuidか試してみた
Yu Yamada
Open Source and the Internet of Things
Open Source and the Internet of Things
Black Duck by Synopsys
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
mganeko
Apache NiFi- MiNiFi meetup Slides
Apache NiFi- MiNiFi meetup Slides
Isheeta Sanghi
Why Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your Shell
jaguardesignstudio
Weitere ähnliche Inhalte
Was ist angesagt?
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
Hironori Sekine
210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython
Takuya Nishimoto
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
蛇を埋葬する(PythonをEmbedする)
蛇を埋葬する(PythonをEmbedする)
Shintarou Okada
Corona Handson vol.2 #4
Corona Handson vol.2 #4
Tetsuo Ono
PyCharm入門
PyCharm入門
Yuki Nagai
Analog Devices の IP コアを使う
Analog Devices の IP コアを使う
ryos36
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
ryos36
Python & PyConJP 2014 Report
Python & PyConJP 2014 Report
gree_tech
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
Yoshifumi Kawai
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
Was ist angesagt?
(12)
Pythonによる非同期プログラミング入門
Pythonによる非同期プログラミング入門
210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython
次世代言語 Python による PyPy を使った次世代の処理系開発
次世代言語 Python による PyPy を使った次世代の処理系開発
蛇を埋葬する(PythonをEmbedする)
蛇を埋葬する(PythonをEmbedする)
Corona Handson vol.2 #4
Corona Handson vol.2 #4
PyCharm入門
PyCharm入門
Analog Devices の IP コアを使う
Analog Devices の IP コアを使う
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
PYNQ 祭り: Pmod のプログラミング
PYNQ 祭り: Pmod のプログラミング
Python & PyConJP 2014 Report
Python & PyConJP 2014 Report
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Andere mochten auch
小学生でも分かった気になるiOS8のSize Class
小学生でも分かった気になるiOS8のSize Class
今城 善矩
分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大
Kazuki Aranami
From Device to Data Center to Insights
From Device to Data Center to Insights
DataWorks Summit/Hadoop Summit
UUID
UUID
Tomoki YAMASHITA
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
Dmitry Soshnikov
Uuidはどこまでuuidか試してみた
Uuidはどこまでuuidか試してみた
Yu Yamada
Open Source and the Internet of Things
Open Source and the Internet of Things
Black Duck by Synopsys
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
mganeko
Apache NiFi- MiNiFi meetup Slides
Apache NiFi- MiNiFi meetup Slides
Isheeta Sanghi
Why Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your Shell
jaguardesignstudio
OSS についてあれこれ
OSS についてあれこれ
Takuto Wada
Andere mochten auch
(11)
小学生でも分かった気になるiOS8のSize Class
小学生でも分かった気になるiOS8のSize Class
分散システムにおけるUUID(汎用一意識別子)の利用拡大
分散システムにおけるUUID(汎用一意識別子)の利用拡大
From Device to Data Center to Insights
From Device to Data Center to Insights
UUID
UUID
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
HelsinkiJS meet-up. Dmitry Soshnikov - ECMAScript 6
Uuidはどこまでuuidか試してみた
Uuidはどこまでuuidか試してみた
Open Source and the Internet of Things
Open Source and the Internet of Things
Node.js with WebRTC DataChannel
Node.js with WebRTC DataChannel
Apache NiFi- MiNiFi meetup Slides
Apache NiFi- MiNiFi meetup Slides
Why Zsh is Cooler than Your Shell
Why Zsh is Cooler than Your Shell
OSS についてあれこれ
OSS についてあれこれ
Ähnlich wie ttyrecからGIFアニメを作る話
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介
エピック・ゲームズ・ジャパン Epic Games Japan
PythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEG
Jun Okazaki
一年ツイッター
一年ツイッター
XMLProJ2014
Pyramid + socket.io 人狼を作ってみた
Pyramid + socket.io 人狼を作ってみた
Junya Hayashi
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
Takako Miyagawa
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
DQNEO
Seeing is Believing
Seeing is Believing
Shibao Kouichiro
210728 mpy
210728 mpy
Takuya Nishimoto
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
Gstreamer Basics
Gstreamer Basics
Seiji Hiraki
Gnomeとdogtai
Gnomeとdogtai
Masami Ichikawa
Python用ゲームエンジンPyxelで遊んでみた
Python用ゲームエンジンPyxelで遊んでみた
Hirofumi Watanabe
Cyma gdc2011 tabc報告
Cyma gdc2011 tabc報告
fumoto kazuhiro
TFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_Mobile
yusuke shibui
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
Takuya Nishimoto
とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)
とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)
mecha mogera
スクレイピングとPython
スクレイピングとPython
Hironori Sekine
ゲーム開発者向けPythonセミナー(2018年06月20日)
ゲーム開発者向けPythonセミナー(2018年06月20日)
Ryo Takahashi
Introduction about Tizen on Open Seminor Kagawa 2012
Introduction about Tizen on Open Seminor Kagawa 2012
Yuya Adachi
女子美術大学メディアアート演習ⅡB 2012 Spring 第10回 2/2
女子美術大学メディアアート演習ⅡB 2012 Spring 第10回 2/2
Satoru Tokuhisa
Ähnlich wie ttyrecからGIFアニメを作る話
(20)
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介
Unreal engine4を使ったVRコンテンツ製作で 120%役に立つtips集+GDC情報をご紹介
PythonのGUI_2018 with NSEG
PythonのGUI_2018 with NSEG
一年ツイッター
一年ツイッター
Pyramid + socket.io 人狼を作ってみた
Pyramid + socket.io 人狼を作ってみた
gitを使って、レポジトリの一部抽出forkしてみました
gitを使って、レポジトリの一部抽出forkしてみました
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
Seeing is Believing
Seeing is Believing
210728 mpy
210728 mpy
「Python言語」はじめの一歩 / First step of Python
「Python言語」はじめの一歩 / First step of Python
Gstreamer Basics
Gstreamer Basics
Gnomeとdogtai
Gnomeとdogtai
Python用ゲームエンジンPyxelで遊んでみた
Python用ゲームエンジンPyxelで遊んでみた
Cyma gdc2011 tabc報告
Cyma gdc2011 tabc報告
TFLite_and_PyTorch_Mobile
TFLite_and_PyTorch_Mobile
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)
とっとるびー第29回発表資料(RICOH THETAの全天球画像を部分転送して遠隔地のOculusでみる)
スクレイピングとPython
スクレイピングとPython
ゲーム開発者向けPythonセミナー(2018年06月20日)
ゲーム開発者向けPythonセミナー(2018年06月20日)
Introduction about Tizen on Open Seminor Kagawa 2012
Introduction about Tizen on Open Seminor Kagawa 2012
女子美術大学メディアアート演習ⅡB 2012 Spring 第10回 2/2
女子美術大学メディアアート演習ⅡB 2012 Spring 第10回 2/2
Mehr von Yoshihiro Sugi
ドルヲタ活動報告
ドルヲタ活動報告
Yoshihiro Sugi
ドルヲタを支える技術 2
ドルヲタを支える技術 2
Yoshihiro Sugi
ドルヲタを支える技術
ドルヲタを支える技術
Yoshihiro Sugi
Hokkaido.pm #6 LT
Hokkaido.pm #6 LT
Yoshihiro Sugi
Yokohama.pm #8 LT
Yokohama.pm #8 LT
Yoshihiro Sugi
TerminalでTwitter
TerminalでTwitter
Yoshihiro Sugi
全裸botと私
全裸botと私
Yoshihiro Sugi
僕とjava-ja
僕とjava-ja
Yoshihiro Sugi
全裸でワンライナー(仮)
全裸でワンライナー(仮)
Yoshihiro Sugi
ワンライナーのための何か(仮)
ワンライナーのための何か(仮)
Yoshihiro Sugi
Genesis200904
Genesis200904
Yoshihiro Sugi
Genesis200902 sugyan
Genesis200902 sugyan
Yoshihiro Sugi
Mehr von Yoshihiro Sugi
(12)
ドルヲタ活動報告
ドルヲタ活動報告
ドルヲタを支える技術 2
ドルヲタを支える技術 2
ドルヲタを支える技術
ドルヲタを支える技術
Hokkaido.pm #6 LT
Hokkaido.pm #6 LT
Yokohama.pm #8 LT
Yokohama.pm #8 LT
TerminalでTwitter
TerminalでTwitter
全裸botと私
全裸botと私
僕とjava-ja
僕とjava-ja
全裸でワンライナー(仮)
全裸でワンライナー(仮)
ワンライナーのための何か(仮)
ワンライナーのための何か(仮)
Genesis200904
Genesis200904
Genesis200902 sugyan
Genesis200902 sugyan
Kürzlich hochgeladen
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
Kürzlich hochgeladen
(8)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
ttyrecからGIFアニメを作る話
1.
ttyrecからGIFアニメ を作る話 2014.8.28
YAPC::Asia 2014 前夜祭 すぎゃーん (@sugyan)
2.
Self Introduction •
ID: sugyan • Lang: Perl, JavaScript, Go, … • Location: Hikarie • Faction: Enlightened
3.
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
4.
何がしたいか • ターミナル操作を紹介したい
• pecoなど便利なツールの良さを伝える • 実際の操作を見せるのが一番 • blogに貼るにはGIFアニメがお手頃
5.
既存のもの • LICEcap,
Gifzo などのアプリケーション • 範囲を指定して録画、共有 • とても汎用的 • Linuxは…?
6.
既存のもの • ttygif
• https://github.com/icholy/ttygif • ttyrecの録画を再生しながらcapture • ImageMagickを使ってGIF生成
7.
突然のGo • https://github.com/sugyan/ttygif
• ttyplay & capture & generate GIF • ImageMagick依存なく全部Goで出来る • 作ってみたくなった
8.
スクショ不要論 “ttygifとその系列、端末マニアではない人の95%く らいのユースケースでは端末に依存するシーケンスと
か流さないだろうし、色とかが微妙に違ってもそこが 主眼じゃないと思うので、単純に内部に端末を持って ダイレクトにGIFを吐ければ良くて、いちいちスクリー ンショト取るの筋悪ではないの?”
9.
スクショ不要論 • さっそく作られた
• https://github.com/saitoha/seq2gif • 自分でも作った • https://github.com/sugyan/ttyrec2gif
10.
そしてWebへ • 全部、JavaScriptでも出来るのでは
• ttyrecレコードの解析 • 内部での端末エミュレート、描画 • GIF生成
11.
そしてWebへ • 全部、JavaScriptでも出来るのでは
• https://github.com/chjj/term.js • https://github.com/niklasvh/html2canvas • https://github.com/jnordberg/gif.js
12.
そしてWebへ • http://ttyrec2gif.herokuapp.com/
• Drag&Dropでttyrecordを受け取り • JavaScriptだけでGIF生成まで完結 • デモ
13.
そしてWebへ • Webを使う利点:
UIを作りやすい • 色やサイズやフォントなどのカスタマイズ • Frameの間引きやDelay調整 • 仕上がり確認や共有もしやすい
14.
そしてWebへ • サーバ側がやること無い…
• 成果物を保存するくらい?
15.
引き続き作っていきます ご意見・アイデアなど お寄せください
Jetzt herunterladen