web-dev-qa-db-ja.com

FFmpegで画像からビデオを作成する方法

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
103
user3877422

画像からビデオスライドショーを作成する - FFmpeg

ビデオにフレームが正しく表示されない場合最初の画像がスキップされたり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エラーを防止します

関連リンク

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

FFMPEG中間ガイド/画像シーケンス

連結 - FFmpeg

110
khan

ドキュメントからの 簡易版

Google Earth Studio の画像に特に適しています。

ffmpeg -framerate 24 -i Project%03d.png Project.mp4
9
Joshua Pinter

cat *.png | ffmpeg -f image2pipe -i - output.mp4

from wiki

2
Hunger