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