vision.VideoFileReader

Чтение видеокадров и аудио выборок из видео файла

Описание

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

Платформы

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

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

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

Все окна®

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

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

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

Макинтош

Большинство форматов, поддерживаемых QuickTime Player, включая:
MPEG-1 (.mpg)
MPEG-4, включая H.264 закодированное видео (.mp4, .m4v)
Apple QuickTime Movie (.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) возвращает видео файла считывателя System 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 каждый раз, когда выход содержит последнюю аудиосборку и/или видеокадр.

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

расширить все

Видеокадр, возвращенный как truecolor или 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)
Motion JPEG 2000 (. mj2)
Windows Media Video (.wmv, .asf, .asx. asx)
и любой формат, поддерживаемый Microsoft DirectShow ® 9.0 или выше.
Аудио:
ВОЛНА (.wav)
Аудио- Файл Windows Media (.wma)
Формат файла обмена аудио (.aif, .aiff)
Сжатый формат файла обмена аудио (.aifc),
MP3 (.mp3)
Аудио Солнца (.au)
Apple (.snd)
Макинтош Видео:
.avi
Motion JPEG 2000 (. mj2)
MPEG-4, включая H.264 закодированное видео (. mp4. m4v)
Apple QuickTime Movie (.mov)
и любой формат, поддерживаемый QuickTime, как указано в http://support.apple.com/kb/HT3775.
Аудио:
Несжатые .avi
Linux Motion 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.

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

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

release(obj)

расширить все

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

Примеры

свернуть все

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

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 Systems: Чтобы достичь лучшей эффективности считывателя видео в Windows для MP4 и MOV файлов, MATLAB использует графическое оборудование системы для декодирования. Однако в некоторых случаях использование видеокарты для декодирования может привести к снижению эффективности в зависимости от конкретного графического оборудования в системе. Если вы замечаете более медленную эффективность считывателя видео в вашей системе, отключите аппаратное ускорение, набрав:

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

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

.
Введенный в R2012a