Shortcuts

视频流元数据

class torchcodec.decoders.VideoStreamMetadata(duration_seconds_from_header: Optional[float], bit_rate: Optional[float], num_frames_from_header: Optional[int], num_frames_from_content: Optional[int], begin_stream_seconds: Optional[float], end_stream_seconds: Optional[float], codec: Optional[str], width: Optional[int], height: Optional[int], average_fps_from_header: Optional[float], stream_index: int)[source]

单个视频流的元数据。

使用 VideoStreamMetadata 的示例:

使用VideoDecoder解码视频

Decoding a video with VideoDecoder
property average_fps: Optional[float]

流的平均帧率。如果执行了扫描,这是根据帧数和流的持续时间计算的。否则,我们回退到average_fps_from_header

average_fps_from_header: Optional[float]

流的平均帧率,从头部获取(浮点数或None)。 我们建议使用average_fps属性代替。

begin_stream_seconds: Optional[float]

流的开始时间,以秒为单位(浮点数或None)。 从概念上讲,这对应于第一帧的pts。它是 通过流中所有帧的min(frame.pts)计算得出的。通常,这 等于0。

bit_rate: Optional[float]

流的比特率,以秒为单位(浮点数或None)。

codec: Optional[str]

编解码器(str 或 None)。

property duration_seconds: Optional[float]

流的持续时间(以秒为单位)。如果执行了scan,我们会尝试从实际帧中计算持续时间。否则,我们会回退到duration_seconds_from_header

duration_seconds_from_header: Optional[float]

流的持续时间,以秒为单位,从头部获取(浮点数或None)。这可能不准确。

end_stream_seconds: Optional[float]

流的结束时间,以秒为单位(浮点数或None)。 从概念上讲,这对应于last_frame.pts + last_frame.duration。它是通过计算流中所有帧的max(frame.pts + frame.duration)得出的。请注意,没有帧在这个时间值播放,因此使用此值调用get_frame_played_at()会导致错误。检索最后一帧的最佳方法是通过简单地使用[-1]索引VideoDecoder对象。

height: Optional[int]

框架的高度(整数或无)。

property num_frames: Optional[int]

流中的帧数。如果进行了scan,则对应于num_frames_from_content,否则对应于num_frames_from_header

num_frames_from_content: Optional[int]

通过扫描流内容(扫描不涉及解码)由TorchCodec计算的帧数。这比num_frames_from_header更准确。我们建议使用num_frames属性代替。(int或None)。

num_frames_from_header: Optional[int]

帧数,来自流的元数据。这可能不准确。我们建议使用num_frames属性代替。(int 或 None)。

stream_index: int

视频中流的索引(整数)。

width: Optional[int]

框架的宽度(整数或无)。