Home > Archives > 09 June 2020

09 June 2020

ffmpeg をちょっと覚える

ちょっと ffmpeg つかう用事があったので使い方を学んだ.

とりあえずライムラプス的な連番の画像を動画にしてみる.-f image2 で入力を画像だと指定した上で -r 30 を -i の前において入力フレームレートを指定.これをしとかないと 24fps とかにされてしまう.あとは普通のオプション: ffmpeg -y -f image2 -r 30 -i ./image%03d.jpg -vcodec libx264 -pix_fmt yuv420p -an -r 30 ./movie.mp4

1枚の画像を流し続けるだけの動画を作る.基本的に -loop つけてループしとけばいい: ffmpeg -y -f image2 -r 30 -loop 1 -i hoge.png -vcodec libx264 -pix_fmt yuv420p -an -r 30 -t 6 ./hoge.mp4

そしてど真ん中にキャプションを半透明黒の背景付きで入れてみる.filter_complex で何でもできる気分.WSL で Windows のフォントを使う感じで: ffmpeg -y -i ./movie.mp4 -filter_complex "drawbox=w=350:h=200:x=(iw-w)/2:y=(ih-h)/2:t=max:color=black@0.4,drawtext=fontfile=/mnt/c/Windows/Fonts/UDDigiKyokashoN-B.ttc:text=ほげ:fontcolor=white:fontsize=192:x=(w-text_w)/2:y=(h-text_h)/2" ./movie-cap.mp4

さらに同じサイズの4つ動画を 2x2 に積む.ついでに境目に白い線を引いとく(極細の長方形を描く):ffmpeg -y -i movie1.mp4 -i movie2.mp4 -i movie3.mp4 -i movie4.mp4 -filter_complex "[0:0][1:0]hstack[top];[2:0][3:0]hstack[bot];[top][bot]vstack,drawbox=w=iw:h=8:x=(iw-w)/2:y=(ih-h)/2:t=max:color=white,drawbox=w=8:h=ih:x=(iw-w)/2:y=(ih-h)/2:t=max:color=white" ./movie-2x2.mp4

最終的に,filter_complex 芸に走れば色々何でもできそうだという結論.便利.

Home > Archives > 09 June 2020

Search
Feeds

Page Top