class_docstr: extract keyframes from a video and save it as jpg.
  TODO: consider to merge with `CodecProcessor`.
class_docstr_tok: ["extract","keyframes","from","a","video","and","save","it","as","jpg",".","TODO",":","consider","to","merge","with","`","CodecProcessor","`","."]
docstr: decord cannot probe the size of a video, we use pyav instead.
docstr_tok: ["decord","can","not","probe","the","size","of","a","video",",","we","use","pyav","instead","."]
code: def _get_video_dim(self, video_fn):
      """decord cannot probe the size of a video, we use pyav instead."""
      import av
  
      with av.open(video_fn) as container:
          height = container.streams.video[0].codec_context.height
          width = container.streams.video[0].codec_context.width
      return height, width
  
imports: import torch
  import pandas
  import os
  import numpy
  import ffmpeg
  import random
  from torch.utils.data import Dataset
label_desc: Use image node_id 2 for calling the AvKeyframeVideoCompressor obj's underlying member method code with example usage: obj._get_video_dim(video_fn) and returns: height,  width