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분짜리 영상으로 자를 수 있다.
0개의 댓글