映像関連のツールの活用方法と次にやりたいこと

先日、竹内(@rikson_en)がまた新しいブログ記事を出したというので早速目を通してみた。

今回のネタはGStreamerを使った動画の結合や分割再生、そこにシーン検出ツールやAIによる画像タグ付けを組み合わせるという、かなり盛りだくさんな内容になっている。 本人いわく「ニッチだけど実用できる部分は多い」と言うが、確かに発想次第では便利そうだ。

まず彼のブログでは、複数の動画ファイルを一つに連結するだけでなく、いくつもの映像を同時に画面分割で再生する技を紹介していた。 たとえば四つの動画を2×2マスに並べて一斉に再生し、さらにどれかが再生終了した枠には新しい動画を入れて連続再生する、といった応用である。 理想的には「枠が空いた瞬間に次の映像が自動で切り替わる」ようにしたいらしいが、そこはGStreamerのパイプライン構成上、まだ手探りの部分があるそうだが、 「シェルスクリプトでコツコツ組めば、八割がた望んだ動きをしてくれる」とのこと。

それと合わせて取り上げられていたのが、Python製のシーン検出ツール PySceneDetect と、Stable Diffusion系のWD14Taggerのような画像タグ付けツールを組み合わせる話だ。

PySceneDetectで動画を自動的にシーン分割し、シーンごとにサムネイルとタイムスタンプを出力してもらい、そのサムネイルにAIがタグを自動付与する。 すると「どんな場面が何分何秒にあるのか」を細かく把握できて、タグを頼りに見たいシーンだけまとめて再生したり検索したりできるようになる。 動画をザクザク切り分けてメタ情報を付けるという地道な作業を自動化してしまおう、という発想だ。

また、このあたりのGStreamer話から派生して、彼はWebRTCでファイル送信するCLIツールにも興味を持っているらしい。 普通のチャットやクラウドストレージを使わずに、SDPを手動でやり取りしてP2P接続し、大きなファイルをさくっと送る方法があるという。

だがSDPをコピー&ペーストするのはけっこう面倒なので、そこをQRコードで読み合えばいいんじゃないか、と考えているらしい。 ノートPC同士を向かい合わせてカメラを起動し、一方のSDPをQRコード化して相手に渡し、相手も同じ手順で返すことで接続を確立する。 意外とバカバカしくもあるけど、「メール添付するより速くて安全なファイル共有が簡単にできるかもしれない」と言うから、実現したらちょっと面白そうだ。

そうやって好き放題にアイデアを並べ立てているわりに、 僕のほうは「電子書籍がいろんなプラットフォームに散らばってしまって探しづらい」とか「田んぼの水管理をIoT化できないか」とか、どうにも別方面のネタばかり持ち出している。

電子書籍はKindle、楽天ブックス、ピッコマなど、バラバラのDRMで囲い込まれているため、単純に統合できないのがモヤモヤする。

一方で農業の世界だと、水門の開閉を自動化したり、スマホで水量を確認したりするシステムがすでにどこかの自治体で導入されているようだが、月々の通信費や機材コストを考えると私の実家のような小規模農家にはなかなか厳しい。 技術的に楽しいかどうか以前に、お金と労力の折り合いがつかないと導入が進まないというリアルな問題がある。

そんなこんなで、今回のPodcastは「動画技術の実験レポート」と「ファイル送信のP2P化」「散らばる電子書籍への不満」「農業IoTの夢」など、雑多な話題を一気に詰め込んでしまった。 竹内がブログ記事で書いているGStreamerとPySceneDetectの連携は、わりとすぐ試してみたくなるネタなので、興味ある人は彼のサイトを覗いてみるといいかもしれない。 デモコードやパイプライン例が掲載されているので「こんなこともできるのか」と思うはずだ。 僕も時間ができたら、「シーンをタグでまとめて再生する」あたりをぜひ触ってみたいと思っている。

ファイル送信のQRコードネタもうまくいったらまたブログに書くらしいので、ちょっと楽しみに待ってみよう。 なにしろ、この自由奔放な試みが次にどんなアイデアに転がっていくか、雑談しながら見守るのも悪くない。