ffmpeg로 비디오를 자르려면 어떻게해야합니까?


172

화면을 잘라 내야하는 MP4 파일이 있습니다. Adobe Premier 또는 Final Cut과 같은 비싼 도구를 사용하지 않고 어떻게이 작업을 수행 할 수 있습니까? 나는 ffmpeg그것을 전에 사용했기 때문에 선호합니다 .

답변:


264

crop필터를 사용하십시오 :

ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4

옵션은 다음과 같습니다.

  • out_w 출력 사각형의 너비
  • out_h 출력 사각형의 높이
  • xy출력 사각형의 왼쪽 상단 모서리를 지정

원본 이미지

원본 이미지
원본 320x240 이미지

실시 예 1

80x60

위치 (200, 100)에서 시작하여 80 × 60 섹션을 자르려면 :

ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
  • 이 예제에서는 오디오가 스트림 복사 되므로 다시 인코딩하지 않아도됩니다.

실시 예 2

오른쪽 하단

오른쪽 하단을 자르려면

ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4

이것은 다음과 같습니다.

ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4

다음과 같습니다.

ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4
  • 이 첫 번째 예에서 in_win_h같이 입력 이미지 크기를 참조 할 수 있습니다 . 출력 너비와 높이도 함께 사용할 수 out_wout_h.

실시 예 3

상단에서 20 픽셀, 하단에서 20 픽셀

상단에서 20 픽셀, 하단에서 20 픽셀 자르기 :

 ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
  • 필터는 자동 경우 작물 중심 것 xy본 실시 예에서와 같은 생략한다.

미리보기

자르기 (heh hehh)를 가져 와서 다음과 ffplay같이 실시간으로 미리 볼 수 있습니다 .

ffplay -i input -vf "crop=in_w:in_h-40"

이를 통해 인코딩,보기, 반복없이 자르기를 실험하고 조정할 수 있습니다.

노트

  • crop 필터 문서

  • MP4의 기본 인코더는 빌드 에 따라 libx264(H.264 비디오) 또는 mpeg4(MPEG-4 Part 2 비디오) ffmpeg입니다. 자세한 내용은 FFmpeg Wiki : H.264 비디오 인코딩 안내서 를 참조하십시오.

  • 자르기 및 재 인코딩 대신 재생시 자르기를 고려하십시오. 이것은 사용할 가치가있는 플레이어라면 가능합니다.

  • 고대가 ffmpeg사용하는 빌드 -croptop, -cropbottom, -cropleft, -cropright대신의 옵션 crop필터. 이것이 당신을위한 경우라면 현대ffmpeg얻으십시오 . 개발이 활발하고 골동품을 사용할 이유가 없습니다.


2
이것은 이제 'avconv'와 함께 작동합니다.
Joce

1923x1080이 있고 1920x1080을 원합니다. 이것은 내가 시도한 표창입니다. /Users/kukodajanos/Workspace/ffmpeg -i /Users/kukodajanos/Desktop/video_640x480-2.mp4 -filter:v "crop=1920:1080:0:0" -c:a copy /Users/kukodajanos/Desktop/video_640x480-4.mp4그러나 원본 영화는 반환됩니다.
János

@Joce JFYI avconv는 libav의 일부입니다 – ffmpeg의 포크
andrybak

1
crop필터를 사용 하여이 기술을 언급 하면 비디오를 다시 인코딩 할 수 있습니다. 다시 인코딩
해야하는

1
구식 -filter:v을 최신으로 변경하고 입력 하기가 더 간단하도록 편집했습니다 -vf. 건배!
Geek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.