1. ホーム
  2. image

[解決済み】FFmpegで画像から動画を作成する方法は?

2022-05-04 03:37:03

質問

ffmpeg -r 1/5 -start_number 2 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4

この行はうまくいったのですが、別のフォルダにある画像からビデオファイルを作りたいのです。 私のフォルダーにある画像名は

img001.jpg
img002.jpg
img003.jpg
...

画像ファイルを別フォルダから入力したいのですが?例 C:\mypics

このコマンドを試してみましたが ffmpeg は、最初の画像(img001.jpg)だけを使ったビデオを生成しました。

ffmpeg -r 1/5 -start_number 0 -i C:\myimages\img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4

解決方法は?

をご覧ください。 画像からビデオスライドショーを作成する - FFmpeg

<ブロッククオート

動画でフレームが正しく表示されない場合 最初の画像がスキップされる、あるいは1フレームしか表示されないなどの問題が発生した場合は、以下のように fpsビデオフィルター の代わりに -r 出力フレームレート

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4

また、format video フィルターをフィルターチェーンに追加することで -pix_fmt yuv420p のように "fps=25,format=yuv420p" . この方法の利点は、どのフィルタが最初に来るかを制御できることです。

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf "fps=25,format=yuv420p" out.mp4

私は以下のパラメータをテストし、それは私のために動作しました。

"e:\ffmpeg\ffmpeg.exe" -r 1/5 -start_number 0 -i "E:\images\01\padlock%3d.png" -c:v libx264 -vf "fps=25,format=yuv420p" e:\out.mp4

以下のパラメータも動作しましたが、常に最初の画像がスキップされます。

"e:\ffmpeg\ffmpeg.exe" -r 1/5 -start_number 0 -i "E:\images\01\padlock%3d.png" -c:v libx264 -r 30 -pix_fmt yuv420p e:\out.mp4

異なるフォルダに配置された画像からビデオを作成する

まず、画像のパスを imagepaths.txt を以下のように設定します。

# this is a comment details https://trac.ffmpeg.org/wiki/Concatenate

file 'E:\images\png\images__%3d.jpg'
file 'E:\images\jpg\images__%3d.jpg'

使用例は以下の通りです。

"h:\ffmpeg\ffmpeg.exe" -y -r 1/5 -f concat -safe 0 -i "E:\images\imagepaths.txt" -c:v libx264 -vf "fps=25,format=yuv420p" "e:\out.mp4"

-safe 0 パラメータは 安全でないファイル名 エラー

関連リンク

FFmpegで異なるフォルダに配置された画像から動画を作成する

FFMPEG 中間ガイド/イメージシーケンス

連結 - FFmpeg