
Agregue audio más corto al video con bucle con control de volumen tanto de audio como de video y solo por una duración específica ((quiero agregar audio y mantener el sonido tanto del audio como del video en ambos casos))
tengo dos partes de un problema
1) el audio dura 27 segundos 2) el vídeo dura 2 minutos y 24 segundos
a) Quiero hacer un bucle del audio y agregarlo al video, por ejemplo (agregar solo audio) de 50 segundos a 1 minuto y 30 segundos (no todo el video, pero aún así obtener el video completo como salida) dentro del video, con el bucle. audio
b) crear un clip de vídeo de 50 segundos a 1 minuto y 30 segundos (no el vídeo completo como salida) dentro del vídeo, con el audio en bucle
He usado el siguiente comando de ffmpeg para agregar audio al video, lo que agrega todo el video, ¿cómo podemos i) especificar solo una parte del video para tener el audio en bucle ii) crear un nuevo clip para la duración seleccionada con el audio en bucle?
Hasta ahora he podido realizar bucles y cambiar el volumen de audio y video y mezclarlos con el siguiente comando para todo el video.
"-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
Estoy estancado en la gestión del tiempo en ambos casos.
Respuesta1
Usar
amovie=audiofile:loop=1000,asetpts=N/SR/TB,atrim=0:40,adelay=50000|50000,apad,aformat=...
El ajuste mantiene los primeros 40 segundos del audio en bucle, el retraso cambia su tiempo de inicio a 50000 milisegundos, es decir, 50 segundos.
Respuesta2
este es un código para agregar un audio al video con 1) bucle de audio 2) cambiar el volumen tanto del audio como del video 3) crear un nuevo archivo de duración establecida solamente 4) crear un archivo con la duración del video original y el audio en una determinada parte de video
A) solo para archivos nuevos de duración establecida
"-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
lo que hacemos es agregar"-ss","50", "-t","40"
b) para un archivo con duración de video original y audio en una determinada parte del video
"-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
lo que hacemos es agregar"-ss","50"
pero no agregues"-t","40"`