class_docstr: Given a list of video files, computes all consecutive subvideos of size
  `clip_length_in_frames`, where the distance between each subvideo in the
  same video is defined by `frames_between_clips`.
  If `frame_rate` is specified, it will also resample all the videos to have
  the same frame rate, and the clips will refer to this frame rate.
  
  Creating this instance the first time is time-consuming, as it needs to
  decode all the videos in `video_paths`. It is recommended that you
  cache the results after instantiation of the class.
  
  Recreating the clips for different clip lengths is fast, and can be done
  with the `compute_clips` method.
  
  Args:
      video_paths (List[str]): paths to the video files
      clip_length_in_frames (int): size of a clip in number of frames
      frames_between_clips (int): step (in frames) between each clip
      frame_rate (int, optional): if specified, it will resample the video
          so that it has `frame_rate`, and then the clips will be defined
          on the resampled video
      num_workers (int): how many subprocesses to use for data loading.
          0 means that the data will be loaded in the main process. (default: 0)
      output_format (str): The format of the output video tensors. Can be either "THWC" (default) or "TCHW".
code: def __setstate__(self, d: Dict[str, Any]) -> None:
      # for backwards-compatibility
      if "_version" not in d:
          self.__dict__ = d
          return
  
      video_pts = torch.as_tensor(d["video_pts"], dtype=torch.int64)
      video_pts = torch.split(video_pts, d["video_pts_sizes"], dim=0)
      # don't need this info anymore
      del d["video_pts_sizes"]
  
      d["video_pts"] = video_pts
      self.__dict__ = d
      # recompute attributes "clips", "resampling_idxs" and other derivative ones
      self.compute_clips(self.num_frames, self.step, self.frame_rate)
  
imports: import bisect
  import math
  import warnings
  from fractions import Fraction
  from typing import Any, Callable, cast, Dict, List, Optional, Tuple, TypeVar, Union
  import torch
  from torchvision.io import _probe_video_from_file, _read_video_from_file, read_video, read_video_timestamps
  from .utils import tqdm
label_desc: Use image node_id 15 for calling the VideoClips obj's underlying member method code with example usage: obj.__setstate__(d) without return types