Open4

ffmpegでよく使うコマンドチート

webdevwebdev

movをmp4へ変換

hoge.movをhoge.mp4へ変換

ffmpeg -i hoge.mov -pix_fmt yuv420p -crf 22 hoge.mp4

-pix_fmt yuv420p を付与してmacのプレビュー表示できるよう考慮。

webdevwebdev

ディレクトリ内のmovを同名のmp4に一括変換

for f in *.mov; do ffmpeg -i "$f" -pix_fmt yuv420p -crf 22 "${f%.mov}.mp4"; done
webdevwebdev

動画を画質を保ってアニメーションGIF化

動画からパレットを作成し、できあがった パレットをもとにGIF化。

hoge.movからパレットpalette.pngを作成

ffmpeg -i hoge.mov -vf "palettegen" -y palette.png

パレットpalette.pngをつかってアニメーションGIFのhoge.gifへ変換

ffmpeg -i hoge.mov -i palette.png -lavfi "fps=12,scale=900:-1:flags=lanczos [x]; [x][1:v] paletteuse=dither=bayer:bayer_scale=5:diff_mode=rectangle" -y hoge.gif

※movはmp4など他の動画形式でもOK

webdevwebdev

動画の一部を画像として書き出す

たとえば、動画hoge.mp4の1フレーム目をjpg化して読込中のポスター画像として使いたいとき

ffmpeg -i hoge.mp4 -ss 0 -t 1 -r 1 -f image2 capture%01d.jpg

開始 終了 秒間撮影数に応じてprefix+連番ファイル名の画像が書き出される。

ffmpeg -i ムービーファイル名 -ss 取得開始(秒) -t 取得終了(秒) -r 秒間の撮影数 -f image2 ファイル名prefix(任意)%01d.jpg