Source code for senseye_cameras.input.input_factory

import logging

from . camera_usb import CameraUsb
from . camera_pylon import CameraPylon
from . camera_raw_video import CameraRawVideo
from . camera_ueye import CameraUeye
from . camera_ffmpeg import CameraFfmpeg
from . microphone import Microphone

log = logging.getLogger(__name__)


[docs]def create_input(type='usb', *args, **kwargs): ''' Factory method for creating a video or audio input interface. Supported types: ``ffmpeg``, ``pylon``, ``raw_video``, ``ueye``, ``usb``/``video``, ``microphone`` ''' if type == 'ffmpeg': return CameraFfmpeg(*args, **kwargs) if type == 'pylon': return CameraPylon(*args, **kwargs) if type == 'raw_video': return CameraRawVideo(*args, **kwargs) if type == 'ueye': return CameraUeye(*args, **kwargs) if type == 'usb' or type == 'video': return CameraUsb(*args, **kwargs) if type == 'microphone': return Microphone(*args, **kwargs) log.warning(f'Input type: {type} not supported.')