ビデオファイル(avi、mpeg、mp4...)の一部を指定し、特定の秒/分ごとに「スナップショット」を撮って一連の画像ファイル(jpegなど)として保存できるプログラムはありますか?たとえば、0時45分から1時00分までの映画部分を選択し、30秒ごとに「スナップショット」を撮ります。
ビデオプレーヤー(VLCなど)またはプラグインの一部である可能性があります...要点は、手動でスナップショットを撮るのではなく、自動的にスナップショットを撮る必要があることです。
また、これらの一連の画像ファイルをアニメーションGIFまたはPNGファイルに変換するのに最適なプログラムはありますか? (ドミナにスナップをアニメーションGIF / PNGとして保存するオプションがある場合は、確かに追加ボーナスになります。)
答え1
これを行うために使用できますffmpeg
。持つffmpegのウェブサイトにはいくつかの例があります。。
以下はいくつかあります。
img001.jpg
これにより、、、、...という名前のサムネイルが毎分生成されます(img002.jpg
各サムネイルのシリアル番号は3桁の形式である必要があることを示します)。img003.jpg
%03d
$ ffmpeg -i myvideo.avi -f image2 -vf fps=fps=1/60 img%03d.jpg
thumb0001.bmp
10分ごとに、、...という名前のサムネイルが作成されますthumb0002.bmp
。thumb0003.bmp
$ ffmpeg -i test.flv -f image2 -vf fps=fps=1/600 thumb%04d.bmp
短いビデオにしたい場合は、もう一度助けを求めてくださいffmpeg
。で議論されたそのウェブサイトのこのページ。
以下はいくつかの追加例です。
ここで、各画像の持続時間は5秒です(1秒あたり1/5フレームの逆数)。 FFmpegに入力ファイルのFPSオプション(1秒あたりのフレーム数)を非常に低い値に設定するように指示することで、出力でFFmpegがフレームを繰り返すようにして、各画像を一定時間画面に表示します。
$ ffmpeg -f image2 -r 1/5 -i img%03d.png -c:v libx264 -r 30 out.mp4
img001.jpg
画像に番号が付けられ、シリーズ(、、、img002.jpg
)によって並べ替えられず、ランダムな画像文字列がある場合、img003.jpg
ffmpegはbashスタイルのワイルドカードもサポートします(*はすべての文字数を表します)。$ ffmpeg -f image2 -r 1 -pattern_type glob -i '*.jpg' -c:v libx264 out.mp4
またはPNG画像の場合:
$ ffmpeg -f image2 -r 1 -pattern_type glob -i '*.png' -c:v libx264 out.mp4
結果のビデオをアニメーションGIFにするには、次のSO Q&Aで説明されている手順を使用できます。ffmpegを使ってaviからgifを生成するには?:
$ ffmpeg -i video.avi -t 10 out%02d.gif
それから:
$ gifsicle --delay=10 --loop *.gif > anim.gif
ツールへのリンクは次のとおりです。gifsicle
。
答え2
また始めましたが、ffmpeg
@slmが私に勝ちました。 :)
mplayer
とにかく、これを使用して迅速かつ簡単にダンプを作成することもできます。たとえば、
mplayer -nosound -ss 45:00 -endpos 15:00 -vo png:z=7 -sstep 30 your_vid.mp4
-ss
開始位置です。-endpos
期間です。-vo
出力ドライバが必要です。mplayer -vo help
リストを取得するために使用されます。多くのディストリビューションでは、ほとんどのmplayerオプションにタブ補完機能も提供しています。mplayer -vo
TabTab-sstep 30
フレーム間の30秒を示します。
開始位置と終了位置:
<[[hh:]mm:]ss[.ms]|size[b|kb|mb]>
広範な計算とバッファリングが必要なため、100%正確ではありませんが、通常は十分に近いです。
また、gif89aドライバがありますが、品質は最高ではありません(convert
たとえば、ビデオ変換とコンパイルを使用して画像をダンプするのと比較してgifsicle
)。もちろん、遊ぶこともできます。 GIFに表示されているアバターなど、映画のショートカットを作成するのに最適です。
mplayer -ao null -ss 10:00 -endpos 5 -vo gif89a:fps=5.3 -vf palette,softskip,scale=240:135 videofile.ext
その後、次のように出力ファイルを指定することもできます。
-vo gif89a:fps=4.9:output=sample.gif
非常にまったく関係ありませんが、表示目的で作成された注意事項-vo
はASCII形式です。
mplayer -vo aa -monitorpixelaspect 0.5 video.mp4
出力ウィンドウを最大化し、手順5に戻ります。