видение. VideoFileReader

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

Описание

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

Платформы

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

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

AVI, включая несжатый, индексированный, шкалу полутонов и закодированное Движущимся JPEG видео (.avi)
Motion 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

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_doc.html, включая Ogg Theora (.ogg).

Считать файл:

  1. Создайте объект vision.VideoFileReader и установите его свойства.

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Синтаксис

videoFReader = vision.VideoFileReader(Filename)
videoFReader = vision.VideoFileReader(___,Name,Value)

Описание

пример

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

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

Свойства

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

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

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

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

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

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

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

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

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

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

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

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

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

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

I = videoFReader()
[Y,Cb,Cr] = videoFReader()
[___,audio] = videoFReader()
[___,EOF] = videoFReader()

Описание

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 Изображение:
.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 или выше.
Аудио:
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 или выше, как перечислено на http://gstreamer.freedesktop.org/documentation/plugins.html, включая 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