VideoStreamMetadata¶
- class torchcodec.decoders.VideoStreamMetadata(duration_seconds_from_header: Optional[float], begin_stream_seconds_from_header: Optional[float], bit_rate: Optional[float], codec: Optional[str], stream_index: int, begin_stream_seconds_from_content: Optional[float], end_stream_seconds_from_content: Optional[float], width: Optional[int], height: Optional[int], num_frames_from_header: Optional[int], num_frames_from_content: Optional[int], average_fps_from_header: Optional[float])[source]¶
单个视频流的元数据。
使用
VideoStreamMetadata
的示例- property average_fps: Optional[float]¶
视频流的平均帧率。如果执行了扫描,则根据帧数和视频流时长计算此值。否则,将回退到
average_fps_from_header
。
- property begin_stream_seconds: float¶
视频流的开始时间,以秒为单位(浮点数)。概念上,这对应于第一帧的 pts。如果
begin_stream_seconds_from_content
不是 None,则返回该值。否则,此值为 0。
- begin_stream_seconds_from_content: Optional[float]¶
视频流的开始时间,以秒为单位(浮点数或 None)。概念上,这对应于第一帧的 pts。此值仅在进行扫描时计算,为视频流中所有帧的 min(frame.pts)。通常此值等于 0。
- property duration_seconds: Optional[float]¶
视频流时长,以秒为单位。如果执行了扫描,我们尝试从实际帧计算时长。否则,将回退到
duration_seconds_from_header
。
- property end_stream_seconds: Optional[float]¶
视频流的结束时间,以秒为单位(浮点数或 None)。概念上,这对应于 last_frame.pts + last_frame.duration。如果
end_stream_seconds_from_content
不是 None,则返回该值。否则,返回duration_seconds
。
- end_stream_seconds_from_content: Optional[float]¶
视频流的结束时间,以秒为单位(浮点数或 None)。概念上,这对应于 last_frame.pts + last_frame.duration。此值仅在进行扫描时计算,为视频流中所有帧的 max(frame.pts + frame.duration)。请注意,在此时间点没有帧播放,因此调用
get_frame_played_at()
并传入此值会导致错误。获取最后一帧的最佳方法是直接通过索引[-1]
访问VideoDecoder
对象。
- property num_frames: Optional[int]¶
视频流中的帧数。如果进行了扫描,则此值对应于
num_frames_from_content
,否则对应于num_frames_from_header
。