// education

미디어 처리 AI 유틸리티 앱 제작 (이미지, 오디오, GIF)

이미지 일괄 리사이즈, WEBP 포맷 용량 압축, GIF 애니메이션 동영상 제작 등 업무와 실생활 생산성을 조력하는 미디어 처리 유틸리티 서비스를 제작합니다.


1. 미디어 처리 전문 용어 사전 (Glossary)


2. 파이썬 Pillow 이미지 일괄 압축/변환 예제 코드

from PIL import Image
import os

def batch_compress_images(input_folder, output_folder, max_width=800):
    """이미지를 최대 너비 800px로 비율 유지 리사이즈하고 WEBP 포맷으로 일괄 압축"""
    os.makedirs(output_folder, exist_ok=True)
    
    for filename in os.listdir(input_folder):
        if filename.lower().endswith(('png', 'jpg', 'jpeg')):
            src_path = os.path.join(input_folder, filename)
            with Image.open(src_path) as img:
                # 1. 가로 세로 비율 계산하여 리사이즈
                w_percent = (max_width / float(img.size[0]))
                h_size = int((float(img.size[1]) * float(w_percent)))
                
                resized = img.resize((max_width, h_size), Image.Resampling.LANCZOS)
                
                # 2. 용량이 작은 WEBP 포맷으로 저장
                out_name = f"opt_{os.path.splitext(filename)[0]}.webp"
                out_path = os.path.join(output_folder, out_name)
                resized.save(out_path, "WEBP", quality=80)
                print(f"압축 완료: {out_path}")

# batch_compress_images("raw_photos", "optimized_photos")

3. 자주 묻는 질문 (Q&A)

Q. 서버를 거치지 않고 브라우저 자바스크립트만으로 이미지 용량을 압축할 수 있나요? A. 네! HTML5 <canvas> 태그에 사용자 선택 이미지를 그리고 canvas.toDataURL('image/jpeg', 0.7) 메소드를 호출하면 70% 압축된 JPEG 이미지 Blob 데이터를 즉시 추출할 수 있습니다.

← 이전설치 없이 사용하는 PWA 및 모바일 앱(APK) 전환 다음 →풀스택 AI 애플리케이션 구축 및 클라우드 배포 종합 실습