영상 코덱 확인하는 방법: ffprobe 또는 API로

영상의 코덱은 프로브로 확인합니다. ffprobe는 스트림마다 codec_name을 출력하고, Sume에 호스팅된 파일은 무료 프로브가 video_codec과 pix_fmt를 반환합니다.

읽는 시간 5분Sume
전체 글

영상의 코덱을 확인하려면 FFmpeg에 포함된 ffprobe로 파일을 프로브하세요. ffprobe -v error -show_entries stream=codec_type,codec_name -of default=noprint_wrappers=1 input.mp4는 각 스트림의 유형과 코덱 이름을 출력합니다. 예를 들어 H.264 영상은 h264, AAC 오디오는 aac로 나옵니다. 이미 Sume에 있는 파일이라면 frames: false를 담은 무료 POST /v1/video-inspect가 같은 정보를 video_codec과 audio_codec으로 반환합니다.

ffprobe 관련 내용은 ffprobe 문서에서, 코덱과 픽셀 형식 이름은 FFmpeg의 포맷, 코덱, 필터, ffmpeg 문서에서, Sume 관련 내용은 영상 검사 문서와 Sume API 레퍼런스에서 가져왔으며, 모두 2026-09-28에 확인했습니다. 현재 동작이라고 설명한 내용은 Sume의 코드에서 확인한 것입니다.

ffprobe로 코덱을 어떻게 확인하나요?

ffprobe는 미디어 스트림에서 정보를 모아 사람과 기계가 모두 읽을 수 있는 형태로 출력하며, 문서도 바로 이 용도를 꼽습니다. 컨테이너 포맷과 그 안에 있는 각 스트림의 포맷과 유형을 확인하는 것입니다. 출력 내용은 세 가지 옵션으로 정합니다.

  • -show_entries는 표시할 필드를 section=field,field 형식으로 정합니다. codec_type은 스트림이 영상인지 오디오인지를, codec_name은 코덱 이름을 알려 줍니다. 필드는 나열한 순서가 아니라 ffprobe의 기본 순서대로 나옵니다. =도 필드 목록도 없이 -show_entries stream이라고만 쓰면 각 스트림의 모든 항목이 표시됩니다.
  • -select_streams는 출력을 지정한 스트림으로 제한합니다. 예를 들어 v:0은 첫 번째 영상 스트림입니다.
  • -of는 출력 형식을 정합니다. default 라이터에서 noprint_wrappers=1은 섹션의 헤더와 푸터를 빼고, nokey=1은 키 없이 값만 출력합니다.
# Every stream's type, codec, and pixel format
ffprobe -v error -show_entries stream=codec_type,codec_name,pix_fmt \
  -of default=noprint_wrappers=1 input.mp4

# Only the first video stream's codec name
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name \
  -of default=noprint_wrappers=1:nokey=1 input.mp4

코덱 이름과 픽셀 형식 이름은 무슨 뜻인가요?

이 이름들은 FFmpeg의 짧은 이름입니다. 아래는 그중 몇 가지를 FFmpeg 문서의 설명대로 옮긴 것입니다. 파일 확장자로는 이 이름들을 알 수 없는 이유는 MP4는 어떤 코덱을 쓰나요? MP4는 코덱이 아닌 컨테이너에서 설명하고, 나머지는 yuv420p10le vs yuv420p 차이: 8비트와 10비트 픽셀 포맷에서 다룹니다.

FFmpeg의 포맷, 코덱, ffmpeg, 필터 문서 기준, 2026-09-28 확인.
이름필드뜻
h264codec_nameH.264: ITU-T H.264 / MPEG-4 Part 10 AVC 영상
hevccodec_nameH.265: ITU-T H.265 / MPEG-H Part 2 HEVC 영상
av1codec_nameAV1: AOMedia Video 1 영상
aaccodec_nameAAC 오디오
yuv420ppix_fmtYUV 4:2:0 플래너, 8비트

Sume에 있는 파일의 코덱은 어떻게 확인하나요?

무료 프로브를 실행하세요. frames: false를 담은 POST /v1/video-inspect는 스틸 없이 프로브만 합니다. 이 프로브는 이전 Sume Job의 출력처럼 워크스페이스에 있는 media.sume.com 파일만 읽으며, 전체 요청은 영상의 길이, 해상도, fps 확인하기에서 보여 줍니다. 현재 코드에서는 300 MiB가 넘는 소스 파일을 source_too_large로 거부하므로, 더 큰 파일은 ffprobe로 확인하세요. 코덱 정보는 다음 probe 필드에 있습니다.

  • video_codec과 audio_codec: 현재 코드에서는 클립의 영상 스트림과 오디오 스트림에 대한 ffprobe의 codec_name입니다.
  • pix_fmt와 color_transfer: 현재 코드에서는 같은 ffprobe 호출에서 얻은 영상 스트림의 픽셀 형식과 색 전달 특성입니다.
  • container: 현재 코드에서는 ffprobe가 알려 주는 파일의 포맷 이름입니다.
  • hdr: PQ와 HLG 전달 특성이면 true입니다. 영상 필터는 이런 소스를 hdr_source_unsupported로 거부합니다.

코덱이 문제라면 어떻게 하나요?

영상 스트림을 재인코딩하세요. HEVC를 H.264로 변환하는 방법에서 이를 위한 FFmpeg 명령과 Sume 트림을 차례로 설명하고, MP4 소리는 나는데 화면이 안 나오나요? 영상 스트림 확인하기에서는 소리만 나고 화면이 나오지 않는 파일의 프로브 결과를 읽는 법을 다룹니다.

출처

관련 글

미디어 도구 카테고리의 다른 글

미디어 도구 글 전체 보기

작성자 Sume