[M1 Mac, Big Sur 11.6.8]
FFmpegのコマンドがとにかくわかりにくいので、書き留めておきます。
開発中のビデオツールアプリに実装するには、このコマンドをC++で生成する必要があります。
FFmpeg関連の情報はネットに数多くありますが、どういったユーザー層なのか気になります。C/C++ユーザーよりもコマンドライン使いが多そうです。
ffmpeg -i out.mp4 -filter_complex \ --- (1)
"[0:v]crop=265:154:648:103,boxblur=4[b0]; \ --- (2)
[0:v]crop=94:111:572:267,boxblur=4[b1]; \ --- (3)
[0:v][b0]overlay=648:103[ovr0]; \ --- (4)
[ovr0][b1]overlay=572:267[ovr1]" \ --- (5)
-map "[ovr1]" out2.mp4 --- (6)
(1) 入力ファイルはout.mp4。以下、-filter_complexを記す。
(2) 入力ファイル0番目の映像[0:v]について、x:648,y:103の位置からw:265,h:154のサイズでクロップし、レベル4のboxblur処理をする。これをb0とする。
(3) 入力ファイル0番目の映像について、x:572,y:267の位置からw:94,h:111のサイズでクロップし、レベル4のboxblur処理をする。これをb1とする。
(4) 入力ファイル0番目の映像とb0をx:648,y:103の位置で重ねる。これをovr0とする。
(5) ovr0とb1をx:572,y:267の位置で重ねる。これをovr1とする。
(6) ovr1をマッピングし、out2.mp4として出力する。