【ffmpeg】音ファイルと画像から、文字入り動画 を作ってみる

ffmpeg で扱う動画に文字を入れたい場合は、「drawtext」を使えるようにする必要があるので、「--enable-libfreetype」を有効にする。

今回は、homebrew で ffmpeg をインストールしている場合を想定。

drawtext を使えるようにする

brew reinstall ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-libass --with-libquvi --with-libvorbis --with-libvpx --with-opus --with-x265 --with-webp

すでに、ffmpeg が入っている場合は、brew reinstallに置き換える所がポイント。

黒い画像とmp3音声ファイルで、mp4動画を作る

cd ~/Desktop/test/text_to_movie/
 
ffmpeg -y -loop 1 -r 30000/1001 -i black.png -i sample.mp3 -vcodec libx264 -acodec aac -strict experimental -ab 320k -ac 2 -ar 48000 -pix_fmt yuv420p -shortest input.mp4

フレームレート 29fpsで、black.png の黒画像 と sample.mp3 の音楽ファイルを合成して動画を作る。

ffmpegで動画上にテキストを描画する

cd ~/Desktop/test/text_to_movie/
 
ffmpeg -i input.mp4 -filter_complex "drawtext=fontfile=\/System\/Library\/Fonts\/AquaKana.ttc:textfile='sample.txt':fontcolor=#ffffff:x=(w-text_w)/2:y=(h-text_h-line_h)/2:enable='between(t,1,3)'" output.mp4

sample.txt から文字列を取得して、動画の中央に文字を配置し、1秒から3秒の間表示する。フォントは AquaKana.ttc を使用。

関連記事