ทำงานอัตโนมัติบนคอมพิวเตอร์ด้วย macOS Folder Actions
(interfacecraft.online)- การให้คนทำงานซ้ำ ๆ ด้วยตัวเองเป็นเรื่องไม่มีประสิทธิภาพ จึงจำเป็นต้องมีระบบอัตโนมัติ
- ตัวอย่างเช่น กระบวนการแปลงวิดีโอ .MOV แบบพื้นฐานของ macOS ให้เป็น .MP4 นั้นค่อนข้างยุ่งยาก
- ก่อนหน้านี้ใช้แอปแปลงไฟล์แบบ GUI แต่ต้องผ่านหลายขั้นตอน
- เพื่อแก้ปัญหานี้ จึงใช้ macOS Folder Actions เพื่อสร้างระบบแปลงอัตโนมัติ
- งานเพิ่มเติมที่ทำไว้: การแปลงวิดีโอเป็น GIF, การแปลงรูปภาพเป็น WebP, การดาวน์โหลดวิดีโอจาก YouTube, การดาวน์โหลดวิดีโอจาก Twitter, การแปลงวิดีโอ YouTube เป็น MP3
การแปลงอัตโนมัติด้วย Folder Actions
- เมื่อวางไฟล์ลงในโฟลเดอร์ที่กำหนด งานแปลงจะเริ่มทำงานโดยอัตโนมัติ
- ตัวอย่าง:
- แปลง .MOV → .MP4
- แปลง .JPG → .WEBP
- ดาวน์โหลดวิดีโอจาก Twitter และ YouTube
- เพียงแค่นำไฟล์ใส่ลงในโฟลเดอร์ การแปลงก็เสร็จสิ้นได้เลย และไฟล์ต้นฉบับจะถูกลบอัตโนมัติด้วย
วิธีตั้งค่า macOS Folder Actions
ข้อควรระวัง
- หลังจากตั้งค่า Folder Action แล้ว หากเปลี่ยนชื่อโฟลเดอร์ ระบบจะไม่ทำงาน
- หากเปลี่ยนชื่อโฟลเดอร์ ต้องตั้งค่าแอ็กชันใหม่อีกครั้ง
ขั้นตอนการตั้งค่า
- สร้างโฟลเดอร์ใน Terminal
- เปิด 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 ลงในโฟลเดอร์เพื่อให้เริ่มแปลงอัตโนมัติ
- ระหว่างทำงาน จะมี ไอคอนรูปเฟือง แสดงบนแถบเมนู
ตัวอย่าง Folder Actions เพิ่มเติม
แปลงวิดีโอ → 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
ในเบราว์เซอร์ เพียง Drag & Drop URL มาที่โฟลเดอร์นี้ก็จะเริ่มดาวน์โหลดทันที
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 Actions
- หากต้องการแก้ไข Folder Action ให้ คลิกขวาที่โฟลเดอร์ → เลือก "Folder Action Setup"
- แอ็กชันที่บันทึกไว้ทั้งหมดอยู่ที่พาธต่อไปนี้:
Macintosh HD / Users / YourName / Library / Workflows / Applications / Folder Actions/ - หากใช้ระบบนี้ คุณสามารถ เปลี่ยนแต่ละโฟลเดอร์ให้กลายเป็นอินเทอร์เฟซสำหรับคำสั่ง Terminal ได้
- ด้วยเหตุนี้ เดสก์ท็อปจึงกลายเป็นพื้นที่ทำงานที่มีประโยชน์มากขึ้นอย่างมาก
7 ความคิดเห็น
ว้าว ไม่มีเวอร์ชันสำหรับ Windows เหรอ?
มีเครื่องมือชื่อ Watch 4 Folder สำหรับ Windows ที่ทำงานแบบเดียวกันเป๊ะ
เมื่อมีการสร้าง/เปลี่ยนแปลง/ลบ ไฟล์หรือโฟลเดอร์ในโฟลเดอร์ที่กำหนด ก็จะรันโปรแกรมหรือสคริปต์ให้
https://leelusoft.blogspot.com/p/watch-4-folder-25.html
เวอร์ชันฟรีเฝ้าดูได้แค่ 1 โฟลเดอร์ ส่วนแบบเสียเงินราคา $4.99
ยังมี Watchman ซึ่งเป็นโอเพนซอร์สที่ Facebook สร้างขึ้นด้วย รองรับทั้ง Windows/Mac/Linux
แน่นอนว่าไม่ใช่ GUI เลยใช้งานไม่สะดวกเท่าเครื่องมือด้านบน
https://facebook.github.io/watchman/
โอ้ การบันทึกวิดีโอดูสะดวกมากเลยนะ ให้ความรู้สึกเหมือนกำลังใช้คอมพิวเตอร์ได้อย่างเต็มที่จริงๆ
ดูเผินๆ แล้วเหมือนว่าน่าจะมีสำหรับ Linux ด้วยเหมือนกันนะ แต่คิดว่าลองทำขึ้นมาสักอันเองก็น่าจะดีครับ
อันนี้ดูน่าสนุกดีนะ 555
โอ้.. ต้องลองเอาไปใช้ดูแล้ว!
ไม่เคยรู้มาก่อน แต่นี่ก็น่าสนใจดีนะ