主要内容

VideoWriter

创建对象编写视频文件

描述

使用一个VideoWriter从数组对象来创建一个视频文件或MATLAB®电影。对象包含有关视频和控制输出视频的属性。您可以创建一个VideoWriter对象使用VideoWriter函数,指定它的属性,然后使用对象编写视频功能。

创建

描述

例子

v= VideoWriter (文件名)创建一个VideoWriter对象编写视频数据与动态JPEG压缩一个AVI文件。

例子

v= VideoWriter (文件名,配置文件)另外一组属性定制适用于一个特定的文件格式(如mpeg - 4的未压缩的AVI的)。

输入参数

全部展开

文件名称,指定为一个特征向量或字符串标量。VideoWriter创建该文件。

VideoWriter金宝app支持这些文件扩展名。

.avi

AVI文件

.mj2

运动JPEG 2000文件

mp4.m4v

mpeg - 4文件(系统窗户®7之后,或macOS10.7及以后版本)

如果你不指定一个有效的文件扩展名,VideoWriter附加的扩展.avi,.mj2,或mp4,这取决于的价值配置文件论点。如果你不指定一个值配置文件,然后VideoWriter创建一个JPEG压缩的AVI文件的扩展名.avi

例子:“myFile.avi”

例子:“. . / dir /视频/ myFile.mj2”

数据类型:字符|字符串

文件类型,指定为其中之一。

的价值配置文件 描述

“档案”

运动与无损压缩JPEG 2000文件

“运动JPEG AVI”

AVI文件使用JPEG编码

“运动JPEG 2000”

运动JPEG 2000文件

mpeg - 4的

用h编码(mpeg - 4文件系统Windows 7之后,或macOS10.7及以后版本)

未压缩的AVI的

未压缩的AVI文件,RGB24视频

“索引AVI”

未压缩的索引视频AVI文件

“灰度AVI”

未压缩灰度视频AVI文件

配置文件集视频属性的默认值,如VideoCompressionMethod

数据类型:字符|字符串

属性

全部展开

VideoWriter对象包含的属性控制输出视频。您可以创建一个VideoWriter对象与属性为一个特定的格式,如未压缩的AVI的mpeg - 4的,通过使用VideoWriter函数与一个预定义的配置文件。例如,您可以创建一个VideoWriter对象与一个运动JPEG AVI概要文件和赋值质量财产。

v = VideoWriter (“newfile.avi”,“运动JPEG AVI”);v。质量= 95;

在你所说的开放功能上的VideoWriter对象,你不能改变一个属性的值。因此,修改属性值之前打开视频文件编写。

这个属性是只读的。

每个输出视频帧的颜色通道数量,指定为一个正整数:

  • 未压缩的AVI, JPEG AVI和mpeg - 4文件有三个颜色通道。

  • 索引和灰度AVI文件有一个颜色通道。

  • JPEG 2000文件,通道的数量取决于输入数据writeVideo函数:一个用于单色数据或三个颜色数据。

数据类型:

颜色信息对视频文件,指定为一个数字矩阵三列和最多256行。矩阵中的每一行定义了一个颜色使用RGB值。一个RGB值三元素行向量的元素指定强度的红色,绿色和蓝色的组件的颜色。强度必须在范围内[0,1]

你可以设置colormap显式地调用之前开放,或者通过使用colormap电影领域框架结构的时候写第一帧。

Colormap属性只适用于对象用于编写索引AVI文件。

例子:colormap(夏天(256))

数据类型:|uint8

目标压缩比,指定为一个比1大的整数。压缩比是在输入的字节数的比值图像和压缩的字节数。尽可能地压缩视频数据,指定的目标。

CompressionRatio是对象只能用于写作运动JPEG 2000文件。后你叫开放,你不能改变CompressionRatio价值。如果您以前设置LosslessCompression真正的,然后设置CompressionRatio生成一个错误。

例子:5

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

这个属性是只读的。

输出文件的时间以秒为单位,指定为一个标量值。

数据类型:

这个属性是只读的。

写,指定类型的文件“avi”,“mp4”,或“mj2”

数据类型:字符|字符串

这个属性是只读的。

名字的文件,指定为一个特征向量或字符串标量。

数据类型:字符|字符串

这个属性是只读的。

的帧数写入视频文件,指定为一个整数。

数据类型:

视频播放帧每秒,指定为一个正数。

后你叫开放,你不能改变帧速率价值。

例子:10

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

这个属性是只读的。

高像素,每个视频帧的指定为一个标量。的writeVideo方法设置值高度宽度基于第一帧的尺寸。

mpeg - 4文件需要帧整除两个维度。如果输入框高度的mpeg - 4文件不是偶数,VideoWriter垫一排黑色像素的帧在底部。Windows上的mpeg - 4文件系统,允许的值取决于版本的Windows。

数据类型:

无损压缩,指定为真正的。的LosslessCompression对象的属性只能用于写作运动JPEG 2000文件。

如果LosslessCompression真正的,那么:

  • writeVideo函数写数据,这样解压数据是相同的输入数据。

  • VideoWriter忽略任何指定的值CompressionRatio

后你叫开放,你不能改变LosslessCompression价值。

默认情况下,LosslessCompression“运动JPEG 2000”概要文件和真正的“档案”概要文件。

数据类型:逻辑

位深度运动JPEG 2000文件,指定为一个整数的范围(1、16)。的最低比特位深度是输入图像数据

MJ2BitDepth是对象只能用于写作运动JPEG 2000文件。如果你不指定一个值之前调用开放方法,然后VideoWriter设置位深度根据输入数据类型。例如,如果输入数据writeVideo是一个数组的uint8int8值,然后MJ2BitDepth8

例子:8

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

这个属性是只读的。

视频文件完整路径,指定为一个特征向量或字符串标量。

数据类型:字符|字符串

视频质量,指定为一个整数的范围,[0100]。高质量数字导致更高的视频质量和更大的文件大小。低质量数据降低视频质量和较小的文件大小。

质量只有相关的对象吗mpeg - 4运动JPEG AVI概要文件。后你叫开放,你不能改变质量价值。

例子:50

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

这个属性是只读的。

每个像素的比特数在每个输出视频帧,指定为一个数字标量。

真彩视频AVI文件,JPEG格式AVI和mpeg - 4文件每像素24位(8位的三个颜色乐队)。

索引和灰度AVI文件有8位/像素。

对于运动JPEG 2000个文件,每个像素的比特数取决于的价值MJ2BitDepth和乐队的图像数据的数量。例如,如果输入数据writeVideo是一个三维数组uint16int16值,然后的默认值MJ2BitDepth16,VideoBitsPerPixel48(深度)的三倍。

数据类型:

这个属性是只读的。

视频压缩类型,指定为“没有”,“h”,JPEG格式的,或“运动JPEG 2000”

数据类型:字符|字符串

这个属性是只读的。

视频格式的MATLAB表示,向量指定为一个字符或字符串标量。

运动JPEG 2000文件以外的文件类型,VideoWriterVideoFormat下列之一。

视频格式

的价值VideoFormat

未压缩的AVI、JPEG AVI或mpeg - 4文件

“RGB24”

和索引视频AVI文件

“索引”

与灰度视频AVI文件

“灰度”

对于运动JPEG 2000文件,VideoWriter设置VideoFormat基于价值的MJ2BitDepth和输入图像数据的格式writeVideo方法。例如,如果您不指定MJ2BitDepth属性,然后VideoWriter设置格式如下所示。

格式的图像数据

的价值VideoFormat

单波段uint8 “Mono8”
单波段int8 “Mono8签署”
单波段uint16 “Mono16”
单波段int16 “Mono16签署”
三级uint8 “RGB24”
三级int8 “RGB24签署”
三级uint16 “RGB48”
三级int16 “RGB48签署”

数据类型:字符|字符串

这个属性是只读的。

每个视频帧的宽度像素,指定为一个数字标量。的writeVideo集值函数高度宽度基于第一帧的尺寸。

mpeg - 4文件需要帧整除两个维度。如果输入框宽度的mpeg - 4文件不是偶数,VideoWriter垫一个列的框架黑色像素右侧。Windows上的mpeg - 4文件系统,允许的值取决于版本的Windows。

数据类型:

对象的功能

开放 打开文件编写视频数据
关闭 关闭文件后写视频数据
writeVideo 视频数据写入文件
VideoWriter.getProfiles 概要文件和文件格式VideoWriter金宝app支持

例子

全部折叠

写一个视频文件通过与随机数据创建一个数组,使一个VideoWriter对象的输出文件,然后编写数组来视频。

创建一个300 - 300的数据矩阵。

一个=兰德(300);

创建一个VideoWriter对象编写一个JPEG AVI文件命名newfile.avi和打开文件的写作。

v = VideoWriter (“newfile.avi”);打开(v)

写的数据矩阵一个视频文件。

writeVideo (v)

关闭该文件。

关闭(v)

创建一个视频对象与指定的配置文件,使一个数组,其中包含RGB图像,然后数组写入一个视频文件。

创建一个VideoWriter对象为一个新的未压缩的AVI文件RGB24视频。

v = VideoWriter (“newfile.avi”,未压缩的AVI的);

打开文件的写作。

打开(v)

创建一个数组,其中包含的数据示例静态图像,peppers.png。写的形象一个视频文件。

一个= imread (“peppers.png”);writeVideo (v)

关闭该文件。

关闭(v)

写的序列帧压缩的AVI文件通过生成一个帧序列,创建一个视频对象的文件编写,然后写框架的视频文件。

设置坐标轴和图属性生成视频帧。

Z =山峰;冲浪(Z);轴手册集(gca),“nextplot”,“replacechildren”);

创建一个视频作者对象输出的视频文件和开放的写作对象。

v = VideoWriter (“peaks.avi”);开放(v);

生成一组帧,得到图的框架,然后将每一帧写入文件。

k = 1:20冲浪(罪(2 *π* k / 20) * Z, Z)帧= getframe (gcf);writeVideo (v,框架);结束关闭(v);

扩展功能

版本历史

介绍了R2010b

全部展开

另请参阅

|