mindspore.dataset.vision.read_video

mindspore.dataset.vision.read_video(filename, start_pts=0, end_pts=None, pts_unit='pts')[源代码]

从视频文件中读取视频、音频、元数据。

支持的文件类型有AVI、H264、H265、MOV、MP4和WMV。

参数:
  • filename (str) - 待读取视频文件路径。

  • start_pts (Union[float, Fraction, int], 可选) - 视频的开始时间戳。默认值: 0。

  • end_pts (Union[float, Fraction, int], 可选) - 视频的结束时间戳。默认值: None,对应2147483647。

  • pts_unit (str, 可选) - 时间戳的单位,它可以是["pts", "sec"]中的任何一个。默认值: "pts"。

返回:
  • numpy.ndarray, 四维 uint8 视频数据。格式为 [T, H, W, C]。“T”是帧数,“H”是高度,“W”是宽度,“C”是RGB的通道。

  • numpy.ndarray, 二维音频数据。格式为 [C, L]。“C”是通道数,“L”是一个通道中数据的点数。

  • dict, 视频和音频的元数据。它包含float类型的video_fps数据和int类型的audio_fps数据。

异常:
  • TypeError - 如果 filename 不是str类型。

  • TypeError - 如果 start_pts 的类型不是Union[float, Fraction, int]类型。

  • TypeError - 如果 end_pts 的类型不是Union[float, Fraction, int]类型。

  • TypeError - 如果 pts_unit 不是str类型。

  • RuntimeError - 如果 filename 不存在,或不是普通文件,或由于格式等原因无法正常读取。

  • ValueError - 如果 start_pts 小于 0。

  • ValueError - 如果 end_pts 小于 start_pts

  • ValueError - 如果 pts_unit 不在 ["pts", "sec"] 中。

支持平台:

CPU

样例:

>>> import mindspore.dataset.vision as vision
>>> video_output, audio_output, metadata_output = vision.read_video("/path/to/file")