主要内容

愿景。视频FileReader

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

描述

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

平台

文件格式

所有平台

AVI格式,包括未压缩、索引、灰度和运动jpeg编码的视频(.avi
议案jpeg2000 (.mj2

所有窗口®

mpeg - 1 (.mpg
Windows媒体®视频(.wmv.asf.asx
微软支持的任何格式金宝app®DirectShow的®

Windows 7或晚

MPEG-4,包括H.264编码视频(mp4.m4v
苹果QuickTime电影(。mov
微软媒体基金会支持的任金宝app何格式

麦金塔电脑

支持的大多数格式金宝appQuickTime的球员,包括:
mpeg - 1 (.mpg
MPEG-4,包括H.264编码视频(mp4.m4v
苹果QuickTime电影(。mov
3 gpp
3 gpp2
AVCHD
DV

注意:对于OS X Yosemite(版本10.10)和更高版本,MPEG-4/H。264文件使用VideoWriter,可正确播放,但显示不准确的帧率。

Linux®

为GStreamer 金宝app1.0或更高版本安装的插件所支持的任何格式,如https://gstreamer.freedesktop.org/documentation/plugins_doc.html,包括奥格·希奥拉(. ogg).

读取文件:

  1. 创建愿景。视频FileReader对象,并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

例子

videoFReader=愿景。视频FileReader(文件名返回一个视频文件读取器系统对象™,videoFReader,按顺序从输入文件中读取视频帧或音频样本,文件名

videoFReader=愿景。视频FileReader(___名称,值另外,使用一个或多个名称-值对设置属性。将每个属性名用引号括起来。例如,videoFReader = vision.VideoFileReader (PlayCount, 1)

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

文件名,指定为字符向量。只有当文件不在MATLAB上时,才需要指定文件的完整路径®路径。

播放文件的次数,指定为正整数。

输出音频数据,指定为真正的.仅当输入文件包含音频和视频流时,使用此属性控制音频输出。

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

输出视频数据类型,指定为所列出的数据类型之一继承.当输入文件包含视频时,此属性将应用。

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

输出音频样本数据类型,指定为所列出的数据类型之一继承.当输入文件包含音频时,此属性将应用。

数据类型:||int16|uint8

使用

描述

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

YCbCr] = videoFReader ()的下一帧YCbCr 4:2:2格式视频中的颜色组件YCb,Cr.此语法要求您设置“ImageColorSpace”财产的YCbCr 4:2:2

___音频] = videoFReader ()也返回一帧音频样本,音频.此语法要求您设置AudioOutputPort财产真正的

___EOF] = videoFReader ()也返回文件结束符,EOF.对象集EOF真正的每次输出包含最后的音频样本和/或视频帧。

输出参数

全部展开

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

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

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

平台 金宝app支持的文件扩展名
所有平台 AVI (.avi
窗户 图像
jpgbmp格式
视频
MPEG(。mpeg
mpeg - 2(。mp2
mpeg - 1.mpg

MPEG-4,包括H.264编码视频(。mp4,。m4v
动议jpeg2000(。mj2
windowsmediavideo (.wmv.asf.asx.asx)
以及Microsoft Dir金宝appectShow®9.0或更高版本支持的任何格式。
音频
波(. wav
windowsmediaaudio档案(.wma
音频交换档案格式(aif.aiff
压缩音频交换档案格式(.aifc),
MP3 (mp3
太阳音频(.au
苹果爱恋
麦金塔电脑 视频
.avi
动议jpeg2000(。mj2
MPEG-4,包括H.264编码视频(。mp4,。m4v
Apple QuickTime Movie (.mov)
以及http://suppor金宝appt.apple.com/kb/HT3775上列出的QuickTime支持的任何格式。
音频
未压缩的.avi
Linux 动议jpeg2000(。mj2
为GStreamer 金宝app0.1或更高版本安装的插件所支持的任何格式,如https://gstreamer.freedesktop.org/documentation/plugins_doc.html?gi-language=c,包括Ogg Theora (. Ogg)。

Windows XPWindows 7X64平台提供了一套有限的64位视频和音频编解码器。如果压缩后的多媒体文件无法播放,请尝试将多媒体文件保存为上表中所支持的文件格式。金宝app

如果您使用Windows,请使用Windows Media player Version 11或更高版本。

请注意

不支持位深大于8位的MJ2文件金宝app愿景。视频FileReader.使用VideoReaderVideoWriter适用于更高的钻头深度。

不支持从压缩的MP4文件中读取音频和视频金宝app愿景。视频FileReader

文件结束指示符,返回为真正的

对象的功能

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj,使用下面的语法:

发行版(obj)

全部展开

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

例子

全部折叠

使用视频阅读器对象加载视频。

videoFReader =愿景。VideoFileReader (“ecolicells.avi”);

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

放像机= vision.VideoPlayer;

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

~isDone(videoFReader) videoFrame = videoFReader();放像机(videoFrame);暂停(0.1)结束

释放对象。

释放(放像机);释放(videoFReader);

提示

  • Windows系统上的视频阅读性能:为了在Windows上对MP4和MOV文件实现更好的视频阅读性能,MATLAB使用系统的图形硬件进行解码。然而,在某些情况下,使用显卡进行解码可能会导致较差的性能,这取决于系统上特定的图形硬件。如果你注意到你的系统上的视频阅读器性能变慢了,可以通过输入:

    matlab.video.read.UseHardwareAcceleration(“了”)
    硬件加速可以通过输入重新启用:
    matlab.video.read.UseHardwareAcceleration(上)

扩展功能

介绍了R2012a