ffmpeg: объединить -tpad с -ss и -t

ffmpeg: объединить -tpad с -ss и -t

Используя ffmpeg с -ss, -t и -tpad, я пытаюсь обрезать кучу клипов до фиксированной длины в 6 секунд: 2 секунды handle в начале + 2 секунды интереса + 2 конечные секунды в конце. К сожалению, некоторые из моих входных клипов не имеют 2 конечных секунд в конце или начале, поэтому я пытаюсь дополнить их с помощью tpad (чтобы на выходе всегда было 6 секунд). Это вроде как работает, но теперь у меня две секунды интереса всегда в начале, а не в середине, как я хочу. Как это исправить?

Бонусный вопрос: В настоящее время он заполняет черным. Как цветная опция может использовать первый / последний кадр видео в качестве неподвижного изображения?

Код, который я использую (вызывается из Python, но для цепочки фильтров это не должно иметь значения):

filterchain = "[0:v]tpad=stop=-1,trim=end=6,scale='if(gt(a,1/1),-1,480)':'if(gt(a,1/1),480,-1)',setsar=1,crop=480:480"
subprocess.call(['ffmpeg', '-ss', str(inpoint-2), '-t', '6',
  '-i', input_clip, '-filter_complex', filterchain, '-r', '25',
  '-c:v', 'prores', '-profile:v', '1', '-c:a', 'pcm_s16le',
  '-ar', '48000', "-hide_banner", '-loglevel', 'error', output])

Связанный контент