MP4는 어떤 코덱을 쓰나요? MP4는 코덱이 아닌 컨테이너
MP4는 코덱이 아니라 컨테이너입니다. H.264, AAC처럼 서로 다른 코덱으로 압축한 영상과 오디오를 담습니다. 둘을 구분하는 방법을 설명합니다.

MP4는 코덱이 아니므로, MP4가 쓰는 코덱이 하나로 정해져 있지 않습니다. MP4는 컨테이너, 즉 따로 압축된 영상 스트림과 오디오 스트림, 그리고 플레이어가 그 스트림을 찾는 데 필요한 인덱스를 담는 파일 형식입니다. 안에 든 영상은 H.264 같은 영상 코덱으로, 오디오는 AAC 같은 오디오 코덱으로 압축되므로, .mp4 확장자는 컨테이너를 알려 줄 뿐 그 안에 무엇이 들었는지는 알려 주지 않습니다.
포맷과 코덱 관련 내용은 FFmpeg의 ffmpeg, 포맷, 코덱, ffprobe 문서에서, Sume 관련 내용은 영상 트림과 영상 검사 문서, Sume API 레퍼런스에서 가져왔으며, 모두 2026-09-28에 확인했습니다. 현재 동작이라고 설명한 내용은 Sume의 코드에서 확인한 것입니다.
코덱과 컨테이너는 무엇이 다른가요?
코덱은 스트림 하나를 압축하고, 컨테이너는 압축된 스트림들을 파일 하나에 담습니다. 그래서 한쪽을 그대로 둔 채 다른 쪽만 바꿀 수 있습니다.
| 비교 항목 | 코덱 | 컨테이너 |
|---|---|---|
| 정의 | 영상이나 오디오 스트림 하나를 압축하는 방식과 그 인코더, 디코더 | 스트림과 그 패킷에 관한 메타데이터를 담는 파일 형식 |
| 예 | 영상은 H.264와 H.265(HEVC), 오디오는 AAC | MP4(MPEG-4 Part 14)와 MOV |
| 바꾸는 방법 | 재인코딩: FFmpeg의 -c:v libx264처럼 스트림을 디코딩한 뒤 다시 압축 | 스트림 카피: FFmpeg의 -c copy처럼 패킷을 디코딩하거나 인코딩하지 않고 새 파일로 옮김 |
| Sume 프로브에서 알려 주는 필드 | video_codec과 audio_codec | container |
H.264는 코덱인가요?
네. FFmpeg는 H.264를 ITU-T H.264 / MPEG-4 Part 10 AVC 영상이라고 설명합니다. 헷갈리는 이유 중 하나는 MP4와 H.264가 "MPEG-4"라는 이름을 함께 쓰기 때문입니다. MP4는 컨테이너인 MPEG-4 Part 14이고, H.264는 영상 코덱인 MPEG-4 Part 10입니다. H.265는 HEVC이며 FFmpeg에서는 hevc라고 부르고, AAC는 오디오 코덱입니다. 따라서 "MP4, H.264, AAC"는 컨테이너, 영상 코덱, 오디오 코덱이라는 세 가지를 가리킵니다.
MP4와 MOV는 같은 포맷인가요?
서로 관련된 컨테이너이지만 같은 포맷은 아닙니다. FFmpeg 문서에 따르면 MOV는 원래 Apple QuickTime용으로 개발되었고 나중에 MPEG-4 Part 1(이후 Part 14) 포맷의 바탕이 되었으며, 이 계열은 ISO 베이스 미디어 파일 포맷(ISOBMFF)에 기반한 공통 구조를 공유합니다. FFmpeg는 둘을 별도의 mov 먹서(muxer)와 mp4 먹서로 씁니다.
두 포맷 모두 일반적인 파일은 모든 패킷에 관한 메타데이터를 한곳에 두며, 보통 파일 끝에 씁니다. FFmpeg의 +faststart 플래그는 이 메타데이터를 파일 앞쪽으로 옮깁니다. 이 인덱스는 Faststart MP4: moov atom을 파일 앞으로 옮기는 방법에서 다룹니다.
재인코딩 없이 MOV를 MP4로 바꿀 수 있나요?
네, 새 컨테이너가 같은 코덱을 담을 수 있다면 가능합니다. 바뀌는 것은 겉을 감싼 포장뿐이기 때문입니다. -c copy는 압축된 영상과 오디오를 그대로 새 파일로 옮깁니다. FFmpeg 문서는 스트림 카피의 용도 중 하나로 컨테이너 포맷 변경을 들며, 화질 손실이 없다고 설명합니다. 같은 문서는 대상 컨테이너에 필요한 정보가 소스에 없으면 카피가 실패할 수 있다고 덧붙이는데, 그때는 재인코딩하세요.
ffmpeg -i input.mov -c copy output.mp4MP4가 어떤 코덱을 쓰는지 어떻게 확인하나요?
파일을 프로브하세요. ffprobe는 컨테이너의 포맷과 각 스트림의 코덱을 따로 알려 줍니다. 영상 코덱 확인하는 방법: ffprobe 또는 API로에서 명령어와 Sume의 무료 프로브를 차례로 설명하며, 무료 프로브의 container, video_codec, audio_codec 필드도 같은 방식으로 나뉩니다.
Sume의 MP4 파일은 어떤 코덱을 쓰나요?
Sume의 편집 도구는 워크스페이스의 media.sume.com 파일을 읽고, 재인코딩할 때는 H.264 영상과 AAC 오디오를 MP4에 담아 씁니다. 문서에 따르면 exact 트림이, 현재 코드에서는 영상 필터, 타임라인 합성, Timeline 렌더가 그렇게 씁니다. 예외는 소스의 코덱을 그대로 복사하는 keyframe 트림입니다. 이 경우는 클립을 H.264로 변환하기에서 다루고, 모든 엔드포인트가 반환하는 형식은 Sume API 출력 파일 형식에 정리되어 있습니다.
출처
관련 글
미디어 도구 카테고리의 다른 글
- 16:9 사이즈는 몇 픽셀인가요? 16:9·9:16 해상도 정리
16:9는 하나의 크기가 아니라 비율입니다. 1280 × 720, 1920 × 1080, 2560 × 1440, 3840 × 2160이 모두 16:9입니다. 크기 계산법과 만드는 법을 정리했습니다.
- X(트위터) 영상 광고 규격: 크기, 길이, 파일 규칙
X는 15초 이하의 영상 광고를 권장합니다. 파일은 최대 1 GB(30 MB 미만 권장), 29.97 또는 30 fps의 H.264이며, 크기는 9:16부터 1.91:1까지 여섯 가지입니다.
- YouTube Masthead 광고 규격: 영상 크기, 자동 재생, 자막
YouTube Masthead는 Public 또는 Unlisted YouTube 영상을 재생합니다. 1920×1080 이상의 16:9가 좋고, 데스크톱에서는 최대 30초 동안 음소거로 자동 재생됩니다.
- YouTube 영상 사이즈: 16:9 해상도와 권장 업로드 설정
YouTube 영상의 표준 사이즈는 16:9이고, 1080p는 1920×1080입니다. YouTube가 권장하는 모든 16:9 크기와 비트레이트, 256 GB 업로드 한도를 정리했습니다.
작성자 Sume