브라우저에서 FFmpeg를 이용한 Direct AVI to MP4 Conversion: M3 Mac 스트레스 테스트 및 WebAssembly의 진실

Chrome에서 WebAssembly를 통해 FFmpeg를 실행하여 기존 AVI 파일을 MP4로 변환하는 실제 테스트입니다. M3 Mac에서 12분 이상 걸린 이유와 Client-side 처리의 진정한 가치를 알아보세요.


브라우저에서 직접 AVI를 MP4로 변환

최근 저는 FFmpeg 코어를 기반으로 브라우저 내에서 완전히 실행되는 비디오 변환 도구인 작은 유틸리티를 코딩하는 데 시간을 보냈습니다. 이 기능의 성능을 테스트하기 위해 제 MacBook Air M3(16GB RAM)를 실험 대상으로 삼아, 기존 AVI 파일을 Google Chrome에서 직접 MP4로 변환해 보았습니다.

결과는 꽤나 재미있으면서도 기술적으로 흥미로웠습니다. 스톱워치는 정확히 747.44초(약 12.5분)에 멈췄고, 발열 관리가 뛰어나기로 유명한 M3 칩 덕분에 알루미늄 섀시가 눈에 띄게 따뜻해진 것을 느낄 수 있었습니다.

그렇다면, 현재 시장에서 가장 강력한 칩 중 하나가 탑재된 컴퓨터가 단순히 비디오 포맷을 변경하는 데 12분 이상 '진땀을 빼야' 했던 이유는 무엇일까요? 이 글에서는 이 과정의 이면에 있는 기술적인 원리를 분석하고, 궁극적인 질문에 답해 보겠습니다. 이렇게 느리다면, 왜 굳이 브라우저 기반 처리 도구가 필요한 걸까요?


1. 첫 번째 병목 현상: Remux vs. Transcode

테스트에 이토록 오랜 시간이 걸린 가장 큰 이유는 기기 때문이 아니라 원본 파일 때문이었습니다. 제가 선택한 파일은 DivX나 Xvid와 같은 구형 압축 표준(코덱)을 사용하는 오래된 AVI 포맷이었습니다.

비디오 처리 분야에서는 다음 두 가지 핵심 개념을 구분해야 합니다.

  • Remux (복사 - 매우 빠름): 원본 비디오가 이미 최신 코덱(예: H.264)을 사용하고 있다면, FFmpeg는 단순히 비디오와 오디오 '코어'를 추출하여 새로운 MP4 '래퍼(wrapper)'에 집어넣습니다. 이 과정은 본질적으로 데이터를 한 폴더에서 다른 폴더로 복사하는 것과 같으며 몇 초밖에 걸리지 않습니다.
  • Transcode (Decode 및 Encode - 매우 느림): 제 AVI 파일은 MP4와 호환되지 않는 구형 표준을 사용했기 때문에, FFmpeg는 이를 '처음부터 다시 구축'해야만 했습니다. 오래된 비디오의 모든 프레임을 Decode한 다음, 그 방대한 프레임 더미를 최신 H.264/H.265 표준으로 Encode해야 했습니다. 이렇게 픽셀 단위로 작업하는 것은 CPU 리소스를 엄청나게 소모합니다.

2. 브라우저 환경에서의 WebAssembly (WASM)의 현실

FFmpeg(원래 C/C++로 작성됨)와 같이 무거운 소프트웨어를 Google Chrome에서 직접 실행하기 위해 저는 WebAssembly(WASM)를 활용해야 했습니다. 이는 현대 웹에 있어 기적적인 발전이지만, 치명적인 단점이 하나 있습니다. 바로 전용 하드웨어 가속을 온전히 활용할 수 없다는 것입니다.

Mac에 Handbrake나 Premiere와 같은 네이티브 앱을 설치하면, 소프트웨어가 하드웨어 API(예: Apple Silicon의 Media Engine)를 직접 호출하여 렌더링 속도를 높입니다. 이 과정은 믿을 수 없을 정도로 빠르며 기기의 발열을 최소화합니다.

그러나 Chrome의 샌드박스 환경 내에서 WebAssembly를 통해 실행할 때, FFmpeg는 이러한 하드웨어 가속기로부터 격리됩니다. 계산을 수행하기 위해 오로지 CPU의 순수한 '근력'(Software Encoding)에 의존해야만 합니다. M3 칩이 아무리 강력하더라도, 웹 환경 내에서 CPU를 100% 용량으로 구동하는 것은 전용 하드웨어 처리 파이프라인의 속도를 결코 따라잡을 수 없습니다.


