本文简要介绍python语言中 torchvision.io.VideoReader
的用法。
用法:
class torchvision.io.VideoReader(path: str, stream: str = 'video')
path(string) -支持格式的视频文件的路径
stream(string,可选的) -所需流的说明符,后跟流 id,格式为
{stream_type}:{stream_id}
。默认为"video:0"
。当前可用的选项包括['video', 'audio']
细粒度的video-reading API。支持 frame-by-frame 从单个视频容器中读取各种流。
示例
以下示例创建一个
VideoReader
对象,寻找 2s 点,并返回单个帧:import torchvision video_path = "path_to_a_test_video" reader = torchvision.io.VideoReader(video_path, "video") reader.seek(2.0) frame = next(reader)
VideoReader
实现了可迭代的 API,这使得它适合与itertools
结合使用以进行更高级的阅读。因此,我们可以在 for 循环中使用VideoReader
实例:reader.seek(2) for frame in reader: frames.append(frame['data']) # additionally, `seek` implements a fluent API, so we can do for frame in reader.seek(2): frames.append(frame['data'])
使用
itertools
,我们可以使用以下代码读取 2 到 5 秒之间的所有帧:for frame in itertools.takewhile(lambda x: x['pts'] <= 5, reader.seek(2)): frames.append(frame['data'])
类似地,在2s时间戳之后读取10帧可以实现如下:
for frame in itertools.islice(reader.seek(2), 10): frames.append(frame['data'])
注意
每个流说明符由两部分组成:流类型(例如‘video’)和唯一的流id(由视频编码确定)。这样,如果视频容器中包含多个相同类型的码流,用户可以只访问自己想要的码流。如果仅传递流类型,解码器将自动检测该类型的第一个流。
使用
VideoReader
的示例:
参数:
相关用法
- Python PyTorch Vectors.get_vecs_by_tokens用法及代码示例
- Python PyTorch VectorCrossNet用法及代码示例
- Python PyTorch VonMises用法及代码示例
- Python PyTorch frexp用法及代码示例
- Python PyTorch jvp用法及代码示例
- Python PyTorch cholesky用法及代码示例
- Python PyTorch vdot用法及代码示例
- Python PyTorch ELU用法及代码示例
- Python PyTorch ScaledDotProduct.__init__用法及代码示例
- Python PyTorch gumbel_softmax用法及代码示例
- Python PyTorch get_tokenizer用法及代码示例
- Python PyTorch saved_tensors_hooks用法及代码示例
- Python PyTorch positive用法及代码示例
- Python PyTorch renorm用法及代码示例
- Python PyTorch AvgPool2d用法及代码示例
- Python PyTorch MaxUnpool3d用法及代码示例
- Python PyTorch Bernoulli用法及代码示例
- Python PyTorch Tensor.unflatten用法及代码示例
- Python PyTorch Sigmoid用法及代码示例
- Python PyTorch Tensor.register_hook用法及代码示例
- Python PyTorch ShardedEmbeddingBagCollection.named_parameters用法及代码示例
- Python PyTorch sqrt用法及代码示例
- Python PyTorch PackageImporter.id用法及代码示例
- Python PyTorch column_stack用法及代码示例
- Python PyTorch diag用法及代码示例
注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torchvision.io.VideoReader。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。