code: def _download_videos(scratch_dir):
      rar_path = os.path.join(scratch_dir, "hmdb51_org.rar")
      videos_dir = os.path.join(scratch_dir, "videos")
  
      if not os.path.exists(rar_path):
          logger.info("Downloading dataset to '%s'", rar_path)
          etaw.download_file(_VIDEOS_DOWNLOAD_LINK, path=rar_path)
      else:
          logger.info("File '%s' already exists", rar_path)
  
      logger.info("Unpacking videos...")
      etau.extract_rar(rar_path, outdir=videos_dir, delete_rar=False)
      with fou.ProgressBar() as pb:
          for class_rar_path in pb(
              etau.list_files(videos_dir, abs_paths=True)
          ):
              etau.extract_rar(
                  class_rar_path, outdir=videos_dir, delete_rar=False
              )
  
      return videos_dir
  
file_path: fiftyone/fiftyone/utils/hmdb51.py
imports: import logging
  import os
  import eta.core.utils
  import eta.core.web
  import fiftyone.core.utils
label_desc: Use image node_id 2 for calling a global function with example usage: _download_videos(scratch_dir) and returns: videos_dir