Main Content

지원되는 비디오 및 오디오 파일 형식

MATLAB®에서 지원되는 비디오 및 오디오 파일의 파일 형식과 코덱입니다.

MATLAB의 비디오 데이터

비디오 파일이란?

비디오 데이터에서 “파일 형식”이라는 용어는 대개 컨테이너 형식 또는 코덱을 나타냅니다. 컨테이너 형식은 파일의 레이아웃을 설명하는 반면, 코덱은 비디오 데이터를 인코딩/디코딩하는 방법을 설명합니다. 대부분의 컨테이너 형식은 서로 다른 코덱으로 인코딩된 데이터를 담을 수 있습니다.

비디오 파일을 읽기 위해 애플리케이션은 다음을 수행해야 합니다.

  • 컨테이너 형식(예: AVI)을 인식합니다.

  • 파일에 저장된 비디오 데이터를 디코딩할 수 있는 코덱에 액세스합니다. 일부 코덱은 표준 Windows®Macintosh 시스템 설치에 포함되며, 이를 통해 Windows Media® Player나 QuickTime®에서 비디오를 재생할 수 있습니다. MATLAB의 VideoReader는 이러한 코덱의 대부분(전부는 아님)에 액세스할 수 있습니다.

  • 코덱을 적절히 사용하여 파일의 비디오 데이터를 디코딩합니다. VideoReader는 원래 시스템 설치에 포함되지 않은 코덱과 연결된 파일을 읽지 못할 수도 있습니다.

VideoReader가 지원하는 형식

MATLAB에서는 VideoReader를 사용하여 비디오 파일을 읽어옵니다. VideoReader가 지원하는 파일 형식은 플랫폼마다 다르며, 파일 확장자에 대한 제한은 없습니다.

플랫폼

파일 형식

모든 플랫폼

무압축 AVI, Indexed AVI, Grayscale AVI, Motion JPEG 인코딩된 비디오를 비롯한 AVI(.avi)
Motion JPEG 2000(.mj2)

모든 Windows

MPEG-1(.mpg)
Windows Media 비디오(.wmv, .asf)
Microsoft® DirectShow®에서 지원하는 모든 형식

Windows 7 이상

H.264 인코딩된 비디오를 비롯한 MPEG-4(.mp4, .m4v)
Apple QuickTime Movie(.mov)
Microsoft Media Foundation에서 지원하는 모든 형식

Macintosh

다음과 같이 QuickTime Player에서 지원하는 대부분의 형식:
MPEG-1(.mpg)
MPEG-4(H.264 인코딩된 비디오(.mp4, .m4v) 포함)
Apple QuickTime Movie(.mov)
3GPP
3GPP2
AVCHD
DV

참고: OS X Yosemite(버전 10.10 이상)의 경우, VideoWriter를 사용하여 작성된 MPEG-4/H.264 파일은 제대로 재생되지만 프레임 속도가 부정확하게 표시됩니다.

Linux®

Ogg Theora(.ogg)를 비롯해 https://gstreamer.freedesktop.org/documentation/plugins_doc.html에 나와 있는 GStreamer 1.0 이상용으로 설치된 플러그인에서 지원하는 모든 형식.

비디오 파일과 연결된 코덱 보기

이 예제에서는 mmfileinfo 함수를 사용하여 비디오 파일과 연결된 코덱을 보는 방법을 보여줍니다.

샘플 비디오 파일 shuttle.avi에 대한 정보를 info라는 구조체형 배열로 저장하겠습니다. info 구조체는 Filename, Path, Duration, AudioVideo 필드를 포함합니다.

info = mmfileinfo('shuttle.avi');

info 구조체의 필드를 표시하여 명령 창에 속성을 표시합니다. 예를 들어, Video 필드에 있는 정보를 보려면 info.Video를 입력하십시오.

info.Video
ans = struct with fields:
    Format: 'Motion JPEG'
    Height: 288
     Width: 512

파일 shuttle.avi는 Motion JPEG 코덱을 사용합니다.

문제 해결: 비디오 파일 읽기 오류

