Считайте кадры видео и аудиосэмплы из видеофайла
Объект VideoFileReader читает кадры видео, изображения и аудиосэмплы из видеофайла. Объект может также считать файлы изображений.
Платформы | Форматы файлов |
|---|---|
Все платформы | AVI, включая несжатый, индексированный, шкалу полутонов и закодированное Движущимся JPEG видео ( |
Весь Windows® | ( |
Windows 7 или позже | MPEG-4, включая H.264 закодировал видео ( |
Macintosh | Большинство форматов поддержано QuickTime Player, включая: Примечание: Для OS X Йосемити (Версия 10.10) и позже, MPEG-4/H.264 файлы записанное использование |
Linux® | Любой формат, поддержанный вашими установленными плагинами для GStreamer 1.0 или выше, как перечислено на https://gstreamer.freedesktop.org/documentation/plugins_doc.html, включая Ogg Theora ( |
Считать файл:
Создайте объект vision.VideoFileReader и установите его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.
videoFReader = vision.VideoFileReader(Filename)videoFReader = vision.VideoFileReader(___,Name,Value) возвращает Систему читателя видеофайла object™, videoFReader = vision.VideoFileReader(Filename)videoFReader, который последовательно читает кадры видео или аудиосэмплы из входного файла, Filename.
дополнительно свойства наборов с помощью одной или нескольких пар "имя-значение". Заключите каждое имя свойства в кавычки. Например, videoFReader = vision.VideoFileReader(___,Name,Value)videoFReader = vision.VideoFileReader('PlayCount',1)
Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.
Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.
I = videoFReader()[Y,Cb,Cr] = videoFReader()[___,audio] = videoFReader()[___,EOF] = videoFReader() возвращает следующий кадр видео.I = videoFReader()
[___, также возвращает один кадр аудиосэмплов, audio] = videoFReader()audio. Этот синтаксис требует, чтобы вы установили свойство AudioOutputPort на true.
[___, также возвращает индикатор конца файла, EOF] = videoFReader()EOF. Объект устанавливает EOF на true каждый раз, когда вывод содержит последний аудиосэмпл и/или кадр видео.
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:
release(obj)
Производительность Чтения видео на Windows Systems:To достигает лучшей видео производительности читателя на Windows для MP4 и файлов MOV, MATLAB использует аппаратное обеспечение машинной графики системы для декодирования. Однако в некоторых случаях использование видеокарты для декодирования может привести к более плохой производительности в зависимости от определенного аппаратного обеспечения машинной графики в системе. Если вы замечаете более медленную видео производительность читателя в своей системе, выключаете аппаратное ускорение путем ввода:
matlab.video.read.UseHardwareAcceleration('off') matlab.video.read.UseHardwareAcceleration('on') VideoReader | VideoWriter | implay | vision.VideoFileWriter | vision.VideoPlayer