GN⁺: macOS 폴더 액션으로 컴퓨터 자동화 하기
(interfacecraft.online)- 반복적인 작업을 사람이 직접 수행하는 것은 비효율적이며, 자동화가 필요함
- 예를 들어, macOS의 기본 .MOV 동영상을 .MP4로 변환하는 과정이 번거로웠음
- 기존에는 GUI 변환 앱을 사용했지만, 여러 단계를 거쳐야 함
- 이를 해결하기 위해 macOS 폴더 액션(Folder Actions) 을 활용하여 자동 변환 시스템을 구축
- 추가로 한 작업들: 비디오-to-GIF 변환, 이미지-to-WebP 변환, Youtube 비디오 다운로드, Twitter 비디오 다운로드, Youtube 비디오-to-MP3 변환
폴더 액션을 이용한 자동 변환
- 특정 폴더에 파일을 드롭하면 자동으로 변환 작업이 실행됨
- 예제:
- .MOV → .MP4 변환
- .JPG → .WEBP 변환
- Twitter 및 YouTube 동영상 다운로드
- 폴더에 파일을 넣는 것만으로 변환이 완료됨, 원본 파일도 자동 삭제됨
macOS 폴더 액션 설정 방법
주의사항
- 폴더 액션을 설정한 후 폴더 이름을 변경하면 동작하지 않음.
- 폴더 이름을 변경하면 다시 액션을 재설정해야 함.
설정 절차
- 터미널에서 폴더 생성
- Automator 실행 후 새 "Folder Action" 생성
-
"Get Selected Finder Items" 및 "Run Shell Script" 추가
- Pass input: "as arguments" 설정
-
변환 스크립트 입력
- 예제: .MOV → .MP4 변환
for f in "$@"; do /opt/homebrew/bin/ffmpeg -n -loglevel error -i "$f" -vcodec libx264 -crf 23 -preset ultrafast -tune film "/Users/alexander/Library/Mobile\ Documents/com\~apple\~CloudDocs/Downloads/$(date +"%Y_%m_%d_%I_%M_%p_%s").mp4"; rm -f "$f" done
- 저장 후 종료
-
폴더에 .MOV 파일을 드래그 앤 드롭하면 자동 변환 실행
- 실행 중에는 메뉴바에 기어 아이콘이 표시됨.
추가 폴더 액션 예제
동영상 → GIF 변환
for f in "$@"; do
/opt/homebrew/bin/ffmpeg -n -loglevel error -i "$f" -vf "fps=18,scale=720:-1:flags=lanczos" "/Users/alexander/Library/Mobile Documents/com~apple~CloudDocs/Downloads/$(date +"%Y_%m_%d_%I_%M_%p_%s").gif";
rm -f "$f"
done
이미지 → WEBP 변환
for f in "$@"; do
/opt/homebrew/bin/cwebp -q 70 "$f" -o "/Users/alexander/Library/Mobile Documents/com~apple~CloudDocs/Downloads/$(date +"%Y_%m_%d_%I_%M_%p_%s").webp";
rm -f "$f"
done
YouTube 동영상 다운로드
브라우저에서 이 폴더로 그냥 URL을 Drag & Drop 하면 다운로드 시작
for f in "$@"; do
url=$(grep -o '<string>.*</string>' "$f" | sed 's/<string>\(.*\)<\/string>/\1/')
if [ -n "$url" ]; then
/opt/homebrew/bin/yt-dlp -P "~/Downloads" "$url"
if [ $? -eq 0 ]; then
rm -f "$f"
fi
fi
done
Twitter 동영상 다운로드
for f in "$@"; do
url=$(grep -o '<string>.*</string>' "$f" | sed 's/<string>\(.*\)<\/string>/\1/')
if [ -n "$url" ]; then
/opt/homebrew/bin/yt-dlp -P "~/Downloads" "$url"
if [ $? -eq 0 ]; then
rm -f "$f"
fi
fi
done
YouTube → MP3 변환
brew install yt-dlp; brew install ffmpeg
for f in "$@"; do
url=$(grep -o '<string>.*</string>' "$f" | sed 's/<string>\(.*\)<\/string>/\1/')
if [ -n "$url" ]; then
/opt/homebrew/bin/yt-dlp -x --audio-format mp3 --audio-quality 0 --ffmpeg-location /opt/homebrew/bin/ffmpeg -P "~/Downloads" "$url"
if [ $? -eq 0 ]; then
rm -f "$f"
fi
fi
done
폴더 액션 변경 방법
- 폴더 액션을 수정하려면 폴더에서 우클릭 → "Folder Action Setup" 선택
- 저장된 모든 액션은 다음 경로에 있음:
Macintosh HD / Users / YourName / Library / Workflows / Applications / Folder Actions/
- 이 시스템을 활용하면 각각의 폴더를 터미널 명령어의 인터페이스로 변환 가능
- 덕분에 데스크톱이 훨씬 더 유용한 작업 공간이 됨
윈도우용 Watch 4 Folder 라는 도구가 정확히 같은 작업을 합니다.
특정 폴더에 파일/폴더가 생성/변경/삭제/되면 프로그램이나 스크립트를 실행해줍니다.
https://leelusoft.blogspot.com/p/watch-4-folder-25.html
무료버전은 1개의 폴더만 감시하며, 유료는 $4.99 네요
페이스북이 만든 오픈소스인 Watchman 도 있습니다. 윈도우/맥/리눅스 모두 지원합니다
물론 GUI가 아니라서 위의 도구보다는 조금 불편합니다.
https://facebook.github.io/watchman/