ffmpeg を次の目的で使用したいと思います。
- クロップ画像
- 切り抜いた画像のシーンの変化を検出する
- シーン全体を出力します(切り取られていない画像)。
1. と 2. のやり方は分かりますが、3. のやり方は分かりません。
私のコマンドラインは次のとおりです:
ffmpeg.exe -i "movie.mp4" -vf "crop=130:250:220:50,select=gt(scene\,0.011)" -vsync vfr "movieThumb%%04d.png"
ありがとう。
答え1
使用
ffmpeg.exe -i "movie.mp4" -filter_complex "[0]split=2[roi][full];[roi]crop=130:250:220:50,select=gt(scene\,0.011)[roi];[roi][full]scale2ref[roi][full];[roi][full]overlay=shortest=1" -vsync vfr "movieThumb%%04d.png"
ビデオ ストリームは 2 つに分割されます。1 つのインスタンスでは、シーン検出が実行されます。次に、サイズがフル サイズに戻され、2 番目のインスタンスが最初のインスタンスにオーバーレイされます。オーバーレイはタイムスタンプによって同期されるため、シーン変更フレームはオーバーレイによって出力用に選択されたものになります。