VideoWriter
创建对象编写视频文件
描述
使用一个VideoWriter
从数组对象来创建一个视频文件或MATLAB®电影。对象包含有关视频和控制输出视频的属性。您可以创建一个VideoWriter
对象使用VideoWriter
函数,指定它的属性,然后使用对象编写视频功能。
创建
描述
输入参数
文件名
- - - - - -文件名称
特征向量|字符串标量
文件名称,指定为一个特征向量或字符串标量。VideoWriter
创建该文件。
VideoWriter
金宝app支持这些文件扩展名。
|
AVI文件 |
|
运动JPEG 2000文件 |
|
mpeg - 4文件(系统窗户®7之后,或macOS10.7及以后版本) |
如果你不指定一个有效的文件扩展名,VideoWriter
附加的扩展.avi
,.mj2
,或mp4
,这取决于的价值配置文件
论点。如果你不指定一个值配置文件
,然后VideoWriter
创建一个JPEG压缩的AVI文件的扩展名.avi
。
例子:“myFile.avi”
例子:“. . / dir /视频/ myFile.mj2”
数据类型:字符
|字符串
配置文件
- - - - - -文件类型
“运动JPEG AVI”
(默认)|“档案”
|“运动JPEG 2000”
|……
文件类型,指定为其中之一。
的价值配置文件 |
描述 |
---|---|
|
运动与无损压缩JPEG 2000文件 |
|
AVI文件使用JPEG编码 |
|
运动JPEG 2000文件 |
|
用h编码(mpeg - 4文件系统Windows 7之后,或macOS10.7及以后版本) |
|
未压缩的AVI文件, |
|
未压缩的索引视频AVI文件 |
|
未压缩灰度视频AVI文件 |
配置文件
集视频属性的默认值,如VideoCompressionMethod
。
数据类型:字符
|字符串
属性
的VideoWriter
对象包含的属性控制输出视频。您可以创建一个VideoWriter
对象与属性为一个特定的格式,如未压缩的AVI的
或mpeg - 4的
,通过使用VideoWriter
函数与一个预定义的配置文件。例如,您可以创建一个VideoWriter
对象与一个运动JPEG AVI
概要文件和赋值质量
财产。
v = VideoWriter (“newfile.avi”,“运动JPEG AVI”);v。质量= 95;
在你所说的开放
功能上的VideoWriter
对象,你不能改变一个属性的值。因此,修改属性值之前打开视频文件编写。
ColorChannels
- - - - - -数量的颜色通道
正整数
这个属性是只读的。
每个输出视频帧的颜色通道数量,指定为一个正整数:
未压缩的AVI, JPEG AVI和mpeg - 4文件有三个颜色通道。
索引和灰度AVI文件有一个颜色通道。
JPEG 2000文件,通道的数量取决于输入数据
writeVideo
函数:一个用于单色数据或三个颜色数据。
数据类型:双
Colormap
- - - - - -视频文件的颜色信息
P
3数值矩阵
颜色信息对视频文件,指定为一个数字矩阵三列和最多256行。矩阵中的每一行定义了一个颜色使用RGB值。一个RGB值三元素行向量的元素指定强度的红色,绿色和蓝色的组件的颜色。强度必须在范围内[0,1]
。
你可以设置colormap显式地调用之前开放
,或者通过使用colormap
电影领域框架结构的时候写第一帧。
的Colormap
属性只适用于对象用于编写索引AVI文件。
例子:colormap(夏天(256))
数据类型:双
|uint8
CompressionRatio
- - - - - -目标压缩比
10
(默认)|比1大的整数
目标压缩比,指定为一个比1大的整数。压缩比是在输入的字节数的比值图像和压缩的字节数。尽可能地压缩视频数据,指定的目标。
CompressionRatio
是对象只能用于写作运动JPEG 2000文件。后你叫开放
,你不能改变CompressionRatio
价值。如果您以前设置LosslessCompression
来真正的
,然后设置CompressionRatio
生成一个错误。
例子:5
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
持续时间
- - - - - -输出文件的持续时间
标量值
这个属性是只读的。
输出文件的时间以秒为单位,指定为一个标量值。
数据类型:双
FileFormat
- - - - - -类型的文件编写
“avi”
|“mp4”
|“mj2”
这个属性是只读的。
写,指定类型的文件“avi”
,“mp4”
,或“mj2”
。
数据类型:字符
|字符串
文件名
- - - - - -文件的名字
特征向量|字符串标量
这个属性是只读的。
名字的文件,指定为一个特征向量或字符串标量。
数据类型:字符
|字符串
FrameCount
- - - - - -的帧数
整数
这个属性是只读的。
的帧数写入视频文件,指定为一个整数。
数据类型:双
帧速率
- - - - - -视频播放速度
30.
(默认)|正数
视频播放帧每秒,指定为一个正数。
后你叫开放
,你不能改变帧速率
价值。
例子:10
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
高度
- - - - - -每个视频帧的高度
标量
这个属性是只读的。
高像素,每个视频帧的指定为一个标量。的writeVideo
方法设置值高度
和宽度
基于第一帧的尺寸。
mpeg - 4文件需要帧整除两个维度。如果输入框高度的mpeg - 4文件不是偶数,VideoWriter
垫一排黑色像素的帧在底部。Windows上的mpeg - 4文件系统,允许的值取决于版本的Windows。
数据类型:双
LosslessCompression
- - - - - -无损压缩
真正的
|假
无损压缩,指定为真正的
或假
。的LosslessCompression
对象的属性只能用于写作运动JPEG 2000文件。
如果LosslessCompression
是真正的
,那么:
的
writeVideo
函数写数据,这样解压数据是相同的输入数据。VideoWriter
忽略任何指定的值CompressionRatio
。
后你叫开放
,你不能改变LosslessCompression
价值。
默认情况下,LosslessCompression
是假
为“运动JPEG 2000”
概要文件和真正的
为“档案”
概要文件。
数据类型:逻辑
MJ2BitDepth
- - - - - -位深度运动JPEG 2000文件
整数的范围(1、16)
位深度运动JPEG 2000文件,指定为一个整数的范围(1、16)
。的最低比特位深度是输入图像数据
MJ2BitDepth
是对象只能用于写作运动JPEG 2000文件。如果你不指定一个值之前调用开放
方法,然后VideoWriter
设置位深度根据输入数据类型。例如,如果输入数据writeVideo
是一个数组的uint8
或int8
值,然后MJ2BitDepth
是8
。
例子:8
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
路径
- - - - - -视频文件完整路径
特征向量|字符串标量
这个属性是只读的。
视频文件完整路径,指定为一个特征向量或字符串标量。
数据类型:字符
|字符串
质量
- - - - - -视频质量
75年
(默认)|整数的范围[0100]
视频质量,指定为一个整数的范围,[0100]
。高质量数字导致更高的视频质量和更大的文件大小。低质量数据降低视频质量和较小的文件大小。
质量
只有相关的对象吗mpeg - 4
或运动JPEG AVI
概要文件。后你叫开放
,你不能改变质量
价值。
例子:50
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
VideoBitsPerPixel
- - - - - -每像素的比特数
数字标量
这个属性是只读的。
每个像素的比特数在每个输出视频帧,指定为一个数字标量。
真彩视频AVI文件,JPEG格式AVI和mpeg - 4文件每像素24位(8位的三个颜色乐队)。
索引和灰度AVI文件有8位/像素。
对于运动JPEG 2000个文件,每个像素的比特数取决于的价值MJ2BitDepth
和乐队的图像数据的数量。例如,如果输入数据writeVideo
是一个三维数组uint16
或int16
值,然后的默认值MJ2BitDepth
是16
,VideoBitsPerPixel
是48
(深度)的三倍。
数据类型:双
VideoCompressionMethod
- - - - - -类型的视频压缩
“没有”
|“h”
|JPEG格式的
|“运动JPEG 2000”
这个属性是只读的。
视频压缩类型,指定为“没有”
,“h”
,JPEG格式的
,或“运动JPEG 2000”
。
数据类型:字符
|字符串
VideoFormat
- - - - - -视频格式的MATLAB表示
特征向量|字符串标量
这个属性是只读的。
视频格式的MATLAB表示,向量指定为一个字符或字符串标量。
运动JPEG 2000文件以外的文件类型,VideoWriter
集VideoFormat
下列之一。
视频格式 |
的价值 |
---|---|
未压缩的AVI、JPEG AVI或mpeg - 4文件 |
“RGB24” |
和索引视频AVI文件 |
“索引” |
与灰度视频AVI文件 |
“灰度” |
对于运动JPEG 2000文件,VideoWriter
设置VideoFormat
基于价值的MJ2BitDepth
和输入图像数据的格式writeVideo
方法。例如,如果您不指定MJ2BitDepth
属性,然后VideoWriter
设置格式如下所示。
格式的图像数据 |
的价值 |
---|---|
单波段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对象和写视频
写一个视频文件通过与随机数据创建一个数组,使一个VideoWriter
对象的输出文件,然后编写数组来视频。
创建一个300 - 300的数据矩阵。
一个=兰德(300);
创建一个VideoWriter
对象编写一个JPEG AVI文件命名newfile.avi
和打开文件的写作。
v = VideoWriter (“newfile.avi”);打开(v)
写的数据矩阵一个
视频文件。
writeVideo (v)
关闭该文件。
关闭(v)
指定配置文件未压缩的视频AVI和写作
创建一个视频对象与指定的配置文件,使一个数组,其中包含RGB图像,然后数组写入一个视频文件。
创建一个VideoWriter
对象为一个新的未压缩的AVI文件RGB24视频。
v = VideoWriter (“newfile.avi”,未压缩的AVI的);
打开文件的写作。
打开(v)
创建一个数组,其中包含的数据示例静态图像,peppers.png
。写的形象一个
视频文件。
一个= imread (“peppers.png”);writeVideo (v)
关闭该文件。
关闭(v)
创建从动画AVI文件
写的序列帧压缩的AVI文件通过生成一个帧序列,创建一个视频对象的文件编写,然后写框架的视频文件。
设置坐标轴和图属性生成视频帧。
Z =山峰;冲浪(Z);轴紧手册集(gca),“nextplot”,“replacechildren”);
创建一个视频作者对象输出的视频文件和开放的写作对象。
v = VideoWriter (“peaks.avi”);开放(v);
生成一组帧,得到图的框架,然后将每一帧写入文件。
为k = 1:20冲浪(罪(2 *π* k / 20) * Z, Z)帧= getframe (gcf);writeVideo (v,框架);结束关闭(v);
扩展功能
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。金宝app有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
介绍了R2010bR2021b:金宝app支持线程环境
您可以运行VideoWriter
在后台使用MATLABbackgroundPool
。
R2021b:2000年JPEG图像像素差异
像素值之间的差异可能存在JPEG 2000 R2021b和以前版本的MATLAB图像。
另请参阅
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。