vision.VideoFileReader

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

Описание

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

Платформы

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

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

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

Весь Windows®

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

Windows 7 или позже

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

Macintosh

Большинство форматов поддержано QuickTime Player, включая:
MPEG-1 (.mpg)
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_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 каждый раз выход содержит последний аудиосэмпл и/или видеокадр.

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

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

Видеокадр, возвращенный как истинный цвет или 2D полутоновое изображение.

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

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

ПлатформаПоддерживаемые расширения файла
Все платформыAVI (.avi)
Windows Изображение:
.jpgBMP
Видео:
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 или выше.
Аудио:
WAVE (.wav)
Файл Windows Media Audio (.wma)
Аудио формат файла обмена (.aif, .aiff)
Сжатый аудио формат файла обмена (.aifc),
MP3 (.mp3)
Аудио Sun (.au)
Apple (.snd)
Macintosh Видео:
.avi
Motion JPEG 2000 (.mj2)
MPEG-4, включая H.264 закодировал видео (.mp4. m4v)
Фильм в формате QuickTime Apple (.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, используйте Версию 11 Windows Media Player или позже.

Примечание

Файлы 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;

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

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

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

release(videoPlayer);
release(videoFReader);

Советы

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

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

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

Представленный в R2012a