Видео и аудиофайлы в MATLAB ® и поддерживаемые ими форматы файлов и кодеки.
Для видеоданных термин «формат файла» часто относится либо к контейнерному формату, либо к кодеку. Формат контейнера описывает компоновку файла, в то время как кодек описывает, как кодировать/декодировать видеоданные. Многие форматы контейнеров могут содержать данные, закодированные различными кодеками.
Для чтения видеофайла любое приложение должно:
Распознавание формата контейнера (например, AVI).
Иметь доступ к кодеку, который может декодировать видеоданные, сохраненные в файле. Некоторые кодеки являются частью стандартных системных установок Windows ® и Macintosh и позволяют воспроизводить видео в проигрывателе Windows Media ® Player или QuickTime. В MATLAB,VideoReader может получить доступ к большинству, но не ко всем этим кодекам.
Правильно используйте кодек для декодирования видеоданных в файле. VideoReader не всегда удается прочитать файлы, связанные с кодеками, которые не были частью первоначальной установки системы.
VideoReader ПоддержкиИспользовать VideoReader для чтения видеофайлов в MATLAB. Форматы файлов, VideoReader поддержка зависит от платформы и не имеет ограничений на расширение файлов.
Платформы | Форматы файлов |
|---|---|
Все платформы | AVI, включая несжатое, индексированное, градации серого и видео в кодировке Motion JPEG ( |
Все окна | MPEG-1 ( |
Windows 7 или более поздняя версия | MPEG-4, включая H.264 закодированное видео ( |
Макинтош | Большинство форматов, поддерживаемых QuickTime Player, включая: Примечание: Для OS X Yosemite (версия 10.10) и более поздних версий MPEG-4/H.264 файлы написаны с помощью |
Linux ® | Любой формат, поддерживаемый установленными подключаемыми модулями для GStreamer 1.0 или выше, как указано на https://gstreamer.freedesktop.org/documentation/plugins_doc.html, включая Ogg Theora ( |
В этом примере показано, как просмотреть кодек, связанный с видеофайлом, с помощью mmfileinfo функция.
Храните информацию о видеофайле-образце, shuttle.avi, в массиве структуры с именем info. info структура содержит следующие поля: Filename, Path, Duration, Audio и Video.
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 считывают и сохраняют одноканальные (моно) аудиоданные в m-by-1 вектор столбца и стереоданные в m-by-2 матрица. В любом случае m - количество выборок. Для стереоданных первый столбец содержит левый канал, а второй столбец содержит правый канал.
Обычно каждый образец имеет двойную точность в диапазоне от -1 до 1. В некоторых случаях, особенно когда звуковое оборудование не поддерживает высокие битовые глубины, звуковые файлы сохраняют значения как 8-битовые или 16-битовые целые числа. Диапазон значений выборки зависит от доступного количества битов. Например, образцы, сохраненные как uint8 значения могут находиться в диапазоне от 0 до 255 (28 - 1). MATLAB sound и soundsc функции поддерживают только значения одиночной или двойной точности в диапазоне от -1 до 1. Другие звуковые функции поддерживают множество типов данных, как указано на страницах ссылок на функции.
audioReader ПоддержкиИспользовать audioread для чтения аудиофайлов в MATLAB. audioread поддерживает эти форматы файлов.
| Поддержка платформы | Формат файла |
|---|---|
| Все платформы | ВОЛНА (.wav) |
ОГГ (.ogg) | |
FLAC (ПОЗ..flac) | |
AU (.au) | |
AIFF (.aiff, .aif) | |
МФЦА (.aifc) | |
| Windows 7 (или более поздняя версия), Macintosh и Linux | MP3 (.mp3) |
MPEG-4 КРК (.m4a, .mp4) |
На платформах Windows до Windows 7, audioread не считывает файлы WAVE с MP3 закодированными данными.
На платформах Windows 7 (или более поздних версий) audioread также может считывать любые файлы, поддерживаемые Windows Media Foundation.
На платформах Linux audioread может также считывать любые файлы, поддерживаемые GStreamer.
audioread может извлекать аудио из MPEG-4 (.mp4, .m4v) видеофайлы в Windows 7 или более поздней версии, Macintosh и Linux, а также из Windows Media Video (.wmv) и AVI (.avi) файлы на платформах Windows 7 (или выше) и Linux.
audioinfo | audioread | mmfileinfo | VideoReader