def select_video_caps():
    video_modes = get_available_video_modes(format_='YUY2')
    selected_mode = select_video_mode(video_modes)
    if selected_mode:
        return selected_mode['device'], GstVideoSourceManager.get_caps_string(selected_mode)
    else:
        return None
def create_video_source(device, caps_str):
    if device is None:
        # Assume blank video test src
        video_source = gst.element_factory_make('videotestsrc', 'video_source')
        video_source.set_property('pattern', 2)
    else:
        video_source = GstVideoSourceManager.get_video_source()
        device_key, devices = get_video_source_configs()
        video_source.set_property(device_key, device)
    filtered_input = FilteredInput('filtered_input', caps_str, video_source)
    return filtered_input