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
ビデオにフレームが正しく表示されない場合最初の画像がスキップされたり1フレームだけが表示されるなどの問題が発生した場合は、-rの代わりにfpsビデオフィルタを使用します。出力フレームレート
ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p out.mp4
あるいは、フォーマットビデオフィルタをフィルタチェーンに追加して、"fps = 25、format = yuv420p"のように-pix_fmt 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
belowパラメータも機能しましたが、常に最初の画像をスキップします
"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 パラメータはnsafe file nameエラーを防止します
関連リンク
cat *.png | ffmpeg -f image2pipe -i - output.mp4
from wiki