50초 전 ffmpeg 끝에서 지정된 시작 및 종료 시간부터 영화를 자르는 방법은 무엇입니까?

50초 전 ffmpeg 끝에서 지정된 시작 및 종료 시간부터 영화를 자르는 방법은 무엇입니까?

시작 및 종료 시간이 지정된 영화를 클립하고 싶습니다. ffmpeg를 사용하여 시작 시간을 설정했지만 작업이 완료될 예정이지만 종료 시간을 설정하고 싶습니다. 마지막으로 50초 전의 끝입니다. 구성을 어떻게 설정하는지 모르겠습니다.

ffmpeg -i demo.mp4 -ss 00:01:20 -acodec libfaac -ab 128k -vcodec mpeg4 -b 800k -mbd 2 -cmp 2 -subcmp 2 new_demo.mp4

답변1

올바른 방법은 입력 정보의 ffmpeg 판독값을 기간 동안 구문 분석한 다음 -t값을 제공하는 것입니다 duration - start time - 50s.

미친 방법은 입력을 두 번 공급하고 오버레이 필터를 사용하는 것입니다.

ffmpeg -ss 2:10 -i demo.mp4 -ss 00:01:20 -i demo.mp4 -filter_complex overlay=shortest=1[v] -map [v] -map 1:a -shortest -acodec libfaac -ab 128k -vcodec mpeg4 -b 800k -mbd 2 -cmp 2 -subcmp 2 new_demo.mp4

첫 번째 입력에는 시작 시간 + 잘라낼 비디오의 끝 부분 양의 ss 값이 있습니다.

두 번째 입력에는 시작 시간의 ss 값이 있습니다.

기본 아이디어는 가장 짧은 입력이 끝나면 오버레이 필터가 종료되도록 만들 수 있다는 것입니다. 첫 번째 입력은 ss 값으로 설정되어 end부터의 간격에 도달하면 오버레이가 종료됩니다.

관련 정보