MP4 WEBM 변환
브라우저에서, 업로드 없이
WebM
H.264 → VP8 · 재인코딩
동영상
MP4 → WebM규격
7개 항목| 항목 | 값 | 비고 |
|---|---|---|
| 입력 | MP4, MOV | FFmpeg가 읽는 동영상이면 무엇이든 |
| 출력 | WebM, VP8 + Vorbis | WebM을 재생하는 모든 브라우저에서 재생된다 |
| 영상 | VP8로 다시 인코딩 | CRF 10, 화소당 최대 0.1비트 |
| 소리 | Vorbis | 이미 Vorbis나 Opus면 복사, 아니면 Vorbis 품질 4 |
| 걸리는 시간 | 시작 전에 잰다 | 이 기기에서 2초를 시험 인코딩 |
| 엔진 | 이 브라우저의 인코더, 또는 FFmpeg(16.8 MB) | FFmpeg는 브라우저가 못 할 때만, 받는다고 적힌 버튼을 눌러야 받는다 |
| 처리 위치 | 이 브라우저 | 서버로 보내지 않음 |
무엇이 일어나나
5개무슨 일이, 왜 일어나나
WebM은 웹을 위해 만든 로열티 없는 동영상 형식이다. 주요 브라우저가 모두 페이지의 video 요소에서 재생하고, 어떤 사이트와 도구는 이 형식을 이름으로 요구한다. 이 페이지는 FFmpeg가 읽는 동영상이면 무엇이든(MP4·MOV·MKV·AVI) 영상 VP8, 소리 Vorbis의 WebM으로 만든다.
VP9·Opus가 아니라 VP8·Vorbis다. 새 쪽이 더 잘 압축하지만, 이 페이지가 쓰는 FFmpeg 빌드에서는 VP9 인코더가 브라우저 안에서 멈춰 버리고 Opus 인코더도 모노가 아닌 소리에서 멈춘다. 망가진 것을 내놓느니 내놓지 않는다. VP8과 Vorbis는 WebM이 처음 쓰던 코덱이고 WebM을 재생하는 브라우저는 모두 재생한다. 영상은 일정 화질 CRF 10에 프레임당 화소당 0.1비트의 상한을 둬, 복잡한 장면에서 파일 크기가 치솟지 않게 했다. 소리가 이미 Vorbis나 Opus면 복사하고, 아니면 Vorbis 품질 4로 다시 인코딩한다 — Xiph의 표로 약 128 kbps다.
먼저 브라우저 자신에게 묻는다. 브라우저에는 화상통화·화면 녹화에 쓰는 동영상 인코더가 들어 있고 — H.264, VP9, AAC, Opus, 대개 그래픽 칩으로 — 이 브라우저가 그것으로 파일을 읽고 결과를 쓸 수 있으면 그렇게 한다. 아무것도 받지 않고, 걸릴 시간은 여기서 먼저 재며, 배지 아래 줄이 브라우저의 인코더가 했다고 적는다. MP4·MOV·WebM·MKV 파일은 대개 그렇게 된다. AVI·WMV·FLV는 안 되고 MP3로 만드는 것도 안 되므로, 그것들은 아래 방식으로 간다.
작업은 FFmpeg가 한다. 대부분의 동영상 소프트웨어가 그 위에 지어진 프로그램이고, 이 페이지 안에서 돌도록 WebAssembly로 옮긴 것이다. 크기가 크다 — 16.8 MB — 그래서 받는다고 적힌 버튼을 누르기 전에는 받지 않는다. 받은 뒤에는 파일을 읽고, 가운데에서 2초를 시험 삼아 인코딩해, 전체가 이 기기에서 얼마나 걸릴지를 시작하기 전에 알려 준다. 그 숫자는 표에서 가져온 것이 아니라 여기서 잰 것이다 — 같은 엔진과 설정, 당신의 프로세서, 당신의 동영상. 그래도 추정이고, 화면에 추정이라고 적는다.
컴퓨터에 설치하는 프로그램보다 느리다. 여기서 FFmpeg는 프로세서 코어 하나로 돈다. 브라우저는 사이트가 특정 보안 헤더를 달고 있을 때만 여러 코어를 쓰게 해 주고, 그래픽 칩의 동영상 인코더는 아예 쓰게 해 주지 않는다. 긴 고해상도 동영상은 몇 분씩 걸릴 수 있고 휴대폰에서는 더 걸린다. 그래서 시작하기 전에 예상 시간을 보여 주고, 도는 동안에는 남은 시간을 보여 주며, 취소를 누르면 바로 멈춘다. 브라우저 자체 인코더로 될 때는 훨씬 빠르고 아무것도 받지 않는다.
자주 묻는 질문
4개VP9나 Opus WebM으로 만들 수 있나
여기서는 안 된다. 이 페이지가 쓰는 FFmpeg 빌드에서 VP9 인코더는 해 본 모든 설정에서, Opus 인코더는 스테레오 소리에서 브라우저 안에서 멈췄다. VP8과 Vorbis는 WebM이 되는 곳이면 어디서나 되고, 사이트가 꼭 VP9나 Opus를 요구한다면 설치형 프로그램을 써야 한다.
투명 배경이 유지되나
안 된다. 영상을 알파 채널 없이 쓰므로 투명한 동영상은 단색 배경 위에 나온다.
왜 이렇게 오래 걸리나
모든 프레임을 디코드해서 다시 인코드하는데, 그것을 브라우저 안에서 프로세서 코어 하나로 하기 때문이다. 설치형 프로그램은 코어를 전부 쓰고 대개 그래픽 칩의 인코더도 쓴다. 웹 페이지는 기본으로 둘 다 받지 못한다. 대신 이 페이지는 시작하기 전에 이 기기에서 얼마나 걸릴지를 재어 알려 주므로 기다림이 뜻밖일 일은 없다.
동영상이 업로드되나
아니다. 엔진을 브라우저로 받아 오고, 파일은 거기서 읽고 쓴다. 이 사이트에는 업로드 주소 자체가 없으므로 동영상이 갈 곳이 없다.