VideoFormat (.wmv, .mpeg, .3gp, ...)

背景

    • MIME 类型: video/3gppvideo/H264video/x-ms-asf,
    • 多媒体容器格式.
    • 支持各种视频音频编解码器.

导入

  • Import["file.ext"] 导入视频文件并返回一个 Video 对象.
  • Import["file.ext",elem] 导入指定参数.
  • 导入格式可以用 Import["file","VideoFormat"]Import["file",{"VideoFormat",elem,}] 指定.
  • 请到以下参考页面了解完整的基本信息:
  • Import从文件导入
    CloudImport从云对象导入
    ImportString从字符串导入
    ImportByteArray从字节数组导入

Import 的参数

  • 通用 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 给出计算机系统上可用的解码器列表.

选项

范例

打开所有单元关闭所有单元

基本范例  (2)

将一个文件导入为 Video 对象:

导入视频文件摘要:

范围  (3)

导入视频帧列表:

导入并转换 FLV 文件,需要完整的 FFmpeg 安装:

转换为 "MP4":

导入音频数据的前10秒:

导入的参数  (33)

下载 TS 文件  (1)

下载 TS 文件:

可用参数  (1)

可用参数列表:

视频参数  (3)

"Video"  (1)

导入为 Video对象:

这是默认的导入元素:

"VideoData"  (1)

导入与指定帧对应的视频数据:

将存储在 NumericArray 对象中的视频数据转换为图像:

"VideoStream"  (1)

导入为 VideoStream 对象:

播放视频流:

从流中获取当前帧:

轨道数量  (3)

"AudioTrackCount"  (1)

导入音轨数量:

"SubtitleTrackCount"  (1)

导入字幕轨道的数量:

"VideoTrackCount"  (1)

导入视频轨道的数量:

元数据参数  (7)

"Duration"  (2)

导入视频的大致时长:

要导入确切的轨道持续时间,请使用 "ExactDurations" 参数:

"ExactDurations"  (2)

导入准确的轨道持续时间:

导入视频的大致时长:

计算近似持续时间通常比精确持续时间快很多:

"MetaInformation"  (1)

从视频文件导入元数据:

"RawMetaInformation"  (1)

从视频文件导入未处理的元数据:

"Summary"  (1)

导入视频文件摘要:

视频轨道  (7)

"BitDepth"  (1)

导入位数深度:

"ColorSpace"  (1)

导入色彩空间:

"FrameCount"  (1)

导入视频帧数:

"FrameDurations"  (1)

导入所选视频帧的时长:

当要求视频帧时长时,给出 QuantityArray

"FrameRate"  (1)

导入视频帧率:

"RasterSize"  (1)

导入视频帧的栅格大小:

"VideoEncoding"  (1)

导入视频编码:

可以使用 $VideoDecoders 提取每个平台上支持的解码器:

音频轨道  (6)

"Audio"  (1)

从视频文件导入 Audio

"AudioChannels"  (1)

导入音频通道数:

"AudioData"  (1)

从视频文件将音频数据导入为 NumericArray

将存储的音频数据转换为 Audio 对象:

"AudioEncoding"  (1)

导入音频编码:

可以从 $AudioDecoders 中提取可用的音频解码器:

"BitRate"  (1)

获取音轨的位速率:

"SampleRate"  (1)

获取音轨的采样率:

字幕轨道  (5)

"RawSubtitle"  (1)

从视频文件中获取原始字幕:

"SubtitleEncoding"  (1)

导入字幕编码:

可通过 $SubtitleDecoders 提取可用的字幕编码:

"SubtitleRules"  (1)

以样式化文本列表的形式获取字幕:

"SubtitleString"  (1)

以单个字符串的形式获取字幕:

"SubtitleStringRules"  (1)

以纯文本列表的形式获取字幕:

导入的选项  (8)

下载 TS 文件  (1)

下载 TS 文件:

"AudioChannels"  (1)

默认情况下,所有音频通道均已导入:

仅导入第二个通道:

AudioTracks  (1)

默认情况下,Import 仅从第一个音轨中提取数据:

AudioTracks 选项从指定的音轨中提取数据:

"ImageTopOrientation"  (1)

默认情况下,导入视频帧时将其原始方向存储在文件中:

指定应该在顶部的一面:

RasterSize  (1)

默认情况下,视频帧以其原始大小导入:

指定每个视频帧的栅格大小:

SampleRate  (1)

默认情况下,视频帧以其原始大小导入:

指定导入声音的采样率:

SubtitleTrackSelection  (1)

默认情况下,Import 仅从第一个字幕轨道中提取数据:

使用 SubtitleTrackSelection 选项从指定的字幕轨道中提取数据:

VideoTrackSelection  (1)

默认情况下,Import 仅从第一个视频轨道中提取数据:

使用 VideoTrackSelection 选项从指定的视频轨道中提取数据: