Você pode usar os filtros ffmpeg
para sobrepor o vídeo e criar um efeito Picture-in-Picture. Para sobrepor o movie2.avi
, teremos que reduzi-lo e reproduzi-lo com uma taxa de quadros menor, usaremos outro filtro.
Seu comando se parece com algo assim:
ffmpeg -i movie1.avi \
-filter:v "movie=movie2.avi, scale=iw/2:ih/2, setpts=2.0*PTS [small];\
[in][small] overlay=main_w-overlay_w:main_h-overlay_h [out]" output.avi
Por questões de legibilidade, dividi o comando onde o \
é. Para dividir:
-
-i movie1.avi
é seu grande filme de entrada. -
-filter:v "movie=movie2.avi
carrega o pequeno filme. -
scale=iw/2:ih/2
diminui esse filme para metade de sua largura e altura.iw
eih
são parâmetros que recebem a largura e a altura da entrada, respectivamente. Veja asscale
opções de filtro se você quiser ajustar isso. -
setpts=2.0*PTS
permite que o vídeo seja exibido duas vezes mais lento que o original, "expandindo" os carimbos de hora de apresentação individuais dos quadros. Você poderia acelerar com0.5*PTS
. Vejasetpts
. - Isso é atribuído ao link
[small]
. - Os links
[in]
e[small]
são combinados com um filtrooverlay
, posicionando o canto superior esquerdo do vídeo menor no meio do quadro. Os parâmetrosmain_w
emain_h
ocupam a largura e a altura do quadro, portanto, aqui, você está selecionando o ponto médio exato. - Isso é renderizado para
[out]
.
Poderia ser algo assim:
Aqui estão algumas dicas:
-
Sempre use uma versão recente de
ffmpeg
, não aquela fornecida por sua distribuição do Linux. A página de download do FFmpeg tem uma lista de compilações estáticas para cada sistema operacional. -
O comando, por padrão, usará algumas configurações básicas relacionadas a codecs de vídeo e áudio. Isso pode resultar em uma qualidade pior que a original. Você pode ajustar a qualidade definindo uma taxa de bits mais alta ou um sinalizador de qualidade variável com
-qscale
. Dê uma olhada na codificação XviD / MPEG-4 orientar para vídeos AVI ou escolher MP4 como saída com o codificador x264 .Na prática, isso pode se parecer com o seguinte:
ffmpeg -i movie1.avi … -c:v libxvid -qscale 2 output.avi ffmpeg -i movie1.avi … -c:v libx264 -crf 21 output.mp4