最近 ffmpeg で操作をするたびに、同じ操作を調べなおすことが多発していたのでここらでまとめようかと感じた次第です。
(使うときには調べるけど、使用間隔が 2 週間に 1 度くらいなのでさすがに覚えられないのです。)
目次
参考
動画 -> gif
1 2 3 4 5 6 7 8 9 10 11 12 13
| ffmpeg -i src.mp4 dist.gif
ffmpeg -i src.mp4 -vf scale=480:-1 dist.gif
ffmpeg -i src.mp4 -s 480x320 dist.gif
ffmpeg -i src.mp4 -s vga dist.gif
ffmpeg -i src.mp4 -r 15 dist.gif
|
mp3 + 画像 -> mp4
1 2 3 4 5 6 7 8 9 10
| ffmpeg.exe -i src.mp3 -i cover.jpg -loop 1 -vcodec libx264 -pix_fmt yuv420p dist.mp4
ffmpeg.exe -i input.mp3 -i cover.jpg -vf scale=iw:-2 -loop 1 -vcodec libx264 -pix_fmt yuv420p dist.mp4
ffmpeg.exe -i input.mp3 -i cover.jpg -vf scale=360:-1 -loop 1 -vcodec libx264 -pix_fmt yuv420p dist.mp4
|
mp4 に差し込みの画像を追加
windows では時間を指定するものは動かなかった mac では動作した
1 2 3 4 5 6 7 8 9 10 11 12
|
ffmpeg -i src.mp4 -i insert.jpg -filter_complex "[0][1]overlay=0:0'" -pix_fmt yuv420p -max_muxing_queue_size 9999 -c:a copy dist.mp4
ffmpeg -i src.mp4 -i insert1.jpg -i insert2.jpg -filter_complex "[0][1]overlay=100:0:enable='between(t,3,10)'" -pix_fmt yuv420p -max_muxing_queue_size 9999 -c:a copy dist.mp4
ffmpeg -i src.mp4 -i insert1.jpg -i insert2.jpg -filter_complex "[0][1]overlay=100:0:enable='between(t,3,10)'[tmp1];[tmp1][2]overlay=200:0:enable='between(t,13,20)'[tmp2]" -m "[tmp2]" -pix_fmt yuv420p -max_muxing_queue_size 9999 -c:a copy dist.mp4
|
mp4 と mp4 を連結
1 2 3 4 5 6 7 8 9 10 11 12 13
| touch lint
ffmpeg -safe 0 -f concat -i list -pix_fmt yuv420p -max_muxing_queue_size 9999 -c copy dist.mp4
ffmpeg -i src.mp4 -r 15 dist.mp4
|
mp4 の切り出し
1 2 3
|
ffmpeg -i src.mp4 -ss 3 -t 5 dist.mp4
|
今後も使いそうなコマンドは、拡充する。