Criar comando ffmpeg para script batch
Budget: $10 – $12 USD
Crie um comando ffmpeg para script batch que faça uma sobreposição, redimensionamento e movimento da imagem ao longo do tempo.
Estou usando o windows 10 x64, e executando os comandos via arquivo “.bat”, usando a versão “ffmpeg-2023-11-22-git-0008e1c5d5-full_build.7z” do ffmpeg, mas caso tenha alguma recomendação de versão basta me enviar.
Basicamente são dois comandos, o comando 1, e o comando 2 que é o mesmo que o primeiro só que simplificado, basta corta umas partes do primeiro. Se for possível juntar os dois seria bem melhor, mas teria que separar as definições das variáveis. Vou descrever detalhadamente:
O principal ponto é que seja o mais intuitivo possível de alterar as posições e outros detalhes, por meio de variáveis, se for possível colocar até mais do que exemplifiquei em variáveis fáceis de modificar seria bom também, mas o que importa mesmo são os que exemplifiquei abaixo, vamos lá:
Comando 1:
Preciso criar um comando ffmpeg em script batch para fazer uma sobreposição da imagem "item.png" (resolução 400x500) no vídeo "video.mp4" (resolução 1920x1080), quero que essa imagem comece no segundo 2 na posição X=1448 e Y=14 do vídeo com um efeito de zoom vindo do canto superior esquerdo da imagem indo de 0 até 100% em 1.4 segundos, e depois no segundo 12 se desloque suavemente durante 2 segundos para uma outra posição como por exemplo X=300 e Y=300, durante esse deslocamento deve ser reduzido gradualmente o tamanho da imagem até atingir 96x122 (se não for possível apenas reduza gradativamente até 10% do tamanho total da imagem) no ponto em que a imagem atingir a posição final, já na posição final a imagem deve ser reduzida 20% e depois voltar ao tamanho original, para dar um efeito de clique, e ficar nessa posição até o final do vídeo.
set ffmpeg="ffmpeg.exe"
set video_input="video.mp4"
set imagem_input="item.png"
set output_file="saida.mp4"
REM Defina a posição inicial e final da imagem
set x_inicial=1448
set y_inicial=14
set x_final=300
set y_final=300
REM Defina o momento de início do zoom (em segundos)
set inicio_zoom=2
REM Defina o duração do zoom (em segundos)
set duracao_zoom=1.4
REM Defina o momento de início do movimento (em segundos)
set inicio_movimento=12
REM Defina a duração total do movimento (em segundos)
set duracao_total=2
Comando 2:
Preciso criar um comando ffmpeg em script batch para fazer uma sobreposição da imagem "item2.png" (resolução 96x122) no vídeo "video.mp4" (resolução 1920x1080), quero que essa imagem comece no segundo 2 na posição X=1400 e Y=500 do vídeo com um efeito de zoom no centro da imagem indo de 0 até 100% em 1.4 segundos e fique nessa posição até o final do video.
set ffmpeg="ffmpeg.exe"
set video_input="video.mp4"
set imagem_input="item2.png"
set output_file="saida2.mp4"
REM Defina a posição inicial e final da imagem
set x_inicial=1400
set y_inicial=500
REM Defina o momento de início do zoom (em segundos)
set inicio_zoom=2
REM Defina o duração do zoom (em segundos)
set duracao_zoom=1.4
Estou usando o windows 10 x64, e executando os comandos via arquivo “.bat”, usando a versão “ffmpeg-2023-11-22-git-0008e1c5d5-full_build.7z” do ffmpeg, mas caso tenha alguma recomendação de versão basta me enviar.
Basicamente são dois comandos, o comando 1, e o comando 2 que é o mesmo que o primeiro só que simplificado, basta corta umas partes do primeiro. Se for possível juntar os dois seria bem melhor, mas teria que separar as definições das variáveis. Vou descrever detalhadamente:
O principal ponto é que seja o mais intuitivo possível de alterar as posições e outros detalhes, por meio de variáveis, se for possível colocar até mais do que exemplifiquei em variáveis fáceis de modificar seria bom também, mas o que importa mesmo são os que exemplifiquei abaixo, vamos lá:
Comando 1:
Preciso criar um comando ffmpeg em script batch para fazer uma sobreposição da imagem "item.png" (resolução 400x500) no vídeo "video.mp4" (resolução 1920x1080), quero que essa imagem comece no segundo 2 na posição X=1448 e Y=14 do vídeo com um efeito de zoom vindo do canto superior esquerdo da imagem indo de 0 até 100% em 1.4 segundos, e depois no segundo 12 se desloque suavemente durante 2 segundos para uma outra posição como por exemplo X=300 e Y=300, durante esse deslocamento deve ser reduzido gradualmente o tamanho da imagem até atingir 96x122 (se não for possível apenas reduza gradativamente até 10% do tamanho total da imagem) no ponto em que a imagem atingir a posição final, já na posição final a imagem deve ser reduzida 20% e depois voltar ao tamanho original, para dar um efeito de clique, e ficar nessa posição até o final do vídeo.
set ffmpeg="ffmpeg.exe"
set video_input="video.mp4"
set imagem_input="item.png"
set output_file="saida.mp4"
REM Defina a posição inicial e final da imagem
set x_inicial=1448
set y_inicial=14
set x_final=300
set y_final=300
REM Defina o momento de início do zoom (em segundos)
set inicio_zoom=2
REM Defina o duração do zoom (em segundos)
set duracao_zoom=1.4
REM Defina o momento de início do movimento (em segundos)
set inicio_movimento=12
REM Defina a duração total do movimento (em segundos)
set duracao_total=2
Comando 2:
Preciso criar um comando ffmpeg em script batch para fazer uma sobreposição da imagem "item2.png" (resolução 96x122) no vídeo "video.mp4" (resolução 1920x1080), quero que essa imagem comece no segundo 2 na posição X=1400 e Y=500 do vídeo com um efeito de zoom no centro da imagem indo de 0 até 100% em 1.4 segundos e fique nessa posição até o final do video.
set ffmpeg="ffmpeg.exe"
set video_input="video.mp4"
set imagem_input="item2.png"
set output_file="saida2.mp4"
REM Defina a posição inicial e final da imagem
set x_inicial=1400
set y_inicial=500
REM Defina o momento de início do zoom (em segundos)
set inicio_zoom=2
REM Defina o duração do zoom (em segundos)
set duracao_zoom=1.4