
Добавить более короткий звук к видео с циклом и регулировкой громкости как звука, так и видео, и только на определенную продолжительность ((я хочу добавить звук и сохранить и звук, и звук видео в обоих случаях))
У меня есть две части проблемы
1) длительность аудио составляет 27 секунд 2) длительность видео составляет 2 минуты 24 секунды
а) Я хочу зациклить звук и добавить его к видео, например, (добавить только звук) от 50 секунд до 1 минуты 30 секунд (не все видео, но все равно получить все видео на выходе) внутри видео, с зацикленным звуком.
б) создать видеоклип длительностью от 50 секунд до 1 минуты 30 секунд (не все видео на выходе) внутри видео, с зацикленным звуком
Я использовал следующую команду из ffmpeg для добавления звука к видео, которая добавляет его ко всему видео. Как мы можем: i) указать только часть видео для зацикленного звука ii) создать новый клип для выбранной длительности с зацикленным звуком?
до сих пор мне удалось зациклить и изменить громкость как звука, так и видео, а также смешать их с помощью следующей команды для всего видео
"-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
Я застрял в управлении временем в обоих случаях.
решение1
Использовать
amovie=audiofile:loop=1000,asetpts=N/SR/TB,atrim=0:40,adelay=50000|50000,apad,aformat=...
Функция Trim сохраняет первые 40 секунд зацикленного звука, а функция adelay сдвигает время начала на 50000 миллисекунд, т.е. на 50 секунд.
решение2
это код для добавления звука в видео с помощью 1) зацикливания звука 2) изменения громкости как звука, так и видео 3) создания нового файла только с заданной длительностью 4) создания файла с исходной длительностью видео и звуком в определенной части видео
A) только для нового файла установленной длительности
"-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
то, что мы делаем, это добавляем"-ss","50", "-t","40"
б) для файла с оригинальной длительностью видео и звуком в определенной части видео
"-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
то, что мы делаем, это добавляем"-ss","50"
но не добавляй"-т","40"`