피드로 돌아가기
Auto-generating YouTube thumbnails with ffmpeg inside a CI pipeline
Dev.toDev.to
DevOps

ffmpeg 기반 CI 파이프라인 내 자동 썸네일 생성 및 최적화 구현

Auto-generating YouTube thumbnails with ffmpeg inside a CI pipeline

盛永裕介2026년 5월 4일6intermediate

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) 메커니즘 구축

원문 읽기