def extract_boundaries_from_ffprobe_output(output):
    """
    extracts the shot boundaries from the string output
    producted by ffprobe

    Args:
        output (string): the full output of the ffprobe
            shot detector as a single string

    Returns:
        List[(float, float)]: a list of tuples of floats
        representing predicted shot boundaries (in seconds) and
        their associated scores
    """
    boundaries = []
    lines = output.split('\n')
    for line in lines:
        if line.startswith('media_type=video'):
            boundary = float(line.split('|')[4].split('=')[-1])  # pkt_pts_time
            score = float(line.split('|')[-1].split('=')[-1])  # tag:lavfi.scene_score
            boundaries.append((boundary, score))
    return boundaries