영상 미리보기 썸네일 VTT 만들기
직접 운영하는 사이트의 영상 재생기(Video.js, Plyr, Vidstack 등)에 재생 막대 미리보기를 붙이려는 개발자를 위한 도구예요.
재생 막대 미리보기
재생 막대 위 장면 미리보기 파일
유튜브처럼 재생 막대에 마우스를 올리면 그 시점 장면이 작게 뜨는 기능은, 보통 영상의 장면들을 일정 간격으로 찍어 한 장에 모은 그림(스프라이트 시트)과 ‘몇 초부터 몇 초까지는 그림의 이 위치’라고 적은 WebVTT 파일로 만들어요. 동영상을 넣고 ‘썸네일 만들기’를 누르면 두 파일을 만들고, 아래 막대를 움직여 실제로 어떻게 보이는지 확인할 수 있어요.
VTT 파일 모양
각 항목은 시작 --> 끝 시간과 그림 주소로 되어 있고, 주소 끝의 #xywh=x,y,너비,높이는 스프라이트 그림 안에서 잘라 쓸 위치(미디어 프래그먼트 규격의 공간 부분)예요. 예를 들어 thumbs.jpg#xywh=320,0,160,90은 왼쪽에서 320px, 위에서 0px 떨어진 160×90 부분이에요. 사이트에서 그림을 다른 폴더에 둔다면 ‘그림 주소 앞부분’에 /media/thumbs/처럼 적어 두세요.
설정 고르기
- 간격 — 짧을수록 정확하지만 그림이 커져요. 10분 영상은 5초, 1시간 영상은 10~30초 간격이 흔해요. ‘자동’은 100장 안팎이 되게 정해요.
- 장면 크기 — 대부분의 재생기는 160px 안팎을 써요. 세로 크기는 영상 비율에 맞춰 정해져요.
- 한 장에 담을 수 — 한 그림이 너무 크면 휴대전화에서 늦게 뜨니 100장 정도씩 나눠 thumbs-1.jpg, thumbs-2.jpg …로 만들어요.
재생기에 붙이기
Video.js(videojs-vtt-thumbnails 플러그인), Plyr(previewThumbnails 옵션), Vidstack·Media Chrome 등은 이 VTT 형식을 그대로 읽어요. 자세한 설정은 쓰는 재생기의 문서를 확인하세요. 각 장면은 그 구간의 시작보다 조금 뒤(최대 0.5초) 장면을 찍어서 장면 전환 직전의 검은 화면이 덜 나와요.
참고한 자료
자주 묻는 질문
영상 장면을 원본 크기 그림으로 저장하고 싶어요.
동영상 장면 캡처를 쓰면 원본 해상도 PNG·JPG로 저장해요.
휴대전화로 찍은 세로 영상도 되나요?
네. 회전 정보를 반영한 화면 기준으로 장면을 찍어요.
파일이 서버로 올라가나요?
아니요. 이 기기 브라우저 안에서만 처리해요.
함께 쓰면 좋은 도구
- 영상 캡처·프레임 추출 (장면 사진 저장·연속 캡처·썸네일 시트)동영상에서 원하는 장면을 원본 해상도 PNG·JPG로 저장하고, 몇 초마다 연속 캡처해 ZIP으로, 영상 전체를 한 장에 보는 썸네일 시트까지
- 영상 촬영 정보 지우기 (위치·촬영 시각·기기 정보 삭제)동영상 속 GPS 위치·촬영 시각·휴대폰 기종을 지우고 화질 그대로 다시 저장
- 스프라이트 시트 만들기·자르기 (GIF를 스프라이트로, 시트를 프레임으로)움짤이나 그림 여러 장을 게임·웹용 스프라이트 시트 PNG와 좌표 JSON·CSS로, 시트는 장면별 그림이나 GIF로
- 자막 형식 변환 SRT·SMI·VTT (인코딩·싱크 함께)SMI(사미) ↔ SRT ↔ VTT 서로 바꾸기, EUC-KR·CP949 한글 자동 감지·변환, 싱크 앞뒤로 옮기기
- CSV를 엑셀로 (한글 깨짐 없이)CSV → XLSX 변환, EUC-KR·UTF-8 자동 인식, 0으로 시작하는 번호 보존
- 엑셀을 CSV로 (UTF-8·EUC-KR 선택)XLSX → CSV, UTF-8(BOM)·EUC-KR 인코딩과 구분 기호 선택