主要内容

vision.VideoFileReader

读取视频帧和音频视频文件样本

vision.VideoFileReader系统对象将在未来的版本中被删除。使用VideoReader对象。

描述

VideoFileReader对象读取视频帧、图像和音频视频文件样本。对象也可以读取图像文件。

平台

文件格式

所有平台

AVI,包括未压缩的索引、灰度和运动JPEG-encoded视频(.avi)
运动JPEG 2000 (.mj2)

所有窗口®

mpeg - 1 (.mpg)
Windows媒体®视频(.wmv,.asf)
微软支持的任何格式万博1manbetx®DirectShow的®

Windows 7或晚

mpeg - 4,包括h编码视频(mp4,.m4v)
苹果QuickTime®电影(。mov)
微软媒体基金会支持的任万博1manbetx何格式

麦金塔电脑

大多数QuickTime播万博1manbetx放器支持的格式,包括:
mpeg - 1 (.mpg)
mpeg - 4,包括h编码视频(mp4,.m4v)
苹果QuickTime电影(。mov)
3 gpp
3 gpp2
AVCHD
DV

注意:OS X约塞米蒂(版本10.10),后来,mpeg - 4 /小时。264个文件使用VideoWriter正确,玩,但显示一个不精确的帧速率。

Linux®

任何格式支持的GStr万博1manbetxeamer 1.0或更高版本的已安装的插件,上市https://gstreamer.freedesktop.org/documentation/plugins_doc.html,包括Ogg Theora (. ogg)。

读取一个文件:

  1. 创建vision.VideoFileReader对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

例子

videoFReader= vision.VideoFileReader (文件名)返回一个视频文件阅读器系统对象™,videoFReader,按顺序读取视频帧或音频样本从输入文件,文件名

videoFReader= vision.VideoFileReader (___,名称,值)另外设置属性使用一个或多个名称-值对。在报价附上每个属性的名字。例如,videoFReader = vision.VideoFileReader (PlayCount, 1)

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

文件名称,指定为一个特征向量。需要指定完整路径的文件只有在MATLAB文件不是®路径。

多次打文件,指定为一个正整数。

输出音频数据,指定为真正的。使用这个属性来控制音频输出只有在输入文件包含音频和视频流。

图像格式,指定为RGB,YCbCr 4:2:2,或强度视频帧输入文件包含视频。

输出视频数据类型,指定的数据类型或上市“继承”。这个属性适用于输入文件包含视频。当你设定这个属性“继承”,对象集的输出数据类型的原生数据类型输入视频。

数据类型:||int8|int16|int32|uint8|uint16|uint32

输出音频样本数据类型,指定数据类型的列和继承。这个属性适用于输入文件包含音频。

数据类型:||int16|uint8

使用

描述

= videoFReader ()返回下一个视频帧。

(Y,Cb,Cr]= videoFReader ()返回下一帧YCbCr 4:2:2格式的视频颜色组件Y,Cb,Cr。这个语法要求设置“ImageColorSpace”财产的YCbCr 4:2:2

(___,音频]= videoFReader ()还返回一帧音频样本,音频。这个语法要求设置AudioOutputPort财产真正的

(___,EOF]= videoFReader ()还返回文件尾的指标,EOF。对象集EOF真正的每次输出包含最后一个音频样本和/或视频帧。

输出参数

全部展开

视频帧,返回真彩或二维灰度图像。

YCbCr颜色通道的YCbCr 4:2:2格式的图像,作为数字矩阵返回。

一帧音频样本,返回以下格式之一。

平台 万博1manbetx支持文件扩展名
所有平台 AVI (.avi)
窗户 图像:
jpg,bmp格式
视频:
MPEG (。mpeg)
mpeg - 2 (。mp2)
mpeg - 1.mpg

mpeg - 4,包括h编码视频(。mp4,。m4v)
运动JPEG 2000 (。mj2)
Windows媒体视频(.wmv,.asf,.asx.asx)
和任何格式支持微软Direct万博1manbetxShow的®9.0或更高版本。

音频:
波(. wav)
Windows媒体音频文件(.wma)
音频文件交换格式(aif,.aiff)
压缩音频文件交换格式(.aifc),
MP3 (mp3)
太阳音频(.au)
苹果爱恋)

麦金塔电脑 视频:
.avi
运动JPEG 2000 (。mj2)
mpeg - 4,包括h编码视频(。mp4,。m4v)
苹果QuickTime电影(。mov)
和任何格式支持的QuickTi万博1manbetxme http://support.apple.com/kb/HT3775上列出。
音频:
未压缩的.avi
Linux 运动JPEG 2000 (。mj2)
任何格式支持的GStr万博1manbetxeamer 0.1或更高版本的已安装的插件,上市https://gstreamer.freedesktop.org/documentation/plugins_doc.html?gi-language=c,包括Ogg Theora (. Ogg)。

Windows XPWindows 7x64平台附带一组有限的64位视频和音频编解码器。如果压缩的多媒体文件失败,尝试多媒体文件保存到一个受支持的文件格式在上面的表中列出。万博1manbetx

如果你使用Windows,使用Windows媒体播放器11或更高版本。

请注意

MJ2文件位深度高于8位是不支持的万博1manbetxvision.VideoFileReader。使用VideoReaderVideoWriter更高的位深。

阅读音频与视频和音频压缩的MP4文件不支持万博1manbetxvision.VideoFileReader

文件尾指标,返回真正的

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

信息 指定的视频文件的信息
结束 文件尾状态(逻辑)
一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

加载视频使用视频读者对象。

vidReader = VideoReader (“ecolicells.avi”);

创建一个视频播放器对象视频文件。

放像机= vision.VideoPlayer;

使用while循环来读取和播放视频帧。暂停后0.1秒显示每一帧。

hasFrame (vidReader) videoFrame = readFrame (vidReader);放像机(videoFrame);暂停(0.1)结束

释放对象。

释放(放像机);

提示

  • 视频阅读性能在Windows系统:实现更好的MP4视频读者性能在Windows和MOV文件,MATLAB使用系统的图形硬件解码。然而,在某些情况下使用的显卡解码会导致贫穷的性能取决于特定的图形硬件在系统。如果你注意到视频慢读者性能在您的系统上,关闭硬件加速通过键入:

    matlab.video.read.UseHardwareAcceleration(“了”)
    硬件加速可以使再能通过输入:
    matlab.video.read.UseHardwareAcceleration(上)

扩展功能

版本历史

介绍了R2012a

全部展开