У меня есть исходное видео, продолжительность которого составляет один час, из которого я хочу извлечь пару минут ближе к концу и добавить видео с постепенным увеличением в начале обрезанного раздела.
Используя FFMPEG, яЯ задаю следующую команду:
ffmpeg -i MyLongVideo.mp4 -q:v 0 -y -ss 00:50:00.000 -to 00:52:00.000 -vf "fade=t=in:st=3000.0:d=1.0, scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:(1280-iw)/2:(720-ih)/2" ./testoutput.ts
Это предназначено для обрезки исходного видео с 50: 00.000 до 52: 00.00 и постепенного перехода с 50-й минуты на 0,5 секунды (т. е. при 3000 секундах -st = 3000.0).
Эта команда, которую мы создаем программным способом, работает с более короткими видео или при кадрировании до 35 минут.Для этого более длинного видео я получаю сообщение об ошибке:
[fade @ 0000025399981e80] Value 3000.000000 for parameter 'st' out of range [0 - 2147.48]
Значение 2147.48 составляет около 35 минут в секундах, что объясняет, почему эта команда работает для более коротких видео или при кадрировании раньше, чем 35 минут.
Я видел ряд других проблем с FFMPEG, говорящих об этом «волшебном» числе 2147.48 со значениями параметров.Это какое-то жесткое ограничение?
Есть ли способ сделать то, что я хочу сделать?Я мог бы сделать это в два прохода - извлечь фрагмент видео и затем добавить затухание, но я бы предпочел сделать это одной командой, если это возможно - и это работает для более коротких / более ранних урожаев.