def get_mov_all_images(file: str, required_fps: int) -> tuple:
    """
    Extracts a specific number of frames uniformly from a video file and converts them to a list of RGB images.

    required_fps < video fps , uniform sampling frames
    required_fps >= video fps, get all frames

    Parameters:
    - file (str): The path to the video file.
    - required_fps (int): The required frame per second to extract.

    Returns:
    - image_list (tuple): A tuple containing a list of RGB images and the actual number of frames extracted.
             Returns None if the file cannot be opened or if 'file' is None.
    - required_fps (int): The actual fps after extracting a specific number of frames uniformly from a video file.
    """
    if file is None:
        return None
    cap = cv2.VideoCapture(file)

    if not cap.isOpened():
        return None

    # Frames cannot be greater than the actual fps for sampling
    fps = int(cap.get(cv2.CAP_PROP_FPS))
    if required_fps > fps:
        print("Waring: The set number of frames is greater than the number of video frames")
        required_fps = fps

    # Get all frames
    movies = []
    while True:
        flag, frame = cap.read()
        if not flag:
            break
        else:
            movies.append(frame)
    # Obtain the required frame
    # Extracts a specific number of frames uniformly from a video
    num_pics = int(required_fps / fps * len(movies))
    target_indexs = list(np.rint(np.linspace(0, len(movies) - 1, num=num_pics)))
    image_list = []
    for index in target_indexs:
        frame = movies[int(index)]
        image_list.append(frame)

    cap.release()

    image_list = [cv2.cvtColor(image, cv2.COLOR_BGR2RGB) for image in image_list]
    return image_list, required_fps

    Extracts a specific number of frames uniformly from a video file and converts them to a list of RGB images.

    required_fps < video fps , uniform sampling frames
    required_fps >= video fps, get all frames

    Parameters:
    - file (str): The path to the video file.
    - required_fps (int): The required frame per second to extract.

    Returns:
    - image_list (tuple): A tuple containing a list of RGB images and the actual number of frames extracted.
             Returns None if the file cannot be opened or if 'file' is None.
    - required_fps (int): The actual fps after extracting a specific number of frames uniformly from a video file.
    
scripts/easyphoto_utils/common_utils.py