Sua melhor aposta seria ser um editor de vídeo profissional como o Adobe Premiere, mas você especificou freeware , então eu direciono você para um dos meus favoritos: ffmpeg ou avconv . (É basicamente o mesmo programa. O tipo de pessoa nos comentários pode ajudar a esclarecer qual deles está disponível para o Windows 7. Eu uso o avconv porque esse é o único no meu repositório Debian, mas o download do ffmpeg para Windows parece mais simples. )
Não tenho certeza se a interface de linha de comando se enquadra na sua definição de "script", mas realmente acredito que esta seja a melhor e mais fácil (e talvez a mais rápida) forma de realizar a tarefa.
Além disso, o ffmpeg / avconv é geralmente conhecido apenas para trans, en e decodificação, mas pode fazer muito mais.
Exemplos
O ffmpeg pode fazer estes mosaicos, colocar um vídeo em uma imagem de plano de fundo estática , sobreposição em cima de outro vídeo (mas esse parece ser em C #) e overlay dois vídeos um em cima do outro (linha de comando).
O primeiro link sobre os mosaicos é um tutorial do ffmpeg.org, então explica muito do que está acontecendo.
Solução específica
O ffmpeg / avconv é muito poderoso, mas às vezes pode demorar um pouco para descobrir exatamente o que você quer fazer e como você quer fazê-lo. Agora vou tentar construir uma solução específica.
Digamos que o vídeo esteja no padrão HD 1920x1080, proporção 16: 9.
Primeiro, você precisa descobrir o tamanho do vídeo de sobreposição. Você provavelmente gostaria de ver isso visualmente, mas você pode tentar este processo várias vezes até que esteja satisfeito. Se os dois vídeos forem do mesmo tamanho, talvez você possa transformar o overlay em um quarto do tamanho horizontal do plano de fundo. A sobreposição seria então 1920/4 = 480 de largura e (1920/4) * (9/16) = 270 de altura nas coordenadas (do canto superior esquerdo) x = 1920-480 = 1440 e y = 1080-270 = 810. / p>
Isto é apenas um pouco de Matemática porque eu queria fazer o vídeo precisamente com um quarto do tamanho horizontal. Você pode especificar o tamanho e a posição da sobreposição.
Usando o filter_complex ( documentação ), defina a posição da sobreposição:
-filter_complex overlay=1440:810
E adicionando o filtro de escala para a sobreposição:
-filter_complex "[1] scale=480:270 [over]; [0][over] overlay=1440:810"
(Os números entre colchetes especificam em qual das entradas é atuado.) (O filtro de escala precisa ir antes do filtro de sobreposição, caso contrário, o vídeo de sobreposição fluirá para fora do plano de fundo / saída e causará um erro.)
A construção de todo o comando seria a seguinte:
ffmpeg -i background.movie -i overlay.movie -filter_complex "[1] scale=480:270 [over]; [0][over] overlay=1440:810" output.movie
("- i" designa entradas; a saída é o único outro argumento sem o indicador de opção "-".)
Método
- Instalar o ffmpeg / avconv
- Copie e cole o comando na sua interface de linha de comando
- Altere os arquivos de entrada e saída. (Você pode primeiro navegar até a pasta específica e apenas executar com os nomes de arquivos, ou você pode especificar o caminho completo no comando). (Ffmpeg / avconv seleciona automaticamente o formato da extensão de nome de arquivo de saída, portanto altere-o para, por exemplo " .mp4 ".)
- Altere as resoluções / tamanhos.
- Execute o comando.
Teste
Eu testei isso com o avconv precisamente com a mesma sintaxe (com outras resoluções na proporção de 4: 3, só porque esse era o padrão) e foi capaz de mudar isso
eisso
para isso
(EstessãoinstantâneosVLC.)
ObrigadoeBibliografia
- Comovocêdevetervisto,tomeiemprestadomuitodo
blahdiblah do usuário (no segundo exemplo de link ) quem sabe mais do que eu sobre essas coisas - obrigado! - Também consultei a documentação do ffmpeg.org .