FFmpeg - Como conseguir uma sobreposição de vídeo circular ..?

2

Estou ajudando minha filha e suas amigas com o canal Youtube VLOG, e agora elas querem fazer cenas de tela e colocar uma face circular menor em close-up (por exemplo, no canto superior direito ou esquerdo), onde você pode vê-los falar sobre a coisa real que eles estão screencasting. Eu usei o FFmpeg para coisas mais básicas por quase dez anos, mas eu posso dizer que isso é mais uma tarefa complexa.

Eu tropecei em outro tópico da pergunta ( link ) graças ao Google, e eu acho que ele está tentando realizar mais ou menos o mesmo, além de ele usar a mesma fonte para a pequena sobreposição circular e o vídeo "principal", enquanto eu quero usar entradas separadas; use "main.mkv" e "facecloseup.mkv" por exemplo linha de comando se alguém estiver pronto para resolver esta tarefa delicada! ;)

Para simplificar, provavelmente terei as duas fontes com resolução otimizada já, digamos 1080p para o main.mkv e 240x240 ou algo parecido para o facecloseup.mkv e então eu só preciso da sintaxe matemática para obter um círculo central cortada de facecloseup.mkv e colocar em algum canto, pegue o canto superior esquerdo para a simplicidade.

Felicidades!

    
por Gew 22.11.2017 / 23:25

1 resposta

1

Use

ffmpeg -i main.mkv -i facecloseup.mkv
 -filter_complex "[1]trim=end_frame=1,
  geq='st(3,pow(X-(W/2),2)+pow(Y-(H/2),2));if(lte(ld(3),pow(min(W/2,H/2),2)),255,0)':128:128,
  loop=-1:1,setpts=N/FRAME_RATE/TB[mask];
  [1][mask]alphamerge[cutout];
  [0][cutout]overlay=x=W-w:y=0[v];
  [0][1]amix=2[a]"
 -map "[v]" -map "[a]"  out.mp4

O vídeo de comentário é usado para construir uma máscara circular em tons de cinza centralizada no centro do vídeo. Em seguida, ele é mesclado como um canal alfa com a origem. Ela é sobreposta no canto superior direito. Os áudios são misturados. Remova este último filtro e -map "[a]" se o vídeo principal não tiver áudio.

    
por 23.11.2017 / 06:51