Поддерживаемые форматы видеофайла

Что такое видеофайлы?

Для видеоданных термин “формат файла” часто относится или к формату контейнера или к кодеку. Формат контейнера описывает размещение файла, в то время как кодек описывает, как кодировать/декодировать видеоданные. Много форматов контейнера могут содержать данные, закодированные с различными кодеками.

Чтобы считать видеофайл, любое приложение должно:

  • Признайте формат контейнера (такой как AVI).

  • Имейте доступ к кодеку, который может декодировать видеоданные, сохраненные в файле. Некоторые кодеки являются частью стандартного Windows® и установок системы Macintosh, и позволяют вам проигрывать видео в Проигрывателе Windows Media® или QuickTime. В MATLAB® VideoReader может получить доступ больше всего, но не все, этих кодеков.

  • Правильно используйте кодек, чтобы декодировать видеоданные в файле. VideoReader не может всегда читать файлы, сопоставленные с кодеками, которые не были частью вашей исходной установки системы.

Форматы, которые поддерживает VideoReader

Используйте VideoReader, чтобы считать видеофайлы в MATLAB. Форматы файлов, что поддержки VideoReader отличаются платформой и не имеют никаких ограничений на расширения файла.

Платформы

Форматы файлов

Все платформы

AVI, включая несжатый, индексированный, шкалу полутонов и закодированное Движущимся JPEG видео (.avi)
Движущийся JPEG 2000 (.mj2)

Весь Windows

(.mpg) MPEG 1
Windows Media Video (.wmv, .asf, .asx)
Любой формат поддержан Microsoft® DirectShow®

Windows 7 или позже

MPEG 4, включая H.264 закодировал видео (.mp4, .m4v)
Фильм в формате QuickTime Apple (.mov)
Любой формат поддержан Microsoft Media Foundation

Macintosh

Большинство форматов поддержано QuickTime Player, включая:
(.mpg) MPEG 1
MPEG 4, включая H.264 закодировал видео (.mp4, .m4v)
Фильм в формате QuickTime Apple (.mov)
3GPP
3GPP2
AVCHD
DV

Примечание: Для OS X Йосемити (Версия 10.10) и позже, MPEG-4/H.264 файлы записанное использование VideoWriter, игра правильно, но отображают неточную частоту кадров.

Linux®

Любой формат, поддержанный вашими установленными плагинами для GStreamer 1.0 или выше, как перечислено на https://gstreamer.freedesktop.org/documentation/plugins.html, включая Ogg Theora (.ogg).

Просмотр кодека, связанного с видеофайлом

Этот пример показывает, как просмотреть кодек, сопоставленный с видеофайлом, с помощью функции 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 снова.

Была ли эта тема полезной?