FFMPEG를 사용하여 비디오에서 클립 만들기

FFMPEG를 사용하여 비디오에서 클립 만들기

m매 분마다 2초짜리 비디오로 FFmpeg를 사용하여 비디오 클립을 만들고 싶습니다.

m = video_length / 5

예를 들어 10분 길이의 동영상이 있습니다. 비디오 클립의 총 길이는 10초(2초 x 5개 세그먼트)이며 다음 비디오 타임스탬프 범위로 구성됩니다.

00:00 - 00:02
02:00 - 02:02
04:00 - 04:02
06:00 - 06:02
08:00 - 08:02

이렇게 하면 비디오에서 일종의 예고편이 생성됩니다.

세그먼트를 사용하여 이를 달성할 수 있다는 것을 알고 있지만 전체 프로세스를 파악할 수는 없습니다.

답변1

선택 필터를 사용하면 한 번에 이 작업을 수행할 수 있습니다.

ffmpeg -i in.mp4
       -vf select='lt(mod(t,120),2)',setpts=N/FRAME_RATE/TB
       -af aselect='lt(mod(t,120),2)',asetpts=N/SR/TB
       out.mp4

답변2

나는 당신이 하는 방법을 알고 있어요~할 것 같다사용. 하지만 조금 지저분합니다.

다음과 같은 명령을 사용하여 클립을 추출합니다.

ffmpeg -i -ss <time to start> -t <duration> <output clip filename>

당신이 하는 일은 이 형식으로 클립을 추출하는 것입니다. 여기서는 -ss클립의 시작 부분이고 -t클립의 지속 시간입니다. 추출한 후에는 다음과 같이 연결할 수 있습니다.

ffmpeg -i concat:"clip_file1|clip_file2|clip_file3" -c copy <your output file>

-bsf:a aac_adtstoasc이러한 형태의 연결은 모든 비디오 형식에서 작동하지 않으며 MP4 파일과 같은 다른 인수를 입력해야 할 수도 있습니다 . 하지만 이렇게 하면 원하는 비디오를 얻을 수 있습니다.

관련 정보