音にあわせて光るような動画を作りたい…ですの? (ffmpegで)

なんちうか言い方がむつかしい。

ワタシの本当に「嬉しいに違いない」と思うのはこういう視覚効果。

ただ、「音にあわせてなんとやら」な視覚効果でも、割と簡単に出来るものもあって、自分がやりたいかどうかは別として、「出来るやり方」を見せとこうかと思っただけの話:

「言い方がむつかしい」てのはこれはさ。

つまり「音に同期する視覚効果」を本気でやる究極は「ffmpeg のフィルタを自作すること」なわけだよ。ffmpeg ユーザとしてフィルタを使うに留める限り、絶対にフィルタ間横断における「オーディオ生データの授受が出来ない」ことを突破は出来ないから。だから出来ることは非常に限られる。そうでないなら前回考えかけてやめたように、ダイレクトに生データに関与できる手段で、つまり pyav みたいに「ffmpeg フィルタと同じ立場に立って」使えるものを使う。

そこまでやりたきゃそこまでやるしかない。

で問題は「そこまではいらん」場合で、のであれば「視覚化して貰って得られた映像を活用する」というアプローチしかありえないわけだ。それが見せた動画。ただこれだって「音声の生データの行き来」から逃れられたとしても、今度は「視覚化データを加工した生データ」をフィルタグラフの下流に流す手段がないことに困り果てることになる。結局「(透かしたりして)重ねる」以外の使い道がない。

なんてのかなぁ、「フィルタ」とか「フィルタグラフ」言うておるのに、なげにこげに制約だらけなんか、と、わかってくればくるほど思うぞ。実際自分で手を動かして書いてみないとなかなか伝わらんとは思うけれど、たとえば上の動画で使ってる「geq」をね、「showcqt からのデータとオーバレイする絵からのデータ」両方に同時に言及出来りゃぁさ、もっとバリエーション豊かな視覚効果を作れるはずなのだわ。(これ単体に限って言えば、「geq の複数入力ストリーム版」があるだけでだいぶ違ってくる。)

まぁこの「ダサい視覚効果」も、個人ユースだと結構使える局面はあるような気はするんだよね。たとえば何か作曲して mp3 にして持ってるとする。この曲を mp4 にして配布したい、てときに、「動かない静止画よりはずっとマシ」ではあるわけでしょ。