FFmpegで連番画像から動画を作成する際のTIPS

FFmpegで連番画像から動画を作成する際のTIPSをまとめてみました。

※一部、過去記事と重複する内容もあります。

画像ファイルから動画ファイルを作成するコマンド

0001.png0002.png0003.png …という連番画像から動画ファイル(MP4)を作成するには以下のようなコマンドを実行します。

$ ffmpeg -i %04d.png -c:v libx264 output.mp4

%04d.pngの部分が連番画像ファイルを指定する部分になっています。

例えば、image_001.pngimage_002.pngimage_003.png …というファイル名になっている場合はimage_%03d.pngのような感じにします。

関連記事: アニメーションGIFの作り方

フレームレートの設定

オプションを指定していない場合、フレームレートが25fpsの動画ファイルが作成されます。変更したい場合は-rコマンドでフレームレートを設定してください。

$ ffmpeg -r 30 -i %04d.png -c:v libx264 output.mp4

画質の設定

動画の画質を設定する場合は-crfオプションを使います。デフォルトでは23になっています。画質を上げたい場合はより小さな値を、画質を下げたい(ファイルサイズを小さくしたい)場合はより大きな値を設定します。

$ ffmpeg -i %04d.png -c:v libx264 -crf 20 output.mp4

関連記事: FFmpegでYouTube向けにエンコード

ループの設定

動画を何周かループさせたい場合は-stream_loopオプションを使います。例えば、-stream_loop 2とすると、最初の1周分とあわせて同じ内容が3回表示される動画ファイルになります。

$ ffmpeg -stream_loop 2 -i %04d.png -c:v libx264 output.mp4

YouTubeなどのサイトにアップロードする場合

YouTubeなどの動画サイトにアップロードする場合は-pix_fmt yuv420pを付けないと正常に再生できない場合があります。アップロードしてみて、正常に再生できないようであれば、設定を見直してみてください。

$ ffmpeg -i %04d.png -c:v libx264 -pix_fmt yuv420p output.mp4

関連記事: FFmpegでYouTube向けにエンコード

関連記事

アニメーションGIFの作り方
0000.png, 0001.png, 0002.png, ...の連番PNGファイルからアニメーションGIFを作るコマンド ffmpeg編 $ ffmpeg -framerate 30 -i %04d.png output.gif convert編(ImageMagick) $ convert -delay 10 -loop 0 *.png output.gif ...

FFmpegで動画から静止画像を出力する方法
FFmpegで動画ファイルから静止画像を出力したい場合は、次のようなコマンドを実行します。 $ ffmpeg -an -i video.mp4 %04d.png 0001.png、0002.png、0003.png、...のような連番ファイルが出力されます。 一部のみ抜き出したい場合は-ssオプションで開始時刻を、-tオプションで長さを指定します。 $ ffmpeg -a...

FFmpegで動画を連結するコマンド
1. 連結したい動画をテキストファイルに書き出します。 $ vi list.txt $ cat list.txt file '/path/to/file1.avi' file '/path/to/file2.avi' file '/path/to/file3.avi' 2. FFmpegを実行します。 $ ffmpeg -f concat -safe 0 -i list.txt...

FFmpegでYouTube向けにエンコード
FFmpegでYouTube向けにエンコードしたい場合は $ ffmpeg -i input.avi -c:v libx264 -preset slow -crf 18 -c:a copy -pix_fmt yuv420p output.mkv のようなコマンドでエンコードできます。 ポイントは-pix_fmt yuv420pの部分だと思います。-pix_fmt yuv420p...

コメントを残す

メールアドレスが公開されることはありません。