ffmpeg 를 사용할 때 주료 사용하는 코드를 모아보았다. ffmpeg는 사실 공식적인 문서도 있고 주요 코드를 설명하는 좋은 사이트도 많은데 대부분 영어라 알아보기 힘든 경우가 많다.

본 글은 아래 사이트의 번역을 하고 해석을 붙였다.
ffmpeg cheat sheet – github

추가로 ffmpeg 공식 문서 사이트도 참고하면 좋다.
ffmpeg 공식 문서

사전작업

ffmpeg가 설치되어 있어야 하고 환경변수에 추가 되어 있는지 확인해야 한다. ffmpeg 설치가 안 되어 있다면 다음 글을 참고한다.
ffmpeg 설치 방법

먼저 작업할 영상이 있는 폴더로 작업 경로를 이동해주어야 한다.
만일 작업하는 폴더가 C:\Program Files\movie 라면 커맨드 상에서 다음과 같이 입력한다.

cd c:\Program Files\movie

기본코드

ffmpeg -i "작업영상.mp4" "결과영상.avi"

-i 다음에 처리해야 하는 영상의 이름을 적는다. 이름을 반드시 큰 따옴표로 묶을 필요는 없지만 제목에 띄어쓰기가 있는 경우 꼭 큰 따옴표로 묶어 주어야 한다.

-i 다음에 작업영상 이름만 넣으면 해당 영상의 정보를 볼 수 있다. 인코딩 정보나 포함되어 있는 자막도 확인 가능하다.

MKV파일을 MP4파일로 변환

ffmpeg -i "작업영상.mkv" -c:v copy -c:a copy "결과영상.mp4"

-c:v 는 비디오 코덱
-c:a 는 오디오 코덱을 의미한다.
copy는 원본 영상의 코덱을 그대로 사용하겠다는 의미
원본 영상의 코덱을 그대로 사용하면서 컨테이너만 mp4로 변환한다.

고화질 인코딩

ffmpeg -i "작업영상.mp4" -preset slower -crf 18 "결과영상.mp4"

-crf 는 Constant Rate Factor 는 인코딩 시에 비디오 화질을 일정하게 유지해준다. crf 뒤에 오는 숫자는 0~51 사이에서 조절할 수 있고 23이 기본 값이다. 18정도면 큰 화질 저하 없이 인코딩 할 수 있다.
-preset 은 인코딩 속도이다. slower을 붙이면 천천히 작업한다. default 값은 medium이다. 더 자세한 내용은 아래 링크를 참조한다.
Encode/H.264 – FFmpeg

자르기

인코딩 없이 자르기

ffmpeg -ss [00:00:00.000] -i "작업영상.mp4" -to [00:00:00:000] -c "결과영상.mp4"

-ss 는 시작시간을 뜻한다. 그냥 초를 적어도 되고, 위의 예처럼 시간, 분, 초, 밀리초를 적어도 된다. 예) 18분 30초부터 -> 00:18:30 (밀리초 생략가능)
-t 는 영상 길이를 뜻한다. 10을 적으면 10초짜리 영상을 만든다.
-to 는 종료되는 시간을 뜻한다. -ss 00:18:30 -to 00:20:30 으로 적어주면 18분 30초부터 20분 30초까지의 2분짜리 영상으로 자를 수 있다.

카테고리: IT

0개의 댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다