
# 视频
视频内部使用decord和opencv处理数据。
- 支持的格式：mp4、avi、mov、mkv、flv、wmv、m4v、3gp。
- 支持的编码：MPEG-4、MPEG-2、VP8、VP9、AV1、MS-MPEG-4。
视频对象的属性和方法如下所示：
表1属性（Attributes） 
| **属性名**  | **类型** | **说明**             |
|:---|:---|:---|
| filename | str    | 视频文件的路径名（如果从文件加载）。 |
| format   | str    | 视频格式（如mp4、avi）。    |
| data     | bytes  | 视频数据。              |
   
表2方法（Methods） 
| **方法名**           | **参数**                                                                                                                                                                                             | **返回值**            | **说明**                             |
|:---|:---|:---|:---|
| __init__          | filename: Union\[str, os.PathLike\] = None,data: Union\[str, bytes\] = None                                                                                                                        | None               | 构造函数：从文件或二进制数据加载视频。                |
| video_reader (属性) | ---                                                                                                                                                                                                | decord.VideoReader | 动态属性：返回decord的视频读取器对象（延迟初始化）。      |
| truncate          | start_time: float（开始时间，秒）\<br\>end_time: float（结束时间，秒）\<br\>shape: Optional\[tuple\[int, int\]\]（目标分辨率）\<br\>fps: float = None（目标帧率）\<br\>codec: str = "avc1"（编码格式）\<br\>format: str = "mp4"（输出格式） | Video              | 截取视频片段，支持调整分辨率、帧率和编码格式，返回新Video对象。 |
| from_struct (类方法) | obj: dict（需包含filename或data字段）                                                                                                                                                                      | Video              | 从字典结构（如JSON）创建Video对象。             |
   
