
-ss, -t 및 -tpad와 함께 ffmpeg를 사용하여 여러 클립을 총 6초의 고정 길이로 자르려고 합니다. 처음 핸들 2초 + 관심 2초 + 끝 후행 2초 . 불행하게도 내 입력 클립 중 일부에는 끝이나 시작 부분에 2초가 없기 때문에 tpad로 패딩하려고 합니다(따라서 출력은 항상 6초입니다). 그런 식으로 작동하지만 이제는 내가 원하는 것처럼 중간이 아니라 항상 처음에 2초의 관심을 갖습니다. 이 문제를 어떻게 해결할 수 있나요?
보너스 질문: 현재는 검정색으로 채워져 있습니다. 색상 옵션이 어떻게 비디오의 첫 번째/마지막 프레임을 스틸로 사용할 수 있습니까?
내가 사용하는 코드(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])