code: def _export_video_array(
      self,
      video_codec="libx264rgb",
      height=10,
      width=10,
      num_frames=10,
      fps=5,
      options=None,
      epsilon=3,
  ):
      with temp_encoded_video(
          num_frames=num_frames, fps=fps, height=height, width=width
      ) as (
          video_file_name,
          data,
      ), tempfile.TemporaryDirectory(
          prefix="video_stop_gap_test"
      ) as tempdir:
          exported_video_path = os.path.join(tempdir, "video.mp4")
          export_video_array(
              data,
              output_path=exported_video_path,
              rate=fps,
              video_codec=video_codec,
              options=options,
          )
          vp_handler = VideoPathHandler()
          video = vp_handler.video_from_path(
              exported_video_path, decode_audio=False
          )
          reloaded_data = video.get_clip(0, video.duration)["video"]
          self.assertLessEqual(
              (data - reloaded_data).abs().mean(), epsilon
          )
  
imports: import os
  import tempfile
  import unittest
  import unittest.mock
  from dataclasses import dataclass
  from pathlib import Path
  from pytorchvideo.data.utils import DataclassFieldCaster, export_video_array, load_dataclass_dict_from_csv, save_dataclass_objs_to_headered_csv
  from pytorchvideo.data.video import VideoPathHandler
  from utils import temp_encoded_video
label_desc: Use image node_id 2 for calling the TestDataUtils obj's underlying member method code with example usage: obj._export_video_array(video_codec, height, width, num_frames, fps, options, epsilon) without return types