3. M3 MacBook Air는 왜 뜨거워졌을까?

MacBook Air M3는 'Fanless(팬리스)' 디자인이 특징입니다. 짧은 시간에 끝나는 작업을 뛰어난 성능으로 처리하도록 훌륭하게 설계되었습니다. 하지만 순수 CPU 성능만을 사용하여 12분 동안 쉼 없이 비디오를 렌더링하도록(지속적인 부하) 강제했을 때, 축적된 열을 식혀줄 팬이 없었습니다. 기기는 알루미늄 섀시를 통해 수동적으로 열을 방출해야 했고, 결국 내부 부품을 보호하기 위해 클럭 속도를 낮추기(쓰로틀링) 시작했습니다.

이는 사실 한 가지를 증명합니다. 브라우저 기반 도구가 단순히 가짜 로딩 바를 보여주는 것이 아니라, 실제로 기기의 리소스를 활용하여 진지한 작업을 수행하고 있다는 것입니다.


4. 그렇다면 이 도구의 가치는 어디에 있을까?

아마 이런 의문이 드실 겁니다. "그렇게 느리고 기기까지 뜨거워진다면, 왜 그냥 네이티브 앱을 다운로드하거나 빠른 온라인 변환기에 업로드하지 않나요? 왜 굳이 이 도구를 사용해야 하죠?"

진실을 말씀드리자면, Client-side 처리 아키텍처는 다른 솔루션에서는 제공할 수 없는 엄청난 가치를 지니고 있습니다.

  • 완벽한 개인정보 보호 및 보안 (Zero-Upload): 온라인 변환 사이트를 이용할 때는 서버에 비디오를 업로드해야 합니다. 변환 후 그들이 파일을 삭제한다고 확신할 수 있나요? 제 도구를 사용하면 처리의 100%가 여러분 기기의 RAM에서 이루어집니다. 단 1바이트의 데이터도 인터넷을 통해 전송되지 않습니다. 민감한 개인 영상, 회사 내부 데이터 또는 보안 카메라 영상을 처리하는 데 있어 완벽한 솔루션입니다.
  • 대역폭으로부터의 독립성: 2GB 크기의 비디오 파일이 있다고 가정해 봅시다. 이 파일을 업로드하고, 서버가 변환하기를 기다렸다가, 다시 2GB의 결과물을 다운로드하는 데 얼마나 걸릴까요? 인터넷이 느리거나 불안정하다면, 실제 렌더링에 10-15분이 걸리더라도 Chrome을 통해 로컬에서 직접 처리하는 것이 훨씬 빠르고 안정적입니다.
  • 편리함과 깔끔함: 소프트웨어를 설치할 Admin Rights(관리자 권한)가 없는 회사 컴퓨터나 빌린 노트북을 사용 중이신가요? 그냥 Chrome만 열면 문제가 해결됩니다.

5. 결론

전문적인 영상 편집을 위해 용량이 큰 4K 비디오 수십 개를 일괄 변환해야 한다면, 전용 데스크톱 소프트웨어를 설치하는 것이 맞습니다. 모든 기술에는 각각의 구체적인 사용 사례가 있습니다.

하지만 MP4로 빠르게 변환해야 할 몇 개의 AVI, MKV 또는 MOV 파일이 있고, 데이터 프라이버시를 중요하게 생각하며, 출처를 알 수 없는 소프트웨어를 설치하고 싶지 않다면 WebAssembly 처리가 최고의 선택입니다.

기반 기술을 이해하면 작업에 적합한 도구를 선택하는 데 도움이 됩니다. 내 컴퓨터에서 바로 비디오를 안전하게 변환해야 하나요? 무료 온라인 비디오 변환기를 사용해 보세요 (단, 파일이 구형 코덱을 사용하는 경우 컴퓨터가 조금 뜨거워질 수 있으며 몇 분 정도 걸릴 수 있다는 점을 기억해 주세요. 커피 한 잔 즐기기에 완벽한 시간입니다!).

J.Julian

J.Julian

J.Julian은 UploadLess의 창립자이자 리드 개발자입니다. 소프트웨어 엔지니어링과 웹 아키텍처에 대한 탄탄한 배경을 바탕으로, 현대 웹을 위한 안전하고 고성능이며 사용자 친화적인 파일 공유 솔루션을 구축하는 데 전념하고 있습니다.