Supported Video and Audio File Formats
Video and audio files in MATLAB® and their supported file formats and codecs.
Video Data in MATLAB
What Are Video Files?
For video data, the term “file format” often refers to either the container format or the codec. A container format describes the layout of the file, while a codec describes how to encode/decode the video data. Many container formats can hold data encoded with different codecs.
To read a video file, any application must:
- Recognize the container format (such as AVI). 
- Have access to the codec that can decode the video data stored in the file. Some codecs are part of standard Windows® and Macintosh system installations, and allow you to play video in Windows Media® Player or QuickTime®. In MATLAB, - VideoReadercan access most, but not all, of these codecs.
- Properly use the codec to decode the video data in the file. - VideoReadercannot always read files associated with codecs that were not part of your original system installation.
Formats That VideoReader Supports
Use VideoReader to read video files in MATLAB. The file formats that VideoReader supports
                    vary by platform, and have no restrictions on file extensions.
| Platforms | File Formats | 
|---|---|
| All Platforms | AVI, including uncompressed, indexed, grayscale, and Motion JPEG-encoded video
                            ( Note 
 
 | 
| All Windows | MPEG-1 ( | 
| Windows 7 or later | MPEG-4, including H.264 encoded video ( | 
| Macintosh | Most formats supported by QuickTime Player, including: Note: For OS X Yosemite (Version 10.10) and
later, MPEG-4/H.264 files written using  | 
| Linux® | Any format supported by your installed plug-ins for GStreamer 1.0 or higher, as listed
                        on https://gstreamer.freedesktop.org/documentation/plugins_doc.html, including Ogg Theora ( | 
View Codec Associated with Video File
This example shows how to view the codec associated with a video file, using the mmfileinfo function. 
Store information about the sample video file, shuttle.avi, in a structure array named info. The info structure contains the following fields: Filename, Path, Duration, Audio and Video. 
info = mmfileinfo('shuttle.avi');Show the properties in the command window by displaying the fields of the info structure. For example, to view information under the Video field, type info.Video
info.Video
ans = struct with fields:
    Format: 'Motion JPEG'
    Height: 288
     Width: 512
The file, shuttle.avi, uses the Motion JPEG codec. 
Troubleshooting: Errors Reading Video File
You might be unable to read a video file if MATLAB cannot access the appropriate codec. 64-bit applications use 64-bit codec libraries, while 32-bit applications use 32-bit codec libraries. For example, when working with 64-bit MATLAB, you cannot read video files that require access to a 32-bit codec installed on your system. To read these files, try one of the following:
- Install a 64-bit codec that supports this file format. Then, try reading the file using 64-bit MATLAB. 
- Re-encode the file into a different format with a 64-bit codec that is installed on your computer. 
Sometimes, VideoReader cannot open a video file for reading
                    on Windows platforms. This might occur if you have installed a third-party
                    codec that overrides your system settings. Uninstall the codec and try opening
                    the video file in MATLAB again. 
Audio Data in MATLAB
What Are Audio Files?
The audio signal in a file represents a series of samples that capture the amplitude of the sound over time. The sample rate is the number of discrete samples taken per second and given in hertz. The precision of the samples, measured by the bit depth (number of bits per sample), depends on the available audio hardware.
MATLAB audio functions read and store single-channel (mono) audio data in
                    an m-by-1 column vector, and stereo data in an
                        m-by-2 matrix. In either case,
                        m is the number of samples. For stereo data, the
                    first column contains the left channel, and the second column contains the right
                    channel.
Typically, each sample is a double-precision value between -1 and 1. In some
                    cases, particularly when the audio hardware does not support high bit depths,
                    audio files store the values as 8-bit or 16-bit integers. The range of the
                    sample values depends on the available number of bits. For example, samples
                    stored as uint8 values can range from 0 to 255
                        (28 – 1). The MATLAB
                    sound and soundsc functions support only
                    single- or double-precision values between -1 and 1. Other audio functions
                    support multiple data types, as indicated on the function reference
                    pages.
Formats That audioread Supports
Use audioread to read audio files
                    in MATLAB. The audioread function supports
                    these file formats.
| Platform Support | File Format | 
|---|---|
| All platforms | AIFC ( .aifc) | 
| AIFF ( .aiff,.aif) | |
| AU ( .au) | |
| FLAC ( .flac) | |
| OGG ( .ogg) | |
| OPUS ( .opus) | |
| WAVE ( .wav) | |
| Windows 7 (or later), Macintosh, and Linux | MP3 ( .mp3) | 
| MPEG-4 AAC ( .m4a,.mp4) | 
On Windows platforms prior to
                        Windows 7,
                        audioread does not read WAVE files with MP3 encoded
                    data.
On Windows 7 (or later) platforms, audioread might also
                    read any files supported by Windows Media Foundation. 
On Linux platforms, audioread might also read any files
                    supported by GStreamer.
audioread can extract audio from MPEG-4
                        (.mp4, .m4v) video files on
                        Windows 7 or later, Macintosh, and Linux, and from Windows Media Video (.wmv) and AVI (.avi)
                    files on Windows 7 (or later) and Linux platforms.
See Also
VideoReader | audioread | mmfileinfo | audioinfo