본문 바로가기
IT/운영체제, 프로그램

윈도우에서 동영상 포맷을 .mp4(h.264)로 일괄 변환하는 법 (쉬움!) (avi, mov 등)

by 누에고치 2020. 2. 13.

안녕하세요, 누에입니다.

 

제가 오케스트라에 홍보부장으로 있으면서, 또 개인적으로 여러 영상을 편집하면서 영상을 자르거나 변환할 일이 많습니다. 이런 작업을 할 때, 가장 기본적인 명령어 툴은 FFmpeg겠죠. 또, 하필이면 제 카메라는 AVCHD(.mts)을 사용하고 있고, 아이폰은 HEVC(=h.265)를 사용해서 2020년 기준으로도 가장 범용적인 포맷인 H.264를 적용해주지 않습니다. 그래서 직접 변환할 일이 많았는데, 변환법은 외웠는데 일괄변환법을 맨날 까먹어서 아예 블로그에 적어두려고 합니다.

 

1. ffmpeg 다운로드

제일 먼저, ffmpeg를 다운로드 받고 압축을 풀어줍니다.

https://ffmpeg.zeranoe.com/builds/

 

2. ffmpeg.exe 파일 이동

명령어를 줄이기 위해, /bin에 있는 ffmpeg.exe를 변환하고자 하는 영상과 같은 폴더로 옮깁니다. 절대경로를 사용한다면 이 과정은 생략해도 좋습니다.

 

3. 배치 파일 (.bat) 만들기

새로 만들기 - txt 파일을 선택해서 이름을 이름.bat 꼴로 바꿔줍니다. 저는 convert.bat을 사용하겠습니다.

 

4. 배치 파일 내용 편집

배치파일을 우클릭 - 편집 을 선택하면 메모장이 뜹니다. 다음과 같은 형식의 코드를 입력해줍니다.

for %%a in ("*.MOV") do ffmpeg -i "%%a" -c:v libx264 -c:a copy -preset ultrafast -crf 18 "%%~na.mp4"
pause
  • .MOV 부분은 편집 대상인 파일의 확장자로 바꾸시면 됩니다.
  • libx264는, 혹시 다른 포맷의 비디오를 원한다면 바꿔주세요. 가능한 코덱의 리스트는 ffmpeg -codecs 명령어로 확인할 수 있습니다.
  • copy는, 다른 포맷의 오디오로 변환을 원한다면 바꿔주세요. 가장 흔하게 사용되는 코덱은 aac이며, 나머지 코덱의 리스트는 역시 ffmpeg -codecs.
  • ultrafast는 압축량을 최소로 해서 처리속도를 높혀주는데요, slow, fast, faster 등의 옵션이 있습니다.
  • -crf 18은 libx264의 퀄리티를 결정합니다. 18은 사람이 인지할 수 있는 최소치의 퀄리티고, 23 정도를 쓰기도 합니다.
  • 마지막의 .mp4도, 다른 컨테이너를 원한다면 바꿔주면 되겠군요.

5. 실행

ctrl-S로 저장해주고, 저장한 .bat파일을 실행하면 자동으로 .MOV 파일이 .mp4(h264)로 바뀌는 모습을 볼 수 있습니다.

번외: 오디오 포맷은 뭘 사용해야 하는가?

애플 아이폰은 AAC를 사용하므로 변환할 일은 없었지만, 혹시 필요하다면 다음과 같은 손실코덱들을 사용할 수 있습니다. flac이나 wav 등의 비손실코덱도 물론 지원합니다.

  • Dolby Digital: ac3
  • Dolby Digital Plus: eac3
  • MP2: libtwolame, mp2
  • Windows Media Audio 1: wmav1
  • Windows Media Audio 2: wmav2
  • AAC LC: libfdk_aac, aac
  • HE-AAC: libfdk_aac
  • Vorbis: libvorbis, vorbis
  • MP3: libmp3lame, libshine
  • Opus: libopus

ffmpeg의 공식 가이드라인에 따르면, 2017년 기준으로 ffmpeg에서의 적용품질은 아래에서 왼쪽일수록 좋습니다. (안타깝게도 최신 정보를 못 찾았습니다.)

libopus > libvorbis >= libfdk_aac > aac > libmp3lame >= eac3/ac3 > libtwolame > vorbis > mp2 > wmav2/wmav1

https://trac.ffmpeg.org/wiki/Encode/HighQualityAudio

 

음... 그렇습니다. opus는 비영리재단 xiph에서 낸 가장 새로운 포맷으로 알고 있습니다. 같은 비영리 진영인 ffmpeg에서 역시 잘 지원하나보네요. 참고가 되었으면 좋겠습니다.


글이 도움이 되었다면, 아래의 '공감' 꾹! 눌러주세요!

 

티스토리 블로거라면 아래의 구독

네이버 블로거라면 오른쪽의 이웃추가

해주시면 새글 알림을 받아보실 수 있습니다!

반응형