web-dev-qa-db-ja.com

FFmpegシーンの検出とシーンカット

これは、以前に投稿した質問のフォローアップ質問です [〜#〜] here [〜#〜] 。したがって、基本的にFFmpegを使用して、適切なscenecutしきい値を選択した後にシーンを検出し、各シーンから1つの代表的なフレームを取得しようとしています。

現在、以下のシーン検出コマンドは、検出されたシーンをディスクに保存しますが、残念ながら長い時間がかかります。

ffmpeg -y -i myVideo.mp4 -vf yadif \
       -c:v libx264 -profile:v high -preset:v fast \
       -x264opts min-keyint=15:keyint=1000:scenecut=20 -b:v 2000k \
       -c:a aac -b:a 128k \
       -f segment -segment_format mp4 -segment_time 0.01 -segment_format_options movflags=faststart \
       /home/1/output%05d.mp4

私の最終的な目標は、シーン全体をエンコードして保存するのではなく、シーンを識別し、そのシーンから1つのフレームのみを画像(たとえば、そのシーンの中央フレーム)として保存することです。それを達成するための迅速な方法はありますか?

1
Tina J

これは、ショットの最初のフレームを取得するために機能するはずです。

ffmpeg -i video.mp4 -filter:v "select=gt(scene\,0.5)" -vsync vfr output/frame%d.jpg 
1
Lilo