Для видеоданных термин “формат файла” часто относится или к формату контейнера или к кодеку. Формат контейнера описывает размещение файла, в то время как кодек описывает, как кодировать/декодировать видеоданные. Много форматов контейнера могут содержать данные, закодированные с различными кодеками.
Чтобы считать видеофайл, любое приложение должно:
Признайте формат контейнера (такой как AVI).
Имейте доступ к кодеку, который может декодировать видеоданные, сохраненные в файле. Некоторые кодеки являются частью стандартного Windows® и установок системы Macintosh, и позволяют вам проигрывать видео в Проигрывателе Windows Media® или QuickTime. В MATLAB® VideoReader
может получить доступ больше всего, но не все, этих кодеков.
Правильно используйте кодек, чтобы декодировать видеоданные в файле. VideoReader
не может всегда читать файлы, сопоставленные с кодеками, которые не были частью вашей исходной установки системы.
Форматы, которые поддерживает VideoReader
Используйте VideoReader
, чтобы считать видеофайлы в MATLAB. Форматы файлов, что поддержки VideoReader
отличаются платформой и не имеют никаких ограничений на расширения файла.
Платформы | Форматы файлов |
---|---|
Все платформы | AVI, включая несжатый, индексированный, шкалу полутонов и закодированное Движущимся JPEG видео ( |
Весь Windows | ( |
Windows 7 или позже | MPEG 4, включая H.264 закодировал видео ( |
Macintosh | Большинство форматов поддержано QuickTime Player, включая: Примечание: Для OS X Йосемити (Версия 10.10) и позже, MPEG-4/H.264 файлы записанное использование |
Linux® | Любой формат, поддержанный вашими установленными плагинами для GStreamer 1.0 или выше, как перечислено на https://gstreamer.freedesktop.org/documentation/plugins.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
, использует кодек Движущегося JPEG.
Вы можете не мочь считать видеофайл, если MATLAB не может получить доступ к соответствующему кодеку. 64-битные приложения пользуются 64-битными библиотеками кодека, в то время как 32-битные приложения пользуются 32-битными библиотеками кодека. Например, при работе с 64-битным MATLAB, вы не можете считать видеофайлы, которые требуют доступа к 32-битному кодеку, установленному в вашей системе. Чтобы считать эти файлы, попробуйте одно из следующего:
Установите 64-битный кодек, который поддерживает этот формат файла. Затем попытайтесь читать файл с помощью 64-битного MATLAB.
Повторно закодируйте файл в другой формат с 64-битным кодеком, который установлен на вашем компьютере.
Иногда, VideoReader
не может открыть видеофайл для чтения на платформах Windows. Эта сила происходит, если вы установили сторонний кодек, который заменяет ваши параметры настройки системы. Uninstall кодек и попытка, открывающая видеофайл в MATLAB снова.