スライドぶっこ抜きマン

作品制作年:2020年

タグ:C++

work image

概要

2020年、新型コロナウイルスによって大学の授業はフルオンライン化しました。先生方も手探り状態で授業をしていたかと思います。そんななか、動画中スライドを使って授業をするがスライド自体は配布しない先生方が多くいらっしゃいました。
私たちとしてもスライド自体にメモを書き込みたいわけで、動画からスライドを取得したい思いがありました。しかしいちいちスクリーンショットを撮るのは非常に手間です。
「スライドぶっこ抜きマン」は、スライドが切り替わったときのみ動画からスライドを自動で抽出してくれるソフトウェアです。
自分用に作りましたが、反響を呼び需要があったために公開に至りました。

技術的概要

OpenCVとC++を用いています。一定フレーム間の差分を計算することで、スライドの切り替わりを検出します。
スライドに先生が書き込んだ場合や、動画のノイズが乗った場合でも変更を検知して抽出してしまうことがあります。そのため、フィルターをかけて平滑化した後に差分をとり、ユーザが指定した閾値を超えた場合のみ抽出します。閾値をユーザが指定する必要があるのは、動画によってノイズの乗り具合が異なってしまうことと、スライドのアニメーションでも検知してしまうことをどの程度防ぐかなど好みや状況によることが多くなってしまうためです。
現在では利用されることが(おそらく)なくなりましたが、公開目的で作っていなかったため稚拙なプログラムを書いてしまっているので書き直したいです・・・。

自分用に作ったためCLIでしか動作しない予定でしたが、数人のコントリビューションによってMacにおいてはGUIを、WindowsではCLIだが対話型のやり取りで使用できるようになりました。

リンク

作品のGitHub:https://github.com/takonasu/SlideBukkonuki