MATLAB이 적절한 코덱에 액세스할 수 없으면 비디오 파일을 읽어오지 못할 수 있습니다. 64비트 애플리케이션은 64비트 코덱 라이브러리를 사용하는 반면, 32비트 애플리케이션은 32비트 코덱 라이브러리를 사용합니다. 예를 들어 64비트 MATLAB을 사용할 경우에는, 시스템에 설치된 32비트 코덱에 액세스해야 하는 비디오 파일을 읽어올 수 없습니다. 이러한 파일을 읽어오려면 다음 중 하나를 시도하십시오.

  • 이 파일 형식을 지원하는 64비트 코덱을 설치합니다. 그런 다음 64비트 MATLAB을 사용하여 파일을 읽어 보십시오.

  • 컴퓨터에 설치되어 있는 64비트 코덱을 사용하여 파일을 다른 형식으로 다시 인코딩합니다.

경우에 따라, VideoReader가 Windows 플랫폼에서 비디오 파일을 열어서 읽어오지 못할 수 있습니다. 이 문제는 시스템 설정을 재정의하는 타사 코덱을 설치한 경우 발생할 수 있습니다. 해당 코덱을 제거한 후 MATLAB에서 비디오 파일을 다시 열어 보십시오.

MATLAB의 오디오 데이터

오디오 파일이란?

파일의 오디오 신호는 시간 경과에 따른 소리의 진폭을 캡처하는 일련의 샘플을 나타냅니다. 샘플 레이트는 초당 추출되는 이산 샘플의 개수(단위: 헤르츠)입니다. 비트 심도(샘플당 비트 수)로 측정되는 샘플의 정밀도는 사용 가능한 오디오 하드웨어에 따라 달라집니다.

MATLAB 오디오 함수는 단일채널(모노) 오디오 데이터는 m×1 열 벡터로 읽어서 저장하고, 스테레오 데이터는 m×2 행렬로 읽어서 저장합니다. m은 두 경우 모두 샘플 개수입니다. 스테레오 데이터의 경우, 첫 번째 열에는 왼쪽 채널이 포함되고 두 번째 열에는 오른쪽 채널이 포함됩니다.

일반적으로 각 샘플은 -1과 1사이의 배정밀도 값입니다. 경우에 따라, 특히 오디오 하드웨어가 높은 비트 심도를 지원하지 않는 경우 오디오 파일은 8비트 정수 또는 16비트 정수로 값을 저장합니다. 샘플 값의 범위는 사용 가능한 비트 수에 따라 달라집니다. 예를 들어, uint8 값으로 저장된 샘플의 범위는 0에서 255(28 – 1) 사이일 수 있습니다. MATLAB sound 함수와 soundsc 함수는 -1과 1 사이의 단정밀도 값 또는 배정밀도 값만 지원합니다. 다른 오디오 함수는 함수 도움말 페이지에 나와있는 여러 데이터형을 지원합니다.

audioread가 지원하는 형식

MATLAB에서는 audioread를 사용하여 오디오 파일을 읽어옵니다. audioread 함수는 다음과 같은 파일 형식을 지원합니다.

지원하는 플랫폼파일 형식
모든 플랫폼AIFC(.aifc)
AIFF(.aiff, .aif)
AU(.au)
FLAC(.flac)
OGG(.ogg)
OPUS(.opus)
WAVE(.wav)
Windows 7(이상), Macintosh, LinuxMP3(.mp3)
MPEG-4 AAC(.m4a, .mp4)

Windows 7 이전 버전의 Windows 플랫폼에서 audioread를 사용하면, MP3 인코딩 데이터로 구성된 WAVE 파일을 읽을 수 없습니다.

audioread를 Windows 7(이상) 플랫폼에서 사용하면 모든 Windows Media Foundation용 파일을 읽을 수 있습니다.

audioread를 Linux 플랫폼에서 사용하면 모든 GStreamer용 파일을 읽을 수 있습니다.

audioreadWindows 7 이상, Macintosh, Linux의 MPEG-4(.mp4, .m4v) 비디오 파일과 Windows 7(이상) 및 Linux 플랫폼의 Windows Media 비디오(.wmv) 및 AVI(.avi) 파일에서 오디오를 추출할 수 있습니다.

참고 항목

| | |

관련 항목