ビデオスナップショットを撮るプログラム?

ビデオスナップショットを撮るプログラム?

ビデオファイル(avi、mpeg、mp4...)の一部を指定し、特定の秒/分ごとに「スナップショット」を撮って一連の画像ファイル(jpegなど)として保存できるプログラムはありますか?たとえば、0時45分から1時00分までの映画部分を選択し、30秒ごとに「スナップショット」を撮ります。

ビデオプレーヤー(VLCなど)またはプラグインの一部である可能性があります...要点は、手動でスナップショットを撮るのではなく、自動的にスナップショットを撮る必要があることです。

また、これらの一連の画像ファイルをアニメーションGIFまたはPNGファイルに変換するのに最適なプログラムはありますか? (ドミナにスナップをアニメーションGIF / PNGとして保存するオプションがある場合は、確かに追加ボーナスになります。)

答え1

これを行うために使用できますffmpeg。持つffmpegのウェブサイトにはいくつかの例があります。

以下はいくつかあります。

  1. img001.jpgこれにより、、、、...という名前のサムネイルが毎分生成されます(img002.jpg各サムネイルのシリアル番号は3桁の形式である必要があることを示します)。img003.jpg%03d

    $ ffmpeg -i myvideo.avi -f image2 -vf fps=fps=1/60 img%03d.jpg
    
  2. thumb0001.bmp10分ごとに、、...という名前のサムネイルが作成されますthumb0002.bmpthumb0003.bmp

    $ ffmpeg -i test.flv -f image2 -vf fps=fps=1/600 thumb%04d.bmp
    

短いビデオにしたい場合は、もう一度助けを求めてくださいffmpeg。で議論されたそのウェブサイトのこのページ

以下はいくつかの追加例です。

  1. ここで、各画像の持続時間は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
    
  2. img001.jpg画像に番号が付けられ、シリーズ(、、、img002.jpg)によって並べ替えられず、ランダムな画像文字列がある場合、img003.jpgffmpegは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 -voTabTab
  • -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に戻ります。

関連情報