Flir based player

This player can play Flir cameras using rotpy.

class cpl_media.rotpy.FlirPlayer(open_thread=True, **kwargs)

Bases: BasePlayer

_config_props_: Tuple[str] = ('serial', 'saved_nodes')

A list of configurable property names of the class that is set/read by the configuration API.

Each sub/super-class can define this and the properties are accumulated across all the sub/super-classes.

ask_config(item, *args, **kwargs)

Asks to add something for the config thread to do.

Parameters

item – The request to send.

config_queue: Queue = None

The configuration queue that the threads uses to get messages.

config_thread = None

The configuration thread.

config_thread_run()

The function run by the configuration thread.

ffmpeg_pix_map = {'BGR565p': 'bgr565le', 'BGR8': 'bgr24', 'BGR8Packed': 'bgr24', 'BGRa8': 'bgra', 'Mono16': 'gray16le', 'Mono8': 'gray8', 'RGB565p': 'rgb565le', 'RGB8': 'rgb24', 'RGB8Packed': 'bgr24', 'RGBa8': 'rgba', 'YCbCr422_8_CbYCrY': 'uyvy422', 'YCbCr8_CbYCr': 'yuv444p', 'YUV422Packed': 'uyvy422', 'YUV422_8_UYVY': 'uyvy422', 'YUV444Packed': 'yuv444p'}

Pixel formats supported by the camera and their ffpyplayer equivalent.

https://www.emva.org/wp-content/uploads/GenICamPixelFormatValues.pdf http://softwareservices.flir.com/BFS-U3-89S6/latest/Model/public/ImageFormatControl.html

is_available

Whether RotPy is available to play.

play()

Starts playing the video source and sets the play_state to starting.

May be called from main kivy thread only.

May only be called when play_state is none, otherwise an exception is raised.

Players need to eventually call complete_start() to finish starting playing.

play_thread_run()

The method that runs in the internal play thread.

serial

The serial number of the camera to open.

serials

The serials of all the cams available.

start_config(*largs)

Called by __init__ to start the configuration thread.

stop(*args, **kwargs)

Stops playing the video source, if it is playing and sets the play_state to stopping.

Players need to eventually call complete_stop() to finish stopping playing.

Parameters

join – whether to block the thread until the internal play thread has exited.

Returns

Whether we stopped playing (True) or were already stop(ping/ed) playing.

stop_all(join=False)

Causes all internal threads to stop and exit.

Parameters

join – Whether to wait and block the calling thread until the internal threads exit.

stop_config(*largs, join=False)

Stops the configuration thread.

class cpl_media.rotpy.FlirSettingsWidget(player=None, **kwargs)

Bases: BoxLayout

Settings widget for FlirPlayer.

player: FlirPlayer

The player.