![ffmpeg を使用してビデオからフレームを抽出する方法](https://rvso.com/image/1476058/ffmpeg%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%93%E3%83%87%E3%82%AA%E3%81%8B%E3%82%89%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%82%92%E6%8A%BD%E5%87%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
ビデオを抽出したいのですが35このビデオの - 番目のフレームです。
できればpng画像にしたいです。
このような質問はたくさんあることは承知していますが、フレーム番号を使用した解決策を見つけることができませんでした。
答え1
使用select
フィルター:
ffmpeg -i <input> -vf "select=eq(n\,34)" -vframes 1 out.png
カウントは 0 から始まるので、35 番目 = n 値は 34 になります。
答え2
2つの簡単な方法:
使用FFmpeg実行可能ファイルにシークオプションを付けて実行します。最初に時間に変換する必要があります。たとえば、フレーム150が必要でビデオが29.97 FPSの場合、コマンドは になりますffmpeg -ss 00:00:05.01 -i myvideo.avi -frames:v 1 myimage.jpg
。これは少し不正確かもしれません。正確なフレームでシークするには、FFmpegライブラリを使用する必要があります。C++。
もう一つの「ハック」な方法はVLCメディアプレーヤー. メニューの表示 ->高度なコントロールビデオを一時停止し、「フレーム単位」ボタンを 34 回クリックします。