
Adicione áudio mais curto ao vídeo com loop com controle de volume de áudio e vídeo e apenas por uma duração específica ((quero adicionar áudio e manter o som do áudio e do vídeo em ambos os casos))
Eu tenho duas partes de um problema
1) o áudio tem 27 segundos de duração 2) O vídeo tem 2 minutos e 24 segundos de duração
a) Quero fazer um loop do áudio e adicioná-lo ao vídeo, por exemplo (adicionar apenas áudio) de 50 segundos a 1 minuto e 30 segundos (não o vídeo inteiro, mas ainda assim obter o vídeo inteiro como saída) dentro do vídeo, com o loop áudio
b) crie um clipe de vídeo de 50 segundos a 1 minuto e 30 segundos (não o vídeo inteiro como saída) dentro do vídeo, com o áudio em loop
Eu usei o seguinte comando do ffmpeg para adicionar áudio ao vídeo, que adiciona todo o vídeo, como podemos i) especificar apenas uma parte do vídeo para ter o áudio em loop ii) criar um novo clipe para a duração selecionada com o áudio em loop
até agora consegui fazer um loop e alterar o volume do áudio e do vídeo e mixá-los com o seguinte comando para todo o vídeo
"-y","-i",videofile, "-filter_complex",
"amovie=audiofile:loop=1000,asetpts=N/SR/TB,aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=1.5[a1];" +
"[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=0.5[a2];" +
" [a1][a2]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[out]",
"-map","0:v","-map","[out]","-c:v","copy","-c:a","aac","-shortest","-preset", "ultrafast", outputfile
Estou preso em gerenciar o tempo em ambos os casos
Responder1
Usar
amovie=audiofile:loop=1000,asetpts=N/SR/TB,atrim=0:40,adelay=50000|50000,apad,aformat=...
O trim mantém os primeiros 40 segundos do áudio em loop, o adelay muda seu tempo de início para 50.000 milissegundos, ou seja, 50 segundos.
Responder2
este é um código para adicionar áudio ao vídeo com 1) loop de áudio 2) alterar o volume do áudio e do vídeo 3) criar um novo arquivo com duração definida apenas 4) criar um arquivo com duração de vídeo original e áudio em uma determinada parte do vídeo
A) apenas para novo arquivo com duração definida
"-y","-i",j,
"-filter_complex",
"amovie="+audio+":loop=999,asetpts=N/SR/TB," +
"atrim=0:40,adelay=50000|50000,aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=1.5[a1];" +
"[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=2.0[a2];" +
" [a1][a2]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[out]",
"-ss","50", "-t","40","-map","0:v","-map","[out]","-c:v","copy","-c:a","aac","-preset", "ultrafast", out
o que fazemos é adicionar"-ss","50", "-t","40"
b) para um arquivo com duração de vídeo e áudio originais em uma determinada parte do vídeo
"-y","-i",j,
"-filter_complex",
"amovie="+audio+":loop=999,asetpts=N/SR/TB," +
"atrim=0:40,adelay=50000|50000,aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=1.5[a1];" +
"[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=2.0[a2];" +
" [a1][a2]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[out]",
"-ss","50", "-map","0:v","-map","[out]","-c:v","copy","-c:a","aac","-preset", "ultrafast", out
o que fazemos é adicionar"-ss","50"
mas não adicione"-t","40"`