본문 바로가기

Tips/Mac

오디오 파일 자동 변환 시키기 by using FFMPEG, PARALLEL with CLI, Automator - (Automatic Converting FLAC files to M4A files using ffmpeg, parallel with CLI, Automator)

안녕하세요. 

리눅스 시스템을 사용하는 유저라면 쉽게 접할 수 있지만, 윈도우즈나 맥을 사용하는 유저 중 대다수는 명령어를 사용해서 내가 사용하고자 하는 프로그램을 만든다는게 다소 낯설수 있을 것입니다. 그러나 많은 자동화 시스템 중 비교적 손쉽게 만들 수 있는 부분이 있는데, 그 중 하나인 homebrew 를 사용하여 오디오 자동 변환 프로그램을 구현하는 것입니다. 몇 줄의 명령어만 넣으면 오디오 파일을 변환할 수 있습니다. 여기에 맥에 있는 오토메이터(Automator)를 이용하여 특정 폴더에 변환할 파일 혹은 폴더를 투척(집어넣기)만 하면 자동으로 변환을 시켜주게 만들어 보도록 하겠습니다.


우선 이 시스템은 맥킨토시(MAC) 이기에 여기에 맞추어 작성을 하겠습니다. 오토메이터 부분만 제외한다면 윈도우즈 사용자도 크게 다르지는 않습니다.


1. Homebrew 설치하기


맥 사용자라면 우선 homebrew를 설치하셔야 합니다. 이는 기존 게시물을 참고 바랍니다.


[MAC TIP] Mac에 Homebrew 설치하기



2. 필요한 모듈 설치하기


시스템에 homebrew가 설치되었다면, 이번에는 필요한 모듈들을 설치해 보도록 하겠습니다.


ffmpeg 모듈을 설치해 줍니다.

brew install ffmpeg


ffmpeg 모듈이 설치되었다면 parallel 을 설치해 줍니다.


brew install parallel


이번에는 libav 를 설치해 줍니다.


brew install libav


여기까지 설치하셨다면, 이제 필요한 모듈은 모두 설치하였습니다.

이제는 위의 모듈을 이용하여 오디오 파일을 변환하는 명령어를 넣어보겠습니다. 명령어는 아래와 같습니다. 단발성이라면 아래 코드를 넣고 엔터를 치면 됩니다. 그러나 우리는 이 코드를 계속 사용할 예정이므로 파일의 형태로 만들어 두겠습니다.


find ~변환할 대상 폴더의 경로/. -type f -name '*.flac' | parallel avconv -y -i {} -c:a alas {.}.m4a




이제 위의 코드를 파일로 만들어 저장을 한 후, 특정 폴더에 변환할 파일을 넣으면 자동으로 변환시켜 주게끔 하려고 합니다. 그러기에 맥에 있는 오토메이터를 실행 시킨후 'Folder Action'을 선택합니다.

아래와 같이 변환할 파일을 투척할 폴더를 선택하고( 여기서는  FLAC_TO_M4A 라는 파일을 지정하였습니다.) shell script 를 끌어다가 위에서 저장한 파일이 있는 경로를 각자의 환경에 맞게 수정합니다. 여기서 주의할 점은 path 를 지정하지 않으면 쉘에서는 실행가능하지만, 오토메이터에서는 오류를 뱉어내곤 합니다.


위와 같이 한 후 저장을 합니다. 그리고 대상 폴더에 위에서 만든 폴더액션 워크 플로우를 묶어 줍니다. 

여기까지 하였다면 모든 과정을 다 수행하신 겁니다. 이제 위의 과정이 제대로 구현이 되는지 영상으로 한번 확인해 보겠습니다.