피드로 돌아가기
Dev.toDevOps
원문 읽기
ffmpeg 기반 CI 파이프라인 내 자동 썸네일 생성 및 최적화 구현
Auto-generating YouTube thumbnails with ffmpeg inside a CI pipeline
AI 요약
Context
GitHub Actions를 통한 YouTube 영상 자동 발행 시 플랫폼 임의 선택 프레임으로 인한 낮은 썸네일 품질 발생. 전문성 결여 문제를 해결하기 위해 mp4 소스에서 최적 프레임을 추출하고 텍스트를 합성하는 자동화 공정 필요.
Technical Solution
- 영상 전체 길이의 40% 지점을 Seek 하여 콘텐츠 밀도가 높은 프레임을 경험적 수치로 선택
- 9:16 세로 영상을 16:9 가로 비율로 변환하기 위해 scale 및 crop 필터를 조합한 중앙 맞춤 설계
- 텍스트 가독성 확보를 위해 brightness(-0.18)와 saturation(0.85) 조절 및 vignette 효과를 통한 시선 집중 유도
- 특수문자 이스케이프 오류 방지를 위해 text 파라미터 대신 임시 파일을 참조하는 textfile 방식 채택
- Python textwrap.fill을 활용해 24자 기준 자동 줄바꿈 처리 후 ffmpeg drawtext로 오버레이
- 썸네일 생성 실패가 전체 배포 프로세스에 영향을 주지 않도록 Non-blocking 예외 처리 구조 설계
실천 포인트
1. 외부 API 연동 시 권한 범위(OAuth Scope)가 정확히 설정되었는지 사전 검증
2. ffmpeg 텍스트 합성 시 특수문자 충돌 방지를 위해 외부 파일 참조 방식 검토
3. 런타임 환경(Ubuntu/macOS) 간 폰트 경로 차이를 해결하기 위한 폴백(Fallback) 메커니즘 구축