主要内容

愿景。视频FileReader

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

描述

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

平台

文件格式

所有平台

AVI,包括未压缩、索引、灰度和动态jpeg编码视频(.avi
动议JPEG 2000 (.mj2

所有窗口®

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

Windows 7或晚

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

麦金塔电脑

支持的大多数格式万博1manbetxQuickTime的球员,包括:
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 万博1manbetx1.0或更高版本安装的插件所支持的任何格式,如上面所列https://gstreamer.freedesktop.org/documentation/plugins_doc.html,包括Ogg Theora (. ogg).

读取文件:

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

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

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

例子

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彩色通道的一种YCbCr 4:2:2格式化图像,作为数字矩阵返回。

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

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

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

Windows XP而且Windows 7X64平台附带一套有限的64位视频和音频编解码器。如果压缩后的多媒体文件无法播放,请尝试将多媒体文件保存为上表中所支持的文件格式。万博1manbetx

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

请注意

不支持位深大于8位的MJ2文件万博1manbetx愿景。视频FileReader.使用VideoReader而且VideoWriter用于更高的钻头深度。

不支持从带有视频和音频的压缩MP4文件中读取音频万博1manbetx愿景。视频FileReader

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

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

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

videoFReader =视觉。VideoFileReader (“ecolicells.avi”);

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

videoPlayer = 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中引入