本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。