前回の続きです。今回はサンプルを作ってみました。
ソースは YouTube Audio Library から借りてきました。(音声入りで改変自由な音源探すのが一番面倒だった)
こちらはオリジナル。
こっちが VLC のカラオケフィルターを適用したもの。
動画の作成には ffmpeg を使用しました。YouTube の アップロードする動画の推奨エンコード設定(詳細) - YouTube ヘルプ を見ると、MOOV フラグ(ファストスタート)、クローズドGOP、などを追加するような記載があったので追加してみました。
ffmpeg -v info -i "${1}" \ -c:v libx264 -preset slow -r 25 -pix_fmt yuv420p -psnr \ -c:a aac -strict experimental \ -movflags faststart \ -filter_complex '[0:a]showspectrum=s=640x480:mode=separate[out]' \ -map '[out]' -map 0:a \ -x264opts crf=18:bframes=2:cabac=1:open_gop=1 \ -y "${out}".mp4
普段はだいたい Mac か Ubuntu を使ってるんですが Ubuntu のデフォルトって ffmpeg ではなく libav なんですよね。動画の変換だけしているときは「どっちもそんなに変わらないじゃん?」と思ってたんですが、Ubuntu の libav-tools では音声から動画を作成する avectorscope
とか showspectrum
が使えないという…なんてこった。