Наложение циркулярного фильма в FFmpeg
Я пытаюсь создать круговой оверлей фильма, используя ffmpeg. До сих пор мне удавалось создать квадратный круговой оверлей фильма с помощью следующей команды:
ffmpeg -i bg.mp4 -vf "movie=smaller.mp4[inner];[in][inner] overlay=92:460 [out]" final.mp4
Я хочу создать что-то вроде этого:
Кто-нибудь может мне помочь?
Большое спасибо!
1 ответ
Неопределенный пример адаптирован из Как установить маску круга с помощью фильтра geq:
ffmpeg -i input.mp4 -filter_complex \
"trim=end_frame=1,geq='st(3,pow(X-(W/2),2)+pow(Y-(H/2),2));if(lte(ld(3),80*80),255,0)':128:128,loop=-1:1,setpts=N/FRAME_RATE/TB[alf]; \
[0:v][alf]alphamerge,scale=iw/2:-1[fg]; \
[0:v][fg]overlay=(W-w)/2:H-(h/2)-20-40:shortest=1" \
output.mp4
Вы не предоставили никаких подробностей или информации о файле, поэтому я сделал несколько предположений:
- редактировать
80*80
увеличить радиус круга. - Круг источника находится по центру посередине.
- Наложение будет горизонтально отцентрировано. По вертикали будет установлено 20 пикселей снизу
bg.mp4
, - Аудио не упоминалось, поэтому я ничего не добавил для этого.
- Нет белой границы вокруг круга.
- "Не определено", потому что у меня не хватило времени, чтобы закончить, но это, вероятно, должно работать как есть. Я смогу вернуться к нему позже.