ffmpeg를 사용하여 여러 지점에서 비디오 자르기

ffmpeg를 사용하여 여러 지점에서 비디오 자르기

축구 경기 동영상이 있어요. 시간을 단축 before the game해서 during half time드디어 게임이 끝났으면 좋겠다 .

총 클립 길이 1h 51m또는111m

이상적인 컷과 시간은 다음과 같습니다.

+------------+-------------+---------------------+
| Start Time | Finish Time |    Clip Duration    |
+------------+-------------+---------------------+
| 1:30       |   47:30     |  47:30              |
| 53:00      |   100:00    |  47                 |
+------------+-------------+---------------------+

하지만 내 동영상은 다음 시간에 종료됩니다.

ffmpeg -ss 00:01:30 -i Tripod_Camera.mp4 -t 00:47:30 -ss 00:53:00 -t 00:47:00 -c copy VideoClip.mp4

답변1

  1. input.txt잘라낼 타임스탬프(초 단위)를 포함하도록 만듭니다 .

    file 'input.mp4'
    inpoint 90
    outpoint 2850
    file 'input.mp4'
    inpoint 3180
    outpoint 6000
    
  2. 실행 ffmpeg하여연결 디먹서:

    ffmpeg -f concat -i input.txt -c copy output.mp4
    
  • 이것은스트림 복사, 따라서 재인코딩이 발생하지 않으므로 전체 프로세스가 빠르고 품질이 유지됩니다. 그러나 키프레임에 대한 컷이 이루어지기 때문에 충분히 정확하지 않을 수 있습니다. 더 높은 정확도가 필요한 경우 (a)trim, (a)setpts 및 다시 인코딩이 필요한 연결 필터를 사용하는 등 훨씬 느린 방법을 사용해야 합니다.

  • A/V 비동기화 현상이 발생하면키프레임의 타임스탬프 가져오기의 경우 키프레임 타임스탬프를 로 사용 inpoint하되 의 각 inpoint타임스탬프 에 0.001을 추가합니다 input.txt.

답변2

사용비디오컷내가 이 목적을 위해 쓴 것입니다. 자체 먹서로 인해 ffmpeg보다 더 정확하고 그래픽 인터페이스를 제공합니다.

ffmpeg(또는 해당 라이브러리)를 기반으로 하기 때문에 절단에는 손실이 없습니다. 여기에 이미지 설명을 입력하세요

관련 정보