AVI (.avi)
背景
-
- 注册的 MIME 类型:video/avi
- 微软 AVI 格式.
- 多媒体容器格式.
- 可包含多个视频和音频轨道.
- 常用于存档和交换音频内容.
- 以适合同步播放的格式存储音频和视频内容.
- AVI 是 Audio Video Interleave(音视频交替)的缩写.
- 二进制格式.
- 支持各种音视频编解码器.
- 由微软于 1992 年引入.
Import 与 Export
- Import["file.avi"] 导入 AVI 文件并返回一个 Video 对象.
- Import["file.avi",elem] 导入指定参数.
- 可使用 Import["file","AVI"] 或 Import["file",{"AVI",elem,…}] 指定导入的格式.
- Export["file.avi",expr] exports expr to the AVI format.
- 以下表达式可以导出到 AVI:
-
video 任意 Video 对象 AnimatedImage[…] AnimatedImage 对象的帧 Manipulate[…] 从 Manipulate 表达式生成的帧 {expr1,expr2,…} 图像、图形或光栅化表达式的列表 - 导出任意表达式列表时,每个表达式都被光栅化,并具有与其显示形式相同的光栅大小.
- AVI 视频的持续时间取决于帧数和指定的帧频.
- 导出的 AVI 视频将以与 Manipulate 对象相同的速度播放,并具有相同的大小.
- 如果在 Manipulate 对象中设置了书签,则 Export 将通过在书签之间进行插值来创建 AVI 文件,同时保留 Manipulate 的速度和持续时间.
- Export["file.avi",{elem1->expr1,elem2->expr2,…},"Rules"] 使用规则指定要导出的参数.
- $VideoEncoders 中列出了所支持的视频编码器.
- 请到以下参考页面了解完整的基本信息:
-
Import, Export 从文件导入或导出到文件 CloudImport, CloudExport 从云对象导入或导出到云对象 ImportString, ExportString 从字符串导入或导出到字符串 ImportByteArray, ExportByteArray 从字节数组导入或导出到字节数组
Import 参数
- Import 的通用参数:
-
"Elements" 该文件可用的参数和选项列表 "Summary" 文件摘要 "Rules" 所有可用参数的规则列表 - 视频表示参数:
-
"ImageList" 表示为图像列表的帧 "Video" 表示为 Video 对象的视频文件 "VideoData" 每帧的原始位图数据数组 "VideoStream" 视频文件作为 VideoStream 对象处理 - Import 默认情况下,AVI 格式使用 "Video" 参数.
- 一个视频文件可能包含多个视频、音频或字幕轨道。返回轨道数的元素:
-
"AudioTrackCount" 音轨数 "VideoTrackCount" 视频轨道数 - 视频元数据参数:
-
"BitDepth" 用于表示文件中每个颜色通道的位数 "ColorSpace" 文件中使用的颜色编码 "FrameCount" 文件中的帧数 "FrameDurations" 每帧显示时间的列表 "FrameRate" 每秒显示的帧数 "RasterSize" 栅格尺寸 "VideoEncoding" 文件中使用的视频编解码器 - 音频相关参数:
-
"Audio" 核内 Audio 对象 "AudioChannels" 音频通道数 "AudioData" 音频样本数组 "AudioEncoding" 文件中使用的音频编解码器 "BitRate" 每秒位数 "SampleRate" 每秒音频样本数 - 附加元数据参数:
-
"Duration" 视频的大概时长,以秒为单位 "ExactDurations" 所有视频、音频和字幕轨道的确切时长的关联 "ExactTimeBoundaries" 所有视频、音频和字幕轨道的准确开始和结束时间的关联 "MetaInformation" 元数据解释为数量、位置、日期、数字等 "RawMetaInformation" 未解释的元数据为字符串和数字 "Summary" 文件摘要 "TrackStartTimes" 每个曲目的开始时间的关联 - $VideoDecoders 和 $AudioDecoders 给出计算机系统上可用的解码器列表.
Export 参数
- Export["file.mkv",{elem1->expr1,…},"Rules"] 使用规则来指定要导出的元素.
- 可用 Export 参数:
-
"Audio" 音轨 "Frames" 以列表、Manipulate 或 AnimatedImage 对象形式提供的视频帧
选项
- 通用 Import 选项:
-
AudioTrackSelection 1 感兴趣的音轨 "ImageTopOrientation" Automatic 存储在文件中的视频方向 RasterSize Automatic 栅格尺寸 VideoTrackSelection 1 感兴趣的视频轨道 - "Audio" 参数的 Import 选项:
-
"AudioChannels" Automatic 音频通道数 SampleRate Automatic 每个通道每秒采样 - 通用 Export 选项:
-
AudioEncoding Automatic 文件的音频编码 Background Automatic 背景颜色 BitRate Automatic 使用的近似比特率 CompressionLevel Automatic 使用的压缩级别 FrameRate Automatic 每秒显示的帧数 IncludeMetaInformation All 是否导出元数据 MetaInformation Automatic 要导出的元数据 RasterSize Automatic 像素尺寸 SampleRate Automatic 每个通道每秒采样 VideoEncoding Automatic 文件的视频编码 VideoTransparency False 是否导出透明通道 - "Video" 和 "VideoStream" 参数的 Export 选项:
-
AudioTracks All 感兴趣的音轨 VideoTracks All 感兴趣的视频轨道 - 导出 Manipulate 表达式时的 Export 选项:
-
"AnimationDuration" Automatic 动画总时长 "ControlAppearance" Automatic Manipulate 控制参数如何在导出的文件中渲染 - 可以为 "ControlAppearance" 指定以下设置:
-
Automatic 使用本地计算机系统的样式参数来完全捕获笔记本界面中所见的用户控件 "Generic" 以通用样式呈现图形控件 None 导出动画时排除控制元素 - $VideoEncoders 和 $AudioEncoders 给出计算机系统上可用的编码器列表.
范例
打开所有单元关闭所有单元范围 (6)
Export (4)
导入参数 (27)
视频参数 (3)
"Video" (1)
"VideoData" (1)
"VideoStream" (1)
元数据参数 (7)
视频轨道 (7)
"VideoEncoding" (1)
音频轨道 (6)
导入选项 (7)
AudioTrackSelection (1)
默认情况下,Import 仅从第一个音轨中提取数据:
使用 AudioTracks 选项从指定的音轨中提取数据:
VideoTrackSelection (1)
默认情况下,Import 仅从第一个视频轨道中提取数据:
使用 VideoTracks 选项从指定的视频轨道中提取数据:
导出选项 (19)
"AnimationDuration" (1)
指定导出的 Manipulate 表达式的持续时间:
BitRate (4)
CompressionLevel (2)
"ControlAppearance" (1)
设置为 "ControlAppearance"Automatic 时,如果创建动画的计算机系统不同,导出的动画看起来也会有所不同:
使用 "ControlAppearance"None,导出的视频中不包含任何用户控件:
FrameRate (1)
默认情况下,导出 Video 或 VideoStream 对象时会保留帧速率:
MetaInformation (1)
RasterSize (1)
默认情况下,导出 Video 或 VideoStream 对象时,将保留栅格大小:
SampleRate (1)
默认情况下,导出 Video、VideoStream 或 Audio 对象时将保留采样率: