web-dev-qa-db-ja.com

多数のJPEGからビデオを作成する

動きを検出するとJPEG画像(.jpg)をFTPサーバーにアップロードするCCTVカメラがあります。かなりの数の画像が出ているようですので、見やすくするために動画にしたいと思います。

私はいくつかのグーグル検索をしました、しかし何も私が期待するものを完全に生み出しません。私が使用しているフォルダには、AyyMMddhhmmssff.jpgという名前の2000を超える画像があります。名前を変更する必要がある場合は、FFMPEGを機能させる必要があることがすでにわかっているので、名前を変更できます。

ビデオを再生するときに画像が見やすいように、1秒あたりの画像または1秒あたり2枚の画像が欲しいのですが。はい、20/40分以上のビデオになります。

Windows、macOS、Ubuntuのソリューションに満足しています!私の好みはWindowsです(FTPサーバーがあるので)。

ImageMagick

convert *.jpg video.mpg

これは素晴らしく、素晴らしく、シンプルに聞こえました。ただし、Mac(brew経由でインストール)とUbuntuを試してみましたが、両方とも関連システムのパフォーマンスを停止し、20分経ってもまだ終了していません。何もできなかったので、Macを再起動する必要がありました。

[〜#〜] ffmpeg [〜#〜]

ffmpeg -y -r 6 -f image2 -s 1920x1080 -i <path>\%06d.jpg -vcodec libx264 -pix_fmt yuv420p <path>/video.mp4

私はFFMPEGの使用に関しては専門家ではありませんが、いくつかのタスクに使用しており、周りにある素晴らしいユーティリティであることがわかりました。上記のコマンドはビデオを生成しますが、画像の表示が速すぎてビデオのポイントが削除されます。私は値を微調整してみましたが、それをより良くすることができますが、私が求めているものとは異なります。 1回の試行(設定-r 1 IIRC)は、ビデオ全体で1つの画像になりました。マニュアルを見ても、FFMPEGコマンドのさまざまな引数がわからないのは明らかです!

2
neildeadman

画像の名前を連続番号に変更すると、次を使用できます

ffmpeg -y -framerate 1 -i <path>\%06d.jpg -r 5 -c:v libx264 -pix_fmt yuv420p <path>/video.mp4

000001.jpg000002.jpg000003.jpg...のように、連続した番号が付けられます。各名前には正確に6文字があり、ffmpegに渡される%06dを満たしていることに注意してください。

名前を変更したくない場合は、フォームのテキストファイルを作成します。

file first.jpg
file second.jpg
file third.jpg
...
file last.jpg

その後

ffmpeg -f concat -r 1 -i list.txt -r 5 -c:v libx264 -pix_fmt yuv420p <path>/video.mp4
3
Gyan