Есть несколько сомнений относительно команды ffmpeg -
ffmpeg -f concat -i input.txt -loop 1 -t 8 -i inputImg.jpg -filter_complex "[1]format=rgba,fade=alpha=1:st=0:d=8,setpts=PTS+10/TB[v1];[0][v1]overlay=x=70:y=100:enable='between(t,2,10)'" -crf 22 -threads 2 -preset ultrafast output.mp4
1- влияние цикла на производительность, если я не -t 8
и просто использую shortest=1
в оверлейном фильтре - будет ли создано видео с бесконечной продолжительностью, и только при наложении будет выбрано самое короткое видео?
2- что делает setpts
? - Я упомянул -t 8
- поэтому он зацикливается на 8 секунд. Если я сделаю `setpts = PTS+10/TB ', увеличит ли это зацикленное видео до 18 секунд, когда эффект постепенного увеличения составляет от 10 до 18 секунд? что там от 0 до 10 с в зацикленном видео?
3 - как накладываются 2 видео - сливаются ли оба видео с 0-й секунды?
4 - если я хочу применить эффект затухания к изображению, которое будет наложено на мое видео, скажем, на 100-й секунде, то я должен создать зацикленное видео размером 100 с? - как это повлияет на производительность?
5- можно ли использовать frame_no для main_video [0] в looped_video [1]?
6- существует ли какой-либо эффективный способ / альтернатива для применения эффекта фейдера к изображению, например, на основе frame_sequence, fade_in из кадра 30-35?
1 ответ
С целью,
1- влияние цикла на производительность, если я не укажу -t 8 и просто использую самый короткий = 1 в оверлейном фильтре - будет ли создано видео с бесконечной продолжительностью, и только при наложении будет выбрано самое короткое видео?
В теории да. Но в настоящее время есть ошибка с shortest=1
, поэтому не используйте ее.
2- что делает setpts?
Это меняет метки времени. В вашей команде он добавляет 10 секунд к временным меткам, так что поток сгенерированного изображения имеет свои первые временные метки как 10 секунд.
3 - как накладываются 2 видео - сливаются ли оба видео с 0-й секунды?
Кадры с соответствующими временными метками накладываются друг на друга, т.е. кадр с PTS 10 секунд изображения накладывается на базовый видеокадр с PTS 10 секунд.
4 - если я хочу применить эффект затухания к изображению, которое будет наложено на мое видео, скажем, на 100-й секунде, то я должен создать зацикленное видео размером 100 с? - как это повлияет на производительность?
Нет. Продолжительность должна указывать продолжительность показа видео. Используйте setpts, чтобы изменить время начала.
5- можно ли использовать frame_no для main_video [0] в looped_video [1]?
enable
коммутатор использует рама / метки времени от основного видео.
6- существует ли какой-либо эффективный способ / альтернатива для применения эффекта фейдера к изображению, например, на основе frame_sequence, fade_in из кадра 30-35?
Нет, так же, как то, что вы используете. Вы можете использовать переменные, которые относятся к числу кадров для установки начала s
и продолжительности n