대부분은 동영상을 인코딩 할 때 다음 팟인코더(현재 지원 중단)나, Adobe Media Encoder를 쓰는 것도 있지만. 본좌에 속하는 인코딩 소프트웨어인 FFmpeg를 소개 해 봅니다!
FFmpeg는 대부분의 인코딩 소프트웨어가 이 기반인데다가, Windows 말고 Linux, macOS 에도 지원되는 플랫폼이기도 해요. 여기서 특이한 점은 모두 명령어로 입력해서 인코딩을 작업합니다!
또한, 소프트웨어 설치 없이 x264 또는 DTS, AC3 등 다양한 코덱으로 인코딩이 가능해 인코딩 소프트웨어로는 매우 강력해요!
물론 인코딩 없이 영상만 따로 복사하거나, 필터 지원, 내장 자막 인코딩, 업스케일 등 지원되는 것이 많아요!
FFmpeg 다운로드 방법
FFmpeg를 다운로드 하는 방법은 공식 웹 사이트에서 다운로드가 가능합니다! Download 메뉴를 눌러서, 자신에게 맞는 운영체제를 선택해 다운로드 해 주시면 됩니다!
여기서 다운로드 할 것은 Static Build 버전이고, 자신이 사용하는 시스템 종류 (x86, x64)에 맞게 다운로드 해 주시면 OK!
※여기서 저는 Windows 버전의 FFmpeg 64-bit Static 버전으로 다운로드 했어요!
FFmpeg 사용 방법
압축을 푸시면, Windows 일 경우 ff-prompt.bat을 실행 해 주시고. Linux나 macOS 에서는 터미널을 실행 해 주세요
입력은 이렇게 해 주세요!
./ffmpeg -i “(파일명).(확장자)” “out.mp4”
※주의: ffmpeg 프로그램이 있는 디렉토리 (폴더 위치)이어야 합니다!
입력 해 주면 인코딩이 시작되고, out.mp4 라는 파일이 생성 되었을거예요!
코덱, 화질/음질 옵션 사용법
가장 먼저 비디오 코덱을 설정하는 명령어인 -c:v 또는 -vcodec 인데요. 주로 사용되는 코덱인 libx264 라는 코덱으로 한다면 -c:v libx264라고 입력을 하면 x264 (H.264)로 인코딩 할 수 있어요
그리고 화질을 설정하는 것인 -crf 가 있는데요. 이거는 각 영상의 부분마다 화질을 자동적으로 처리를 해 줘요! 설정하는 방법은 -crf (값)로 해 주시면 OK!
값 부분에는 0~59까지 있는데요. 값이 낮을수록 의 손실이 적어져요! (0이면 무손실) 다만 그와 함께 용량도 올라가는 현상도 생겨버려요
그래서 대부분은 -crf 20이나 -crf 23으로 인코딩을 합니다!
그 다음에는 오디오 코덱을 설정하는 방법은 -c:a 또는 -acodec 인데요. 인코딩이 가능한 오디오 코덱은 MP3, AAC, AC3, DTS, FLAC 등 사용이 가능해요!
사용방법은 AAC로 인코딩 할 때 -c:a aac 라고 적어주시면 AAC 코덱으로 인코딩 할 수 있어요! 사실 AAC 코덱에는 libfdk_aac나 faac 등 다양한 것들이 있는데, 그 중에서 하나인 FFmpeg 내장 AAC 코덱으로 인코딩 해요! (음질 문제는 현재 해결)
그 다음에는 음질 값을 설정하려면 -b:a (값) 을 입력해 주시면 됩니다!
기본 값은 128k인데. 괜찮은 음질을 원하신다면 192k~320k 정도면 적당해요!
입력 방법은 320k로 설정한다면 -b:a 320k 라고 입력 해 주시면 설정 완료!
이제 설정 완료가 된 명령어가 ffmpeg -i “(파일명).(확장자)” -c:v libx264 -crf 23 -c:a aac -b:a 320k “tutorial.mp4” 일 거예요! 이 명령어를 입력 해 주시면, 화질과 음질, 그리고 코덱까지 설정한 인코딩 영상 파일이 생성 될거예요 🙂
참고로 코덱을 인코딩 할 필요없이 복사 하는 방법은 copy를 입력 해 주시면 OK!
※예: -c:v copy 또는 -c:a copy
더 많은 옵션을 사용하려면…
FFmpeg 공식 홈페이지의 Documentation 항목 중 ffmpeg-all 항목을 보면 더 많은 옵션들을 사용할 수 있어요!
예을 들자면 -vf 이라는 비디오 필터 옵션으로 이용해 영상 화면의 크기를 조정하거나, 프레임 레이트를 조정할 수 있어요!
쉽게 인코딩 하는 방법
이 기반인 인코딩 소프트웨어는 GUI 으로 된 Handbrake가 있어요!
아니면 자신이 작성한 명령어들을 따로 메모장에 저장해 두어서 프리셋을 준비 해 두는 것이 편할거예요! 저도 이렇게 해서 인코딩 작업을 빠르게 하고 있어요!
물론 ffpreset 이라는 것도 활용 해 보는 것도 좋아요!
이제 FFmpeg를 어떻게 사용하는지 조금은 감이 잡힐겁니다! 급할 필요는 없으니 천천히 기능들을 알아보면서 접해보면, 저 처럼 유용하게 쓰실지도 몰라요
아무튼 이 글을 읽어주셔서 감사합니다!
어휴 터미널명령어로 인코딩하는거 계속찾다가 퇴근직전에야 겨우찾았네요 정말 감사합니다 ㅎ
좋아요좋아요