主要内容

VideoWriter

创建写入视频文件的对象

描述

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

创建

描述

例子

v= VideoWriter (文件名创建一个VideoWriter对象将视频数据写入具有动态JPEG压缩的AVI文件。

例子

v= VideoWriter (文件名配置文件此外,应用一组为特定文件格式定制的属性(例如mpeg - 4的未压缩的AVI的).

输入参数

全部展开

文件名,指定为字符向量或字符串标量。VideoWriter创建文件。

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

.avi

AVI文件

.mj2

Motion jpeg2000文件

mp4.m4v

MPEG-4文件(系统与窗户®7或者晚一点,或者macOS10.7及以后)

如果未指定有效的文件扩展名,VideoWriter附加扩展名.avi.mj2,或mp4的值配置文件论点。如果没有指定值配置文件,然后VideoWriter创建一个带有扩展名的动态JPEG压缩AVI文件.avi

例子:“myFile.avi”

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

数据类型:字符|字符串

文件类型,指定为这些类型之一。

的价值配置文件 描述

“档案”

运动JPEG 2000文件无损压缩

'Motion JPEG AVI'

AVI文件使用运动JPEG编码

“动议JPEG 2000”

Motion jpeg2000文件

mpeg - 4的

MPEG-4文件与H.264编码(系统与Windows 7或者晚一点,或者macOS10.7及以后)

未压缩的AVI的

未压缩的AVI文件RGB24视频

“索引AVI”

未压缩的AVI文件与索引视频

“灰度AVI”

未压缩的AVI文件与灰度视频

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

数据类型:字符|字符串

属性

全部展开

VideoWriter对象包含控制输出视频的属性。您可以创建VideoWriter对象,其属性为特定格式定制,例如未压缩的AVI的mpeg - 4的,可使用VideoWriter函数使用预定义的配置文件.例如,您可以创建一个VideoWriter对象的Motion JPEG AVI配置文件,并将值赋给质量财产。

v = VideoWriter(“newfile.avi”'Motion JPEG AVI');v.质量= 95;

在你打电话给开放函数在VideoWriter对象时,您不能更改属性的值。因此,在打开视频文件写入之前,请先修改属性值。

此属性是只读的。

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

  • 未压缩的AVI、动态JPEG AVI和MPEG-4文件有三种颜色通道。

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

  • 对于Motion jpeg2000文件,通道数取决于输入数据到writeVideo功能:单色数据一个,彩色数据三个。

数据类型:

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

可以在调用之前显式地设置颜色映射开放,或使用thecolormap写入第一帧时电影帧结构的字段。

Colormap属性仅适用于用于写入索引AVI文件的对象。

例子:colormap(夏天(256))

数据类型:|uint8

目标压缩比,指定为大于1的整数。压缩比是输入图像中的字节数与压缩图像中的字节数之间的比率。视频数据被尽可能地压缩,直到指定的目标。

CompressionRatio仅对用于编写Motion jpeg2000文件的对象可用。在你打电话之后开放,你不能改变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文件要求帧尺寸能被2整除。如果MPEG-4文件的输入帧高度不是偶数,则VideoWriter在底部用一行黑色像素填充框架。对于Windows系统上的MPEG-4文件,允许的值取决于Windows版本。

数据类型:

无损压缩,指定为真正的.的LosslessCompression属性仅对用于写入Motion jpeg2000文件的对象可用。

如果LosslessCompression真正的,那么:

  • writeVideo函数写入数据,以便解压缩的数据与输入数据相同。

  • VideoWriter忽略的任何指定值CompressionRatio

在你打电话之后开放,你不能改变LosslessCompression价值。

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

数据类型:逻辑

Motion jpeg2000文件的位深度,指定为范围内的整数(1、16).位深度是输入图像数据中最低有效位的数目

MJ2BitDepth仅对用于编写Motion jpeg2000文件的对象可用。方法之前未指定值开放方法,然后VideoWriter根据输入数据类型设置位深度。例如,如果输入数据为writeVideo的数组。uint8int8值,然后MJ2BitDepth8

例子:8

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

此属性是只读的。

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

数据类型:字符|字符串

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

质量仅对与mpeg - 4Motion JPEG AVI概要文件。在你打电话之后开放,你不能改变质量价值。

例子:50

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

此属性是只读的。

在每个输出视频帧中每个像素的位数,指定为数值标量。

带有真彩色视频、Motion JPEG AVI和MPEG-4文件的AVI文件每像素有24位(三种颜色带每个8位)。

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

对于Motion jpeg2000文件,每像素的比特数取决于MJ2BitDepth和图像数据的频带数。例如,如果输入数据为writeVideo是三维数组吗uint16int16值,则为的默认值MJ2BitDepth16,VideoBitsPerPixel48(三倍位深)。

数据类型:

此属性是只读的。

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

数据类型:字符|字符串

此属性是只读的。

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

对于Motion jpeg2000以外的文件类型,VideoWriterVideoFormat致下列之一。

视频格式

的价值VideoFormat

未压缩的AVI,动态JPEG AVI或MPEG-4文件

“RGB24”

带索引视频的AVI文件

“索引”

AVI文件与灰度视频

“灰度”

对于Motion jpeg2000文件,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文件要求帧尺寸能被2整除。如果MPEG-4文件的输入帧宽度不是偶数,则VideoWriter沿着右边用一列黑色像素填充框架。对于Windows系统上的MPEG-4文件,允许的值取决于Windows版本。

数据类型:

对象的功能

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

例子

全部折叠

通过创建一个随机数据数组,将一个视频写入一个文件VideoWriter对象获取输出文件,然后将数组写入视频。

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

A =兰特(300);

创建一个VideoWriter对象来编写一个名为newfile.avi然后打开文件进行写入。

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

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

writeVideo (v)

关闭文件。

关闭(v)

创建具有指定配置文件的视频对象,制作包含RGB图像的数组,然后将该数组写入视频文件。

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

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

打开文件进行写入。

打开(v)

创建一个包含样本静止图像数据的数组,peppers.png.将图像写入一个到视频文件。

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

关闭文件。

关闭(v)

通过生成帧序列,创建文件要写入的视频对象,然后将帧写入视频文件,将帧序列写入压缩的AVI文件。

设置轴和图形属性,为视频生成帧。

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

为输出的视频文件创建一个视频写入器对象,并打开该对象进行写入。

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

生成一组帧,从图中获取帧,然后将每个帧写入文件。

k = 1:20 surf(sin(2*pi*k/20)*Z,Z) frame = getframe(gcf);writeVideo (v,框架);结束关闭(v);

扩展功能

版本历史

在R2010b中引入

全部展开

另请参阅

|