exponenta event banner

видение. VideoFileReader

Считывание видеокадров и аудиоснимков из видеофайла

Описание

VideoFileReader объект считывает видеокадры, изображения и аудиоотборники из видеофайла. Объект также может считывать файлы изображений.

Платформы

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

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

AVI, включая несжатое, индексированное, градации серого и видео в кодировке Motion JPEG (.avi)
Движение JPEG 2000 (.mj2)

Все ОС Windows ®

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

Windows 7 или более поздняя версия

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

Макинтош

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

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

Linux ®

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

Для чтения файла:

  1. Создать vision.VideoFileReader и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

пример

videoFReader = vision.VideoFileReader(Filename) возвращает object™ системы чтения видеофайлов, videoFReader, которая последовательно считывает видеокадры или аудиоотборники из входного файла, Filename.

videoFReader = vision.VideoFileReader(___,Name,Value)дополнительно задает свойства, используя одну или несколько пар имя-значение. Заключите каждое имя свойства в кавычки. Например, videoFReader = vision.VideoFileReader('PlayCount',1)

Свойства

развернуть все

Если не указано иное, свойства не настраиваются, что означает невозможность изменения их значений после вызова объекта. Объекты блокируются при их вызове, и release функция разблокирует их.

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

Имя файла, указанное как символьный вектор. Полный путь к файлу должен быть указан только в том случае, если файл отсутствует в пути MATLAB ®.

Число воспроизведений файла, указанное как положительное целое число.

Выходные аудиоданные, указанные как true или false. Это свойство используется для управления выводом звука только в том случае, если входной файл содержит аудио- и видеопотоки.

Формат изображения, указанный как RGB, YCbCr 4:2:2или интенсивность видеокадров, когда входной файл содержит видео.

Тип выходных видеоданных, указанный как один из перечисленных типов данных и inherit. Это свойство применяется, когда входной файл содержит видео.

Типы данных: double | int8 | int16 | int32 | uint8 | uint16

Тип данных выходных аудиоотсчетов, указанный как один из перечисленных типов данных и inherit. Это свойство применяется, когда входной файл содержит звук.

Типы данных: double | single | int16 | uint8

Использование

Описание

I = videoFReader() возвращает следующий видеокадр.

[Y,Cb,Cr] = videoFReader() возвращает следующий кадр YCbCr 4:2:2 форматировать видео в цветовых компонентах Y, Cb, и Cr. Этот синтаксис требует установки 'ImageColorSpace' свойство для "YCbCr 4:2:2'

[___,audio] = videoFReader() также возвращает один кадр аудиоотсчетов, audio. Этот синтаксис требует установки AudioOutputPort свойство для true.

[___,EOF] = videoFReader() также возвращает индикатор конца файла, EOF. Наборы объектов EOF кому true каждый раз, когда выходной сигнал содержит последнюю аудиосъемку и/или видеокадр.

Выходные аргументы

развернуть все

Видеокадр, возвращенный в виде триеколора или изображения 2-D оттенках серого.

Цветовые каналы YCbCr YCbCr 4:2:2 форматировать изображение, возвращаемое как числовые матрицы.

Один кадр аудиоотсчетов, возвращаемый в одном из следующих форматов.

ПлатформаПоддерживаемые расширения имен файлов
Все платформыAVI (.avi)
Windows Изображение:
.jpg,.bmp
Видео:
MPEG (.mpeg)
MPEG-2 (.mp2)
MPEG-1.mpg

MPEG-4, включая H.264 закодированное видео (.mp4, .m4v)
Движение JPEG 2000 (.mj2)
Видео Windows Media (.wmv,.asf, .asx. asx)
и любой формат, поддерживаемый Microsoft DirectShow ® 9.0 или более поздней версии.
Аудио:
ВОЛНА (.wav)
Аудиофайл Windows Media (.wma)
Формат файла аудиообмена (.aif, .aiff)
Сжатый формат файла аудиообмена (.aifc),
MP3 (.mp3)
Sun Audio (Sun Аудио) (.au)
Apple.snd)
Макинтош Видео:
.avi
Движение JPEG 2000 (.mj2)
MPEG-4, включая H.264 закодированное видео (.mp4, .m4v)
Фильм Apple QuickTime (.mov)
и любой формат, поддерживаемый QuickTime, как указано в http://support.apple.com/kb/HT3775.
Аудио:
Несжатый .avi
Linux Движение JPEG 2000 (.mj2)
Любой формат, поддерживаемый установленными подключаемыми модулями для GStreamer 0.1 или выше, как указано на https://gstreamer.freedesktop.org/documentation/plugins_doc.html?gi-language=c, включая Ogg Theora (.ogg).

Платформы Windows XP и Windows 7 x64 поставляются с ограниченным набором 64-разрядных видео и аудиокодеков. Если сжатый мультимедийный файл не воспроизводится, попробуйте сохранить его в поддерживаемом формате, указанном в таблице выше.

При использовании Windows используйте проигрыватель Windows Media версии 11 или более поздней.

Примечание

Файлы MJ2 с битовой глубиной выше 8 бит не поддерживаются vision.VideoFileReader. Использовать VideoReader и VideoWriter для более высоких битовых глубин.

Чтение звука из сжатых файлов MP4 с видео и аудио не поддерживается vision.VideoFileReader.

Индикатор конца файла, возвращенный как true или false.

Функции объекта

Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:

release(obj)

развернуть все

infoСведения об указанном видеофайле
isDoneСостояние окончания файла (логическое)
stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

Загрузите видео с помощью объекта video reader.

videoFReader = vision.VideoFileReader('ecolicells.avi');

Создайте объект видеопроигрывателя для воспроизведения видеофайла.

videoPlayer = vision.VideoPlayer;

Используйте цикл while для чтения и воспроизведения видеокадров. Приостановка на 0,1 секунды после отображения каждого кадра.

while ~isDone(videoFReader)
  videoFrame = videoFReader();
  videoPlayer(videoFrame);
  pause(0.1)
end

Отпустите объекты.

release(videoPlayer);
release(videoFReader);

Совет

  • Производительность чтения видео в системах Windows: Для достижения более высокой производительности чтения видео в Windows для файлов MP4 и MOV MATLAB использует графическое оборудование системы для декодирования. Однако в некоторых случаях использование графической карты для декодирования может привести к снижению производительности в зависимости от конкретного графического оборудования в системе. Если вы заметили более низкую производительность устройства чтения видео, отключите аппаратное ускорение, введя:

     matlab.video.read.UseHardwareAcceleration('off') 
    Аппаратное ускорение может быть вновь включено путем ввода:
     matlab.video.read.UseHardwareAcceleration('on')  

Расширенные возможности

.
Представлен в R2012a