동영상을 Base64로 변환하는 방법
- 동영상 파일을 상자에 놓거나 파일 선택기로 고르세요. MP4, WebM, MOV 등 시스템이 인식하는 형식이면 됩니다.
- 미리보기 플레이어에서 맞는 클립인지 확인하세요.
- 출력 형식은 Data URI로 시작합니다. API용이라면 일반 Base64나 JSON을 고르세요.
- 짧은 클립은 출력 복사를, 큰 것은 .txt로 저장을 쓰세요.
Base64 속 동영상 알아보기
| 컨테이너 | MIME 유형 | Base64 시작 부분 |
|---|---|---|
| MP4 | video/mp4 | AAAA + 한 글자 + GZ0eXB, 예: AAAAIGZ0eXBpc29t |
| MOV (QuickTime) | video/quicktime | AAAAFGZ0eXBxdCAg (브랜드 qt) |
| WebM, MKV | video/webm, video/x-matroska | GkXfo |
| AVI | video/x-msvideo | UklGR (WAV, WebP와 같은 RIFF) |
컨테이너를 보면 data URI에 어떤 레이블을 붙일지 알 수 있습니다. 브라우저가 재생할 수 있는지는 안에 든 코덱(H.264, HEVC, VP9, AV1 등)에 달려 있습니다.
Base64 동영상이 알맞은 경우
- 단일 파일 HTML 페이지 속 아주 짧은 반복 클립: 1~2초짜리 제품 애니메이션이나 UI 데모 같은 것. 브라우저는 보통 소리가 있는 자동 재생을 막으므로
autoplay muted loop playsinline을 쓰세요. - 업로드, 트랜스코딩, 재생 테스트용으로 테스트 코드 옆에 두는 테스트 픽스처.
- 짧은 동영상을 인라인으로 받는 API: 일부 멀티모달 API와 미디어 처리 API는 짧은 클립을 JSON 안의 Base64로 받습니다. 크기 제한이 있으며, 더 긴 것은 보통 저장된 파일의 링크로도 받습니다.
그 밖의 경우에는 일반적으로 제공하는 동영상 파일이 낫습니다. 브라우저가 범위 단위로 요청하고, 다운로드가 끝나기 전에 재생을 시작하고, 캐시할 수 있습니다. data URI는 전부 받아서 디코딩해야 하고, 그것을 담은 HTML, CSS, JSON을 동영상 크기에 3분의 1을 더한 만큼 부풀립니다. 이미 메모리에 파일이 있는 웹 앱이라면 URL.createObjectURL(blob)으로 Base64 없이 재생 가능한 URL을 얻을 수 있습니다.
인코딩 전에 클립 줄이기
동영상 크기는 대부분 해상도, 프레임 레이트, 비트레이트로 정해집니다. 69,243바이트짜리 3초 1280×720 테스트 클립은 너비 480픽셀로 줄이고 오디오 트랙을 빼자 17,281바이트가 되었습니다.
ffmpeg -i clip.mp4 -vf scale=480:-2 -c:v libx264 -crf 28 -an -movflags +faststart small.mp4
-crf 28은 품질을 조금 내주고 크기를 줄이며(값이 클수록 작아집니다), -an은 오디오를 빼고, scale=480:-2는 높이를 짝수로 맞추며 가로세로 비율을 유지합니다. 그 결과를 여기서 인코딩하세요. MP4에 관한 자세한 내용은 MP4를 Base64로를 보세요. Base64를 동영상으로는 Base64 문자열을 다시 재생합니다.
자주 묻는 질문
Base64로 HTML에 동영상을 넣을 수 있나요?
네: <video src="data:video/mp4;base64,..." controls></video>. 짧은 클립에는 쓸 만합니다. 긴 동영상은 페이지를 엄청나게 키우고 스트리밍도 할 수 없습니다. 브라우저가 재생하기 전에 data URI 전체를 받아야 하기 때문입니다.
얼마나 긴 동영상까지 변환할 수 있나요?
도구에 고정된 제한은 없습니다. 큰 파일은 청크 단위로 인코딩되어 .txt로 저장됩니다. 약 48 MB를 넘는 출력은 복사할 수 없습니다. 실제로는 몇 MB만 넘어도 웹 페이지의 data URI로는 이미 좋지 않은 선택입니다.
어떤 동영상 형식을 인코딩해야 하나요?
H.264 영상의 MP4는 현재 모든 브라우저에서 재생됩니다. WebM(VP9 또는 AV1)은 더 작은 경우가 많고 역시 널리 지원됩니다. 휴대폰에서 찍은 MOV 파일은 HEVC를 쓸 수 있는데, Safari 외의 많은 브라우저는 이를 재생하지 못합니다.