code: def run_video(self, video):
      base_name = os.path.basename(video).split(".")[0]
      output_path = os.path.join(self.output, base_name)
      pred_frame_path = os.path.join(output_path, "frames_pred")
  
      if not os.path.exists(output_path):
          os.makedirs(output_path)
  
      if not os.path.exists(pred_frame_path):
          os.makedirs(pred_frame_path)
  
      cap = cv2.VideoCapture(video)
      fps = cap.get(cv2.CAP_PROP_FPS)
  
      out_path = U.video2frames(video, output_path)
  
      frames = sorted(glob.glob(os.path.join(out_path, "*.png")))
  
      for frame in tqdm(frames):
          pred_img = self.run_image(frame)
          pred_img = cv2.cvtColor(pred_img, cv2.COLOR_BGR2RGB)
          pred_img = Image.fromarray(pred_img)
          frame_name = os.path.basename(frame)
          pred_img.save(os.path.join(pred_frame_path, frame_name))
  
      frame_pattern_combined = os.path.join(pred_frame_path, "%08d.png")
  
      vid_out_path = os.path.join(
          output_path, "{}_realsr_out.mp4".format(base_name)
      )
      U.frames2video(
          frame_pattern_combined, vid_out_path, str(int(fps))
      )
      print("save result at {}".format(vid_out_path))
  
      return frame_pattern_combined, vid_out_path
  
file_path: PaddleHub/modules/image/Image_editing/super_resolution/realsr/module.py
imports: import os
  import cv2
  import glob
  from tqdm import tqdm
  import numpy
  from PIL import Image
  import paddle
  import paddle.nn
  from paddlehub.module.module import moduleinfo, serving
  from .rrdb import RRDBNet
  from .None import utils
label_desc: Use image node_id 5 for calling the RealSRPredictor obj's underlying member method code with example usage: obj.run_video(video) and returns: frame_pattern_combined,  vid_out_path