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

답변

crop 필터 :

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

어디서 옵션은 다음과 같습니다.

  • out_w는 출력 사각형의 너비입니다.
  • out_h는 출력 사각형의 높이입니다.
  • xy는 출력 사각형의 왼쪽 상단 모서리를 지정합니다. 출력 직사각형

원본 이미지

원본 이미지
원본 320×240 이미지

예 1

80x60

위치 (200, 100) :

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=160:120:160: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 heh)를 가져 와서 :

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

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

참고

  • crop 필터 문서

  • MP4의 기본 인코더는 libx264 (H.264 동영상) 또는 mpeg4 (MPEG- 4 Part 2 비디오) 빌드. 자세한 내용은 FFmpeg Wiki : H.264 비디오 인코딩 가이드 를 참조하세요.

  • 잘라 내기 및 다시 만들기 대신 인코딩, 재생시 자르기를 고려하십시오. 이는 사용할 가치가있는 모든 플레이어에서 가능합니다.

  • 고대 ffmpeg 빌드가 -croptop를 사용했습니다. , -cropbottom, -cropleft, -cropright 옵션 대신 crop 필터. 이 경우 최신 ffmpeg 를 구입하세요. 개발이 매우 활발하고 골동품을 사용할 이유가 없습니다.

댓글

  • 이 작업은 ' avconv ' 지금.
  • 이 기술을 언급 할 가치가 있습니다 (crop 필터) 동영상을 다시 인코딩합니다. 다시 인코딩하는 경우 stackoverflow.com/questions/33378548/ … 를 참조하세요. 인코딩이 중요합니다.
  • 오래된 -filter:v를 최신 상태로 변경하고 입력하기 더 간단하게 편집했습니다. -vf . 건배!
  • ' 동영상 (piallarbox, letterbox, windowbox 등) 주변의 검은 색 띠를 제거하려는 경우 cropdetect 먼저 ffmpeg 인쇄 자르기 매개 변수를 사용합니다. ffmpeg.exe -i vid.mp4 -vf cropdetect out.mp4
  • 이 자르기 필터는 훌륭하게 작동합니다! 비디오를 자르는 데 필요한 경계 상자를 결정하기 위해 비디오 프레임을 ffmpeg가있는 이미지로 내보냈습니다. 그런 다음 김프로 이미지를 열고 비디오를 자르고 싶은 영역의 경계 상자를 그릴 수 있으며 포인터 창에서 X, Y, W, H 정보를 얻을 수 있습니다. 이것이 충분히 명확하지 않은지 물어보십시오.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다