跳到主要内容
Vane Data / API 参考

video_frames

video_frames 为一行 VIDEOFILE 返回有界的解码帧记录列表。每条记录保留源 FILE 视图、呈现顺序时间字段和 data: IMAGE('RGB')。

签名

example.py
vane.video_frames(
    value, *, start_time=0, end_time=None, width=None, height=None,
    is_key_frame=None, sample_interval_seconds=None, on_error="raise",
    max_input_bytes=8589934592, max_decoded_frames=1000000, max_pixels=33554432,
    max_output_bytes=67108864, max_output_frames=10000, index=None,
) -> Expression

SQL:video_frames(file, start_time, end_time, width, height, is_key_frame, sample_interval_seconds, on_error, max_input_bytes, max_decoded_frames, max_pixels, max_output_bytes, max_output_frames, index)。Expression 方法:expr.video_frames(...)。

参数

接受共享帧表达式选项,另加:

名称类型说明默认值
is_key_framebool、Expression 或 NoneTrue 只选关键帧,False 只选非关键帧,None 不按关键帧标记筛选None

返回值与错误

返回记录 LIST:file: VIDEOFILE、八个时间字段(frame_index、frame_time、frame_time_base_numerator、frame_time_base_denominator、frame_pts、frame_dts、frame_duration、is_key_frame)以及 data: IMAGE('RGB')。NULL 输入返回 NULL;成功但没有匹配帧时返回空列表。

示例

query.sql
SELECT video_frames(file, start_time => 1, end_time => 2,
                    sample_interval_seconds => 0.5) AS frames
FROM (SELECT video_file('clip.mp4') AS file);

来源与相关页面