영상 가이드

영상 확장자와 코덱은 어떻게 다를까

핵심 답변

확장자와 컨테이너는 영상·오디오·자막 트랙을 담는 상자에 가깝고, 코덱은 각 트랙을 압축하고 푸는 방식입니다. .mp4 파일 두 개가 있어도 하나는 H.264, 다른 하나는 HEVC일 수 있어 같은 브라우저에서 재생 결과가 달라집니다.

지원 여부는 확장자 목록만으로 판정하면 안 됩니다. MIME 타입, video.canPlayType, MediaSource·MediaRecorder 지원, 필요하면 WebCodecs isConfigSupported와 실제 디코딩 결과를 함께 봐야 합니다.

실제 상황: MP4 파일인데 Firefox에서 소리만 나오고 화면이 보이지 않을 때

컨테이너는 MP4지만 영상 트랙이 HEVC 10-bit일 수 있습니다. 운영체제 코덱과 브라우저 빌드에 따라 해당 조합을 디코딩하지 못하면 확장자가 익숙해도 재생할 수 없습니다.

판단 결과: 다른 기기에서 원본 코덱을 확인하고 지원되는 경우 H.264+AAC MP4 또는 VP9/Opus WebM으로 다시 인코딩합니다. DRM 파일이라면 변환으로 우회하지 않습니다.

단계별로 적용하는 방법

  1. 파일 이름의 확장자와 File 객체의 MIME 타입을 함께 보되 둘 중 어느 하나도 절대적인 판정으로 쓰지 않습니다.
  2. 브라우저의 미디어 요소로 메타데이터와 첫 프레임이 실제 디코딩되는지 확인합니다.
  3. ffmpeg 분석 결과가 제공되면 영상·오디오 코덱, 프로파일과 픽셀 형식을 살펴봅니다.
  4. 출력 컨테이너가 선택한 영상·오디오 코덱 조합을 담을 수 있는지 검증합니다.
  5. 현재 브라우저에서 재생할 목적과 다른 기기에 전달할 목적을 분리해 가장 넓은 호환 조합을 선택합니다.

비교해서 선택하기

컨테이너와 흔한 코덱 조합
컨테이너흔한 영상 코덱흔한 오디오 코덱확인할 점
MP4·M4VH.264, HEVC, AV1AAC, MP3코덱 라이선스와 OS 지원 차이
WebMVP8, VP9, AV1Opus, Vorbis일부 편집 앱의 가져오기 호환성
MOVH.264, HEVC, ProRes 등AAC, PCM 등종류가 넓어 확장자만으로 판단 불가
오디오 전용 M4A해당 없음AAC, ALAC 등같은 확장자 안의 손실·무손실 차이

주의할 점

  • 파일 확장자를 .mov에서 .mp4로 이름만 바꿔도 내부 코덱은 변하지 않아 호환성 문제가 해결되지 않습니다.
  • ‘모든 영상 형식 지원’이라는 표현은 실제 브라우저·WASM 코덱 범위를 반영하지 못하므로 사용하지 않습니다.
  • DRM으로 보호된 트랙은 정상적인 디코딩을 제한하며 이 도구는 보호를 제거하거나 우회하지 않습니다.

기술적 한계와 브라우저 차이

  • 코덱 지원은 브라우저 이름뿐 아니라 운영체제, 하드웨어 디코더와 설치된 구성 요소에 따라서도 바뀝니다.
  • canPlayType은 ‘아마 가능’ 수준의 힌트이고 손상 파일이나 특정 프로파일의 실제 성공까지 보장하지 않습니다.
  • ffmpeg.wasm 빌드 크기와 라이선스를 관리하기 위해 모든 디코더·인코더가 포함되지 않을 수 있습니다.
FAQ

영상 확장자와 코덱은 어떻게 다를까 FAQ

MP4는 항상 H.264인가요?

아닙니다. MP4에는 H.264 외에도 HEVC, AV1 등 여러 영상 코덱과 다양한 오디오 코덱이 들어갈 수 있습니다.

MIME 타입이 video/mp4면 지원되는 파일인가요?

컨테이너 힌트일 뿐 내부 코덱까지 확인해 주지 않습니다. 실제 메타데이터 로드와 디코딩 테스트가 필요합니다.

WebM이 MP4보다 화질이 좋은가요?

컨테이너만으로 화질을 비교할 수 없습니다. 내부 코덱, 비트레이트, 해상도와 인코더 설정을 함께 봐야 합니다.

재생은 되는데 변환이 안 되는 이유는 무엇인가요?

브라우저의 네이티브 디코더는 지원하지만 ffmpeg.wasm 빌드에 같은 코덱이 없거나, 선택한 출력 인코더가 포함되지 않았을 수 있습니다.

코덱을 자동으로 설치해 주나요?

아닙니다. 기기에 구성 요소를 설치하지 않으며 현재 브라우저와 제공된 WASM 코어 안에서 확인된 기능만 사용합니다.