“서버 업로드 없음”은 어떻게 가능한가요?
핵심만 요약하면
- 페이지 코드와 변환 엔진은 인터넷으로 받지만, 사용자가 고른 파일은 브라우저 메모리 안에서만 읽습니다.
- 변환 명령은 서버 API가 아니라 현재 탭의 Web Worker에서 실행됩니다.
- 결과는 브라우저가 임시 다운로드 링크로 만들며 운영자 저장소에 남지 않습니다.
- 광고·호스팅 사업자의 일반적인 네트워크 요청과 사용자가 변환하는 파일의 업로드는 서로 다른 일입니다.
일반적인 온라인 변환기와 무엇이 다른가요?
서버형 변환기는 파일을 인터넷으로 전송하고, 서버가 변환한 뒤 결과를 다시 내려줍니다. 서버 성능을 쓸 수 있어 큰 파일에 유리하지만 파일이 제3자의 시스템을 지나갑니다. 이 사이트는 FFmpeg를 WebAssembly로 컴파일한 ffmpeg.wasm을 브라우저에서 실행합니다. 사용자의 컴퓨터가 변환 서버 역할을 하는 셈입니다.
| 단계 | 이 사이트에서 일어나는 일 | 파일 데이터 위치 |
|---|---|---|
| 페이지 열기 | HTML·CSS·JavaScript를 Cloudflare에서 받음 | 아직 파일을 선택하지 않음 |
| 파일 선택 | 브라우저가 사용자가 선택한 파일에 한해 읽기 권한을 부여 | 사용자 기기 |
| 첫 변환 준비 | FFmpeg 엔진 조각을 받아 브라우저 캐시에 저장 | 엔진만 수신, 사용자 파일은 전송하지 않음 |
| 변환 | Web Worker 안의 가상 파일시스템에서 디코딩·인코딩 | 사용자 기기의 메모리 |
| 내려받기 | 결과 바이트로 임시 Blob URL을 만들어 저장 | 사용자 기기 |
그렇다면 네트워크 요청이 전혀 없나요?
아닙니다. 페이지를 열려면 사이트 파일을 받아야 하고, Google 광고가 활성화되면 광고 제공·측정·부정행위 방지를 위한 요청이 발생할 수 있습니다. Cloudflare도 사이트 제공과 보안을 위해 통상적인 접속 정보를 처리할 수 있습니다. 이 내용은 개인정보처리방침에 구분해 공개합니다.
중요한 차이는 선택한 영상·음원·이미지의 본문을 운영자 변환 서버로 보내지 않는다는 것입니다. 광고 네트워크 요청이 있다는 사실과 사용자의 파일이 업로드된다는 주장은 같지 않습니다.
직접 확인하려면 어떻게 하나요?
기술에 익숙하다면 데스크톱 브라우저의 개발자 도구에서 Network 패널을 열고 변환을 실행해 볼 수 있습니다. 페이지·광고·FFmpeg 엔진 파일 요청은 보일 수 있지만, 선택한 파일 크기만큼의 업로드 요청이나 변환 API 호출은 없어야 합니다. 엔진을 한 번 받은 뒤에는 브라우저 캐시 덕분에 관련 요청도 줄어듭니다.
또 다른 확인 방법은 첫 변환에서 엔진 준비가 끝난 뒤 네트워크 연결을 끊고 같은 탭에서 작은 파일을 변환하는 것입니다. 브라우저 캐시와 메모리에 필요한 코드가 남아 있다면 변환 자체는 계속 실행됩니다. 다만 광고와 새 페이지 이동은 인터넷 없이 동작하지 않습니다.
로컬 처리에도 한계가 있습니다
개인정보 보호와 서버 비용 측면의 장점 대신, 성능은 사용자의 기기에 의존합니다. 웹어셈블리 가상 메모리에는 입력·출력·작업 데이터가 함께 올라가므로 이 사이트는 안정성을 위해 1.8GB 초과 파일을 받지 않습니다. 4K 장시간 영상은 노트북이나 휴대전화의 발열·메모리 한계 때문에 오래 걸리거나 실패할 수 있습니다.
- 큰 파일: 구간을 나누거나 설치형 FFmpeg·편집 프로그램을 사용하세요.
- 속도: 서버 GPU가 아니라 브라우저 단일 스레드 엔진 중심이므로 고해상도 영상은 느릴 수 있습니다.
- 지원 포맷: 현재 빌드에 포함되지 않은 HEIC·AVIF·H.265는 제공하지 않습니다.
- 탭 종료: 페이지를 닫으면 메모리의 작업과 아직 저장하지 않은 결과가 사라집니다.
브라우저 권한과 파일 보관
웹페이지는 사용자가 파일 선택창에서 고르거나 드롭한 파일만 읽을 수 있습니다. 임의로 다른 폴더를 뒤지지 못합니다. 변환 결과도 자동으로 운영자에게 전달되지 않고, 사용자가 내려받기 버튼을 눌러 브라우저 다운로드 폴더에 저장합니다. 회원 계정과 파일 이력 서버를 만들지 않았기 때문에 다른 기기에서 과거 결과를 불러오는 기능도 없습니다.
이 구조를 선택한 이유
파일 변환에는 개인 사진, 업무 문서에서 추출한 이미지, 녹음, 가족 영상처럼 외부에 맡기기 꺼려지는 자료가 많습니다. 모든 상황에서 로컬 처리가 가장 빠른 방법은 아니지만, 작은 파일과 일상적인 변환에서는 “파일을 먼저 업로드해야 한다”는 부담을 없앨 수 있습니다. 기능을 광고 시청이나 클릭 조건으로 잠그지 않는 것도 같은 운영 원칙입니다.
검증 범위: 자체 호스팅한 ffmpeg.wasm 엔진, 브라우저 Cache Storage 재사용, 36개 실제 변환, 32개 산출물 검사, 오류 후 워커 재생성을 확인했습니다. 호스팅·광고 사업자의 데이터 처리는 각 사업자 정책과 이 사이트 개인정보처리방침을 함께 확인하세요.