皆様こんにちは。マミルトンって知ってますか?ゲーム実況動画界隈ではとても人気のある女性です。せっかくなのでマミルトンの画像を RMagick で mosaic 画像にしてみました。RMagick でタイル状の画像をつくる記事はこちらにも書いてます。
ゲーム実況動画から決定的シーンを抜き出す
ゲーム実況動画、楽しいです。おすすめはマイクラ!最近は映画のようにきれいなウォッチドッグスやAlienも気に入ってます。
時間がたりない
ゲーム実況動画は最近どんどん増えてきて、もう新着を全部見るだけの時間が無いし、見返す時間もおしいです。お気に入りの配信者を見つけた時は過去の動画をあさります。これにはとても時間がかかります。どうしたら良いでしょうか?
せんりゃくをたてよう
ケース:お気に入りの動画シリーズを見つけた!良さそうなシーンを検索したい!
というわけです。YouTube Data APIを使えば、キーワードで検索したり、指定チャネルから動画を探すことができます。再生数やGood の回数もデータとして取得できます。とても便利!
これだけでも十分?なんだけど、30分程度ある動画を全部見ずにいいとこだけ見ることはできないかなー?
動画からは音声と画像を得ることができます。youtube-dl を使ってダウンロードしたファイルを ffmpeg でフレーム画像抜き出したり、音声を抜き出すこともできますね。こうして得られたデータから「良さそうなシーン」を探してみたい!
音性から
ボリュームが大きい個所を見つけられたらできそうです。オーディオファイルは、うまいこと読み込めば AudioBuffer から絶対値でボリュームがわかるのでいけそうです。
画像から
驚いたり、笑ったりする画像を見つけられたら、そこが「よさそうなシーン」である可能性は高そうです。※顔出し動画限定になっちゃいますが
笑顔を抜き出してみよう
こんかいは、マミルトンの笑顔を抜き出すさくせんで行きたいと思います。まず、ffmpeg でフレームの画像を抜き出してみます。
$ ffmpeg -ss 1 -vframes 1 -i mamiruton.mp4 -f image2 out.png
やっかいなことに、マミルトンの動画にはマックスむらいが良く映っています。他の配信者が映っていることも多いです。こういう感じ。いい笑顔ですね。ここからマミルトンだけにする。
顔認識をしてマミルトンの顔を特定しよう
顔を認識するには OpenCV とか使うのがよさそうですが、今回は無償で使えるAPIを提供している rekognition を使ってみたいと思います。価格体系はフリーミアムの従量課金です。導入は簡単です。Android, iOS でも使えるライブラリーが提供されていますよ。
$ gem install rekognize
これでライブラリがインストールできます。
マミルトンの顔写真で教育しておく
rekognition は顔の人物判定をするAPIも提供しています。あらかじめ、マミルトン画像で学習させることで、マミルトンらしさを数値で返してくれます。
rekognition を使った実装
- APIで顔の位置を取得
- APIでマミルトンの顔を判別
- APIで笑顔の度合いを判定
この最後の笑顔の判定で、「良さそうなシーン」を抜き出しましょう。
ffmpegを使って切り出してつなげる
あとは、ffmpegを使ってシーンの切り出しと連結をしてダイジェスト動画の完成です。
※詳細は後で追記する 別の記事にすることにしました↓をご覧ください
できた!
ヽ(゚ー゚ヽ)(ノ゚ー゚)ノわぁい
続きを書きました。フォローもよろしくね
マミルトンのゲーム実況動画で ffmpeg RMagick rekognition を使おう~その1~ヽ(゚ー゚ヽ)(ノ゚ー゚)ノわぁい - Qiita - http://goo.gl/EJVsLG