docstr: image_root (string): Root directory of video
  ann_root (string): directory to store the annotation file
docstr_tok: ["image_root","(","string",")",":","Root","directory","of","video","ann_root","(","string",")",":","directory","to","store","the","annotation","file"]
code: def __init__(
      self,
      video_root,
      ann_root,
      num_frm=4,
      frm_sampling_strategy="rand",
      max_img_size=384,
      video_fmt=".mp4",
  ):
      """
      image_root (string): Root directory of video
      ann_root (string): directory to store the annotation file
      """
      url = "https://storage.googleapis.com/sfr-vision-language-research/datasets/msrvtt_test.jsonl"
      filename = "msrvtt_test.jsonl"
  
      download_url(url, ann_root)
      self.annotation = load_jsonl(os.path.join(ann_root, filename))
  
      self.num_frm = num_frm
      self.frm_sampling_strategy = frm_sampling_strategy
      self.max_img_size = max_img_size
      self.video_root = video_root
      self.video_fmt = video_fmt
      self.img_norm = ImageNorm(
          mean=(0.48145466, 0.4578275, 0.40821073),
          std=(0.26862954, 0.26130258, 0.27577711),
      )
  
      self.text = [
          pre_caption(ann["caption"], 40) for ann in self.annotation
      ]
      self.txt2video = [i for i in range(len(self.annotation))]
      self.video2txt = self.txt2video
  
imports: from torch.utils.data import Dataset
  from torchvision.datasets.utils import download_url
  from PIL import Image
  import torch
  import numpy
  import random
  import decord
  from decord import VideoReader
  import json
  import os
  from data.utils import pre_caption
label_desc: Use image node_id 1 to create a new VideoDataset object from inherited base classes: Dataset with example: obj = VideoDataset(video_root, ann_root, num_frm, frm_sampling_strategy, max_img_size, video_fmt)