更新时间:2026-07-09 GMT+08:00
分享

视频

视频内部使用PyAV处理数据。

  • 支持的格式:mp4、mkv、webm、avi、mov、flv、m4v、m4a、3gp、3g2、ts。
  • 支持的编码:avc1、avc3、h264、hvc1、h265、hevc、vp9、vp8、mp4v。

视频对象的属性和方法如下所示:

表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

构造函数:从文件或二进制数据加载视频。

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对象。

write

filename: str, codec: str

None

保存视频到文件。

convert_format

format

Video

转换为不同格式,返回新的Video对象。

视频读取

该示例演示如何从obs路径下"obs://xxxxx/xxxxx"读取视频,并且转换成帧加载到dataset中。

import os
from aura_frame.multimodal import ai_lake

target_database = "test"
conn = ai_lake.connect(
    aura_endpoint=os.getenv("AURA_ENDPOINT"),
    aura_endpoint_name=os.getenv("AURA_ENDPOINT_NAME"),
    aura_workspace_id=os.getenv("AURA_WORKSPACE"),
    lf_catalog_name=os.getenv("AURA_CATALOG"),
    access_key=os.getenv("access_key"),
    secret_key=os.getenv("secret_key"),
    default_database=target_database,
    use_single_cn_mode=True
)

ds = conn.read_video_frames("obs://xxxxx/xxxxx", image_height=300, image_width=300, image_format='jpg', file_extensions=["mp4"], include_paths=True)
ds.select_columns([ds.image, ds.path]).show(3)

conn.close()

相关文档