class_docstr: Base Dataset class for video datasets.
  
  Args:
      opts: Command-line arguments
class_docstr_tok: ["Base","Dataset","class","for","video","datasets",".","Args",":","opts",":","Command-line","arguments"]
docstr: Returns the metadata for given @item_idx. This method is used by
  VideoClipSampler for sampling dynamic clips based on the duration of the items.
  
  Subclasses should override this method if they use VideoClipSampler.
  
  Args:
      item_idx (int): The index of video file to provide metadata. The indexing
          should be aligned with how ``self.__getitem__(item_idx)`` sequences the
          dataset items.
  
  Returns: A dict containing the metadata. Please see @VideoMetadataDict
  documentation.
code: def get_item_metadata(self, item_idx: int) -> VideoMetadataDict:
      """Returns the metadata for given @item_idx. This method is used by
      VideoClipSampler for sampling dynamic clips based on the duration of the items.
  
      Subclasses should override this method if they use VideoClipSampler.
  
      Args:
          item_idx (int): The index of video file to provide metadata. The indexing
              should be aligned with how ``self.__getitem__(item_idx)`` sequences the
              dataset items.
  
      Returns: A dict containing the metadata. Please see @VideoMetadataDict
      documentation.
      """
      raise NotImplementedError()
  
imports: from __future__ import annotations
  import argparse
  from abc import ABC
  from typing import Any, Dict, Optional, TypedDict
  import torch
  from PIL import Image
  from torch.utils import data
  from data.transforms import BaseTransformation
  from data.video_reader import get_video_reader
  from utils import logger
label_desc: Use image node_id 7 for calling the BaseVideoDataset obj's underlying member method code with example usage: obj.get_item_metadata(item_idx) without return types