VideoFormat (.wmv, .mpeg, .3gp, ...)
- Import 尝试导入包括以下后缀的不同视频类型: .264、.265、.3g2、.3gp、.asf、.avr、.avs、.cdxl、.dnxhd、.dnxhr、.dpx、.dtm、.dv、.f4v、.gxf、.h261、.h263、.h264、.h265、.h26l、.hevc、.ismv、.ivf、.ivr、.m15、.m1v、.m2t、.m2ts、.mj2、.mjpeg、.mjpg、.mod、.mpeg、.mpg、.mts、.mvi、.nut、.qcif、.rm、.roq、.ser、.ts、.ty、.ty+、.v210、.vc1、.viv、.vob、.wmv、.wtv、.xaf、.xmv、.y4m、.yuv、.yuv10.
背景
-
- MIME 类型: video/3gpp、video/H264、video/x-ms-asf, …
- 多媒体容器格式.
- 支持各种视频音频编解码器.
Import 与 Export
- Import["file.ext"] 导入视频文件并返回一个 Video 对象.
- Import["file.ext",elem] 导入指定参数.
- 导入格式可以用 Import["file","VideoFormat"] 或 Import["file",{"VideoFormat",elem,…}] 指定.
- 请到以下参考页面了解完整的基本信息:
-
Import 从文件导入 CloudImport 从云对象导入 ImportString 从字符串导入 ImportByteArray 从字节数组导入
参数
- 通用 Import 参数:
-
"Elements" 该文件可用的参数和选项列表 "Summary" 文件摘要 "Rules" 所有可用参数的规则列表 - 视频表示参数:
-
"ImageList" 表示为图像列表的帧 "Video" 表示为 Video 对象的视频文件 "VideoData" 每帧的原始位图数据数组 "VideoStream" 视频文件作为 VideoStream 对象处理 - Import 默认使用 "Video" 参数.
- 一个视频文件可能包含多个视频、音频或字幕轨道. 返回轨道数的元素:
-
"AudioTrackCount" 音轨数 "SubtitleTrackCount" 字幕轨道数 "VideoTrackCount" 视频轨道数 - 视频元数据参数:
-
"BitDepth" 用于表示文件中每个颜色通道的位数 "ColorSpace" 文件中使用的颜色编码 "FrameCount" 文件中的帧数 "FrameDurations" 每帧显示时间的列表 "FrameRate" 每秒显示的帧数 "RasterSize" 栅格尺寸 "VideoEncoding" 文件中使用的视频编解码器 - 音频相关参数:
-
"Audio" 核内 Audio 对象 "AudioChannels" 音频通道数 "AudioData" 音频样本数组 "AudioEncoding" 文件中使用的音频编解码器 "AudioFile" 核外 Audio 对象 "BitRate" 每秒位数 "SampleRate" 每秒音频样本数 - 字幕相关的参数:
-
"RawSubtitle" 字幕数据作为原始字符串导入 "SubtitleRules" 以 {int1text1,int2text2,…} 形式的样式化文本列表返回 "SubtitleString" 以串联字幕文本组成的单个字符串形式返回 "SubtitleStringRules" 以 {int1string1,int2string2,…} 形式的纯文本列表返回 "SubtitleEncoding" 文件中使用的字幕编解码器 - 附加元数据参数:
-
"ExactDurations" 所有视频、音频和字幕轨道的确切时长的关联 "ExactTimeBoundaries" 所有视频、音频和字幕轨道的确切开始和关闭的关联 "Duration" 视频的大概时长,以秒为单位 "MetaInformation" 元数据解释为数量、位置、日期、数字等 "RawMetaInformation" 未解释的元数据为字符串和数字 "Summary" 文件摘要 "TrackStartTimes" 每个曲目的开始时间的关联 - $VideoDecoders 和 $AudioDecoders 给出计算机系统上可用的解码器列表.
选项
- Import 的通用选项:
-
AudioTrackSelection 1 感兴趣的音轨 "ImageTopOrientation" Automatic 存储在文件中的视频方向 RasterSize Automatic 栅格尺寸 SubtitleTrackSelection 1 感兴趣的字幕轨道 VideoTrackSelection 1 感兴趣的视频轨道 - "Audio" 参数的 Import 选项:
-
"AudioChannels" Automatic 音频通道数 SampleRate Automatic 每个通道每秒采样
范例
打开所有单元 关闭所有单元基本范例 (2)
将一个文件导入为 Video 对象:
Import["http://exampledata.wolfram.com/office.ts"]Import["http://exampledata.wolfram.com/office.ts", "Summary"]范围 (2)
导入的参数 (33)
下载 TS 文件 (1)
视频参数 (3)
"Video" (1)
导入为 Video对象:
Import["office.ts", "Video"]Import["office.ts"]"VideoData" (1)
data = Import["office.ts", {"VideoData", {1, 100}}]将存储在 NumericArray 对象中的视频数据转换为图像:
Image /@ data"VideoStream" (1)
导入为 VideoStream 对象:
str = Import["office.ts", "VideoStream"]VideoPlay[str]str["CurrentFrame"]轨道数量 (3)
元数据参数 (7)
"Duration" (2)
"ExactDurations" (2)
"MetaInformation" (1)
"RawMetaInformation" (1)
视频轨道 (7)
"FrameDurations" (1)
Import["office.ts", {"FrameDurations", {1, 10}}]//Normal当要求视频帧时长时,给出 QuantityArray:
Import["office.ts", "FrameDurations"]//Head"VideoEncoding" (1)
Import["http://exampledata.wolfram.com/office.ts", "VideoEncoding"]可以使用 $VideoDecoders 提取每个平台上支持的解码器:
$VideoDecoders["VideoFormat"][[All, 1]]//Short音频轨道 (6)
"Audio" (1)
"AudioData" (1)
从视频文件将音频数据导入为 NumericArray:
data = Import["office.ts", "AudioData"]将存储的音频数据转换为 Audio 对象:
Audio[data, SampleRate -> 48000]"AudioEncoding" (1)
Import["http://exampledata.wolfram.com/office.ts", "AudioEncoding"]可以从 $AudioDecoders 中提取可用的音频解码器:
$AudioDecoders["VideoFormat"][[All, 1]]//Short字幕轨道 (5)
"SubtitleEncoding" (1)
Import["office.ts", "SubtitleEncoding"]可通过 $SubtitleDecoders 提取可用的字幕编码:
$SubtitleDecoders["VideoFormat"][[All, 1]]导入的选项 (8)
下载 TS 文件 (1)
"AudioChannels" (1)
AudioTracks (1)
默认情况下,Import 仅从第一个音轨中提取数据:
Import["office.ts", {{"SampleRate", "AudioChannels"}}]用 AudioTracks 选项从指定的音轨中提取数据:
Import["office.ts", {{"SampleRate", "AudioChannels"}}, AudioTrackSelection -> {1}]"ImageTopOrientation" (1)
RasterSize (1)
SampleRate (1)
SubtitleTrackSelection (1)
默认情况下,Import 仅从第一个字幕轨道中提取数据:
Import["office.ts", "RawSubtitle"]使用 SubtitleTrackSelection 选项从指定的字幕轨道中提取数据:
Import["office.ts", "RawSubtitle", SubtitleTrackSelection -> {1}]VideoTrackSelection (1)
默认情况下,Import 仅从第一个视频轨道中提取数据:
Import["office.ts", {{"FrameRate", "RasterSize"}}]使用 VideoTrackSelection 选项从指定的视频轨道中提取数据:
Import["office.ts", {{"FrameRate", "RasterSize"}}, VideoTrackSelection -> {1}]历史
2020年引入 (12.1) | 在以下年份被更新:2020 (12.2) ▪ 2021 (12.3) ▪ 2024 (14.0)