SlideShare a Scribd company logo
Ruby で ffmpeg の filter_complex と戯れる話
OPEN8 Inc.
スタートアップテック vol.1: Ruby LT大会 2018.11.29
自己紹介
名前 : 川島 嘉一
会社 : OPEN8 Inc.
部署 : テクノロジー開発本部 インフラ・データ基盤部
経歴 : Web系のインストラクター -> ECパッケージの受託開発 -> 現在
インフラとか管理してそうな部に所属はしてるけど、
コードも書くし、CTOの雑用も手伝うし、なんでもやる
弊社に必須のツール
弊社に必須のツール
ffmpeg
ffmpeg の実際に使うコマンド
/usr/bin/ffmpeg -y -r 15 -i /opt/shared/revisions/revision1/sources/out_param/w_%d.bmp -
i ./assets/input/overlay.png -i ./assets/input/soundless.mp3 -i ./assets/input/soundless.mp3 -
i ./assets/input/soundless.mp3 -filter_complex "[0:v]fps=fps=15[img];
[img][1:v]overlay=x=0:y=0[img]; [2:a]atrim=duration=4.2,asetpts=PTS-STARTPTS[2a];
[3:a]atrim=duration=5,asetpts=PTS-STARTPTS[3a]; [4:a]atrim=duration=5.5,asetpts=PTS-
STARTPTS[4a]; [2a][3a][4a]concat=n=3:v=0:a=1[CONCAT_AUDIO]" -map [img] -map
[CONCAT_AUDIO] -s 1920x1080 -crf 22 -movflags faststart -vcodec libx264 -pix_fmt
yuv420p -strict -2 -c:a aac -ac 2 -progress -
/opt/shared/revisions/revision1/outputs/output.mp4
ffmpeg の実際に使うコマンド
/usr/bin/ffmpeg -y -r 15 -i /opt/shared/revisions/revision1/sources/out_param/w_%d.bmp -
i ./assets/input/overlay.png -i ./assets/input/soundless.mp3 -i ./assets/input/soundless.mp3 -
i ./assets/input/soundless.mp3 -filter_complex "[0:v]fps=fps=15[img];
[img][1:v]overlay=x=0:y=0[img]; [2:a]atrim=duration=4.2,asetpts=PTS-STARTPTS[2a];
[3:a]atrim=duration=5,asetpts=PTS-STARTPTS[3a]; [4:a]atrim=duration=5.5,asetpts=PTS-
STARTPTS[4a]; [2a][3a][4a]concat=n=3:v=0:a=1[CONCAT_AUDIO]" -map [img] -map
[CONCAT_AUDIO] -s 1920x1080 -crf 22 -movflags faststart -vcodec libx264 -pix_fmt
yuv420p -strict -2 -c:a aac -ac 2 -progress -
/opt/shared/revisions/revision1/outputs/output.mp4
話の流れ
1. filter_complex
2. どのように実装したか
3. 今後やっていきたいこと
話の流れ
1. filter_complex
2. どのように実装したか
3. 今後やっていきたいこと
filter_complex
● 複雑な処理を一度に行うためのオプション
● filter, filter_chain, filter_graph の3つの要素で構成されている
filter
1. "[0:v]fps=fps=15[img];[1:a]atrim=duration=20,afade=type=out:start_time=20:duration=0.0[OA1]"
2. "[0:v]fps=fps=15[img];[1:a]atrim=duration=20,afade=type=out:start_time=20:duration=0.0[OA1]"
3. "[0:v]fps=fps=15[img];[1:a]atrim=duration=20,afade=type=out:start_time=20:duration=0.0[OA1]"
filter
filter_chain
1. "[0:v]fps=fps=15[img];[1:a]atrim=duration=20,afade=type=out:start_time=20:duration=0.0[OA1]"
2. "[0:v]fps=fps=15[img];[1:a]atrim=duration=20,afade=type=out:start_time=20:duration=0.0[OA1]"
3. "[0:v]fps=fps=15[img];[1:a]atrim=duration=20,afade=type=out:start_time=20:duration=0.0[OA1]"
filter_chain
filter_graph
1. "[0:v]fps=fps=15[img];[1:a]atrim=duration=20,afade=type=out:start_time=20:duration=0.0[OA1]"
2. "[0:v]fps=fps=15[img];[1:a]atrim=duration=20,afade=type=out:start_time=20:duration=0.0[OA1]"
3. "[0:v]fps=fps=15[img];[1:a]atrim=duration=20,afade=type=out:start_time=20:duration=0.0[OA1]"
filter_graph
filter_complex
filter
filter_chain
filter_graph
filter
filter
filter_chain
filter
本日のアジェンダ
1. filter_complex
2. どのように実装したか
3. 今後やっていきたいこと
どのように実装したか
● filter class
● filter chain class ( N filters )
● filter_graph class ( N filter_chains ( N filters ))
どのように実装したか
● filter class
● filter chain class ( N filters )
● filter_graph class ( N filter_chains ( N filters ))
- filter_complex
|-filter
|- xx_filter.rb
|-filter_chain
|- xx_chain.rb
|-filter_graph
|- xx_graph.rb
どのように実装したか
● filter class
● filter chain class ( N filters )
● filter_graph class ( N filter_chains ( N filters ))
- filter_complex
|-filter
|- xx_filter.rb
|-filter_chain
|- xx_chain.rb
|-filter_graph
|- xx_graph.rb
それぞれの責務を明確に切り分ける!
filter class
filter_chain class
filter_graph class
どのように実装したか
filter_graph_list [.....]
filter_chain_list [......]
filter_list [.....]
xx.join
ffmpeg の実際に使うコマンド
/usr/bin/ffmpeg -y -r 15 -i /opt/shared/revisions/revision1/sources/out_param/w_%d.bmp -
i ./assets/input/overlay.png -i ./assets/input/soundless.mp3 -i ./assets/input/soundless.mp3 -
i ./assets/input/soundless.mp3 -filter_complex "[0:v]fps=fps=15[img];
[img][1:v]overlay=x=0:y=0[img]; [2:a]atrim=duration=4.2,asetpts=PTS-STARTPTS[2a];
[3:a]atrim=duration=5,asetpts=PTS-STARTPTS[3a]; [4:a]atrim=duration=5.5,asetpts=PTS-
STARTPTS[4a]; [2a][3a][4a]concat=n=3:v=0:a=1[CONCAT_AUDIO]" -map [img] -map
[CONCAT_AUDIO] -s 1920x1080 -crf 22 -movflags faststart -vcodec libx264 -pix_fmt
yuv420p -strict -2 -c:a aac -ac 2 -progress -
/opt/shared/revisions/revision1/outputs/output.mp4
話の流れ
1. filter_complex
2. どのように実装したか
3. 今後やっていきたいこと
今後やっていきたいこと
プロダクト開発初期は、開発スピードに重点を置いていたので、
Rubyを選択した. しかし、型のvalidation を設定したいので、
強い型付けの言語にしたい.
ffmpeg 用の gem の紹介
● ある
● streamio-ffmpeg ( https://github.com/streamio/streamio-ffmpeg)
● ffmpeg の ラッパー
● 本格的にffmpeg 使いたい時には物足りない
● 基本的に 1 つの素材を想定して作っている
イケてない箇所
エンジニア募集中です!
Rubyだけじゃなく、iOS, Androidエンジニアも募集!
詳しくは懇談会ででも!

More Related Content

What's hot

PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
晃 遠山
 
PHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見るPHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見る
shinjiigarashi
 
PECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードPECL operator で演算子オーバーロード
PECL operator で演算子オーバーロード
y-uti
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
Takuya Sato
 
PHP でファイルシステムを作ろう
PHP でファイルシステムを作ろうPHP でファイルシステムを作ろう
PHP でファイルシステムを作ろう
shinjiigarashi
 
Behat Driven Development
Behat Driven DevelopmentBehat Driven Development
Behat Driven Development
Ryo Tomidokoro
 
Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門
晃 遠山
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
sasezaki
 
ひよこクラブ Perl Programmer 兼管理職な私の学習ノート
ひよこクラブ Perl Programmer 兼管理職な私の学習ノートひよこクラブ Perl Programmer 兼管理職な私の学習ノート
ひよこクラブ Perl Programmer 兼管理職な私の学習ノートKoichi Taniguchi
 
DartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみようDartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみよう
cch-robo
 
Dmmに入社してみた
Dmmに入社してみたDmmに入社してみた
Dmmに入社してみた
DMM.com
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみた
y-uti
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
Hisateru Tanaka
 
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
Yusuke Ando
 
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
shinjiigarashi
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
Junichi Ishida
 
Road to success System.IO.Compression.ZipArchive Feedback
Road to success System.IO.Compression.ZipArchive FeedbackRoad to success System.IO.Compression.ZipArchive Feedback
Road to success System.IO.Compression.ZipArchive FeedbackKazushi Kamegawa
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
masahitojp
 
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
Kei IWASAKI
 

What's hot (20)

PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
PhpStormで始める快適なWebアプリケーション開発 #phpcon2013
 
PHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見るPHP で実行中のスクリプトの動作を下から覗き見る
PHP で実行中のスクリプトの動作を下から覗き見る
 
PECL operator で演算子オーバーロード
PECL operator で演算子オーバーロードPECL operator で演算子オーバーロード
PECL operator で演算子オーバーロード
 
PHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考えるPHPでセキュリティを真面目に考える
PHPでセキュリティを真面目に考える
 
PHP でファイルシステムを作ろう
PHP でファイルシステムを作ろうPHP でファイルシステムを作ろう
PHP でファイルシステムを作ろう
 
Behat Driven Development
Behat Driven DevelopmentBehat Driven Development
Behat Driven Development
 
Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門Behat+Symfony2ではじめるBDD超入門
Behat+Symfony2ではじめるBDD超入門
 
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い
 
ひよこクラブ Perl Programmer 兼管理職な私の学習ノート
ひよこクラブ Perl Programmer 兼管理職な私の学習ノートひよこクラブ Perl Programmer 兼管理職な私の学習ノート
ひよこクラブ Perl Programmer 兼管理職な私の学習ノート
 
DartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみようDartPad+CodePenで、Flutterを体験してみよう
DartPad+CodePenで、Flutterを体験してみよう
 
Dmmに入社してみた
Dmmに入社してみたDmmに入社してみた
Dmmに入社してみた
 
JIT のコードを読んでみた
JIT のコードを読んでみたJIT のコードを読んでみた
JIT のコードを読んでみた
 
Pyconjp2016 pyftplib
Pyconjp2016 pyftplibPyconjp2016 pyftplib
Pyconjp2016 pyftplib
 
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugjPhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
 
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
 
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
PHP 8 と V8 (JavaScript) で速さを見比べてみよう!
 
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
 
Road to success System.IO.Compression.ZipArchive Feedback
Road to success System.IO.Compression.ZipArchive FeedbackRoad to success System.IO.Compression.ZipArchive Feedback
Road to success System.IO.Compression.ZipArchive Feedback
 
Pyconjp2014_implementations
Pyconjp2014_implementationsPyconjp2014_implementations
Pyconjp2014_implementations
 
3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術3分でサーバオペレーションコマンドを作る技術
3分でサーバオペレーションコマンドを作る技術
 

Similar to Ruby で ffmpeg の filter_complex と戯れる話

runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方
Yuji Oshima
 
Arduino を PHP で制御する
Arduino を PHP で制御するArduino を PHP で制御する
Arduino を PHP で制御する
Kenichi Ahagon
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
 
第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料Naoki Shibata
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
Masaki NIWA
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
Toru Yamaguchi
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
Atomu Hidaka
 
Open Source System Administration Framework - Func
Open Source System Administration Framework - FuncOpen Source System Administration Framework - Func
Open Source System Administration Framework - FuncGosuke Miyashita
 
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Shingo Kitayama
 
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~Daisuke Futatsumori
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
Tomoya Kabe
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
Hiro Yoshioka
 
2017年度未踏事業最終成果報告
2017年度未踏事業最終成果報告2017年度未踏事業最終成果報告
2017年度未踏事業最終成果報告
Daichi Teruya
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
Atomu Hidaka
 
loggregator update
loggregator updateloggregator update
loggregator update
Ken Ojiri
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
Ryohei Kamiya
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Pathdynamis
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
Yuya Rin
 

Similar to Ruby で ffmpeg の filter_complex と戯れる話 (20)

runC概要と使い方
runC概要と使い方runC概要と使い方
runC概要と使い方
 
Arduino を PHP で制御する
Arduino を PHP で制御するArduino を PHP で制御する
Arduino を PHP で制御する
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料第4回 SoftLayer勉強会 資料
第4回 SoftLayer勉強会 資料
 
ユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイントユーザ・デザイナーから見たPlone CMSのアピールポイント
ユーザ・デザイナーから見たPlone CMSのアピールポイント
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
 
Open Source System Administration Framework - Func
Open Source System Administration Framework - FuncOpen Source System Administration Framework - Func
Open Source System Administration Framework - Func
 
Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-Ansibleはじめよぉ -Infrastructure as Codeを理解-
Ansibleはじめよぉ -Infrastructure as Codeを理解-
 
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~
 
DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -DeNAインフラの今とこれから - 今編 -
DeNAインフラの今とこれから - 今編 -
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
 
2017年度未踏事業最終成果報告
2017年度未踏事業最終成果報告2017年度未踏事業最終成果報告
2017年度未踏事業最終成果報告
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
loggregator update
loggregator updateloggregator update
loggregator update
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
Rubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつりRubyで創るOpenFlowネットワーク - LLまつり
Rubyで創るOpenFlowネットワーク - LLまつり
 

Recently uploaded

ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 

Recently uploaded (9)

ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 

Ruby で ffmpeg の filter_complex と戯れる話