Streamer¶
-
class
Streamer
(queue_depth=2, inter_msg_time=0, drop_frames=True, max_image_width=640, max_image_height=480, **kwargs)¶ Host a video and data streaming server on the device.
Streamer can be instantiated as a context manager:
with edgeiq.Streamer() as streamer: ...
To use Streamer directly, use the
setup()
andclose()
functions:streamer = edgeiq.Streamer().setup() ... streamer.close()
For a video stream, the default parameters are all you need. The Streamer web page has a “stop” button which you can check with the
check_exit()
function:with edgeiq.Streamer() as streamer: while True: <get video frame> streamer.send_data(frame, 'This will be printed on the Streamer') if streamer.check_exit(): break
For a series of images (slideshow mode), set the queue depth to the total number of images to be displayed, and set the inter-message time to the time in seconds you’d like each image to be displayed. Note that the inter-message time doesn’t take into account any delay in sending the message to the Streamer. You’ll also need to call the
wait()
function to make sure the app keeps running until all images have been sent to the web page. The “stop” button also works in this mode, but doesn’t need an explicit check since it’s checked in thewait()
function.with edgeiq.Streamer( queue_depth=len(image_list), inter_msg_time=4) as streamer: for image in image_list: streamer.send_data(image, 'This image will be displayed for 4 seconds') streamer.wait()
- Parameters
queue_depth (
int
) – The depth of the data queue used for communication between the application process and server process.inter_msg_time (
int
) – The time in seconds between message sends to attached clients.drop_frames (
bool
) – Indicates whethersend_data()
should block when queue is full or drop frames.max_image_width (
int
) – The maximum display width of the image on the Streamer web page. Setting this larger than the default may negatively impact app performance.max_image_height (
int
) – The maximum display height of the image on the Streamer web page. Setting this larger than the default may negatively impact app performance.
-
configure_logging
()¶
-
setup
()¶ Setup and start the streamer.
- Returns
self
-
send_data
(image=None, text=None)¶ Send image and text data to be displayed by the streamer.
- Parameters
image (numpy array) – The image to be displayed by the streamer.
text (object or list of objects that can be converted to strings.) – The text to be displayed by the streamer. If a list, each element is shown on its own line on the streamer.
- Raises
Any exception that occurs in Streamer process
-
wait
()¶ Wait for all packets in the queue to be sent.
Will exit if the “stop” button has been pressed.
- Raises
Any exception that occurs in Streamer process
-
check_exit
()¶ Check if the “stop” button has been pressed.
-
close
()¶ Stop the Streamer server.
- Raises
Any exception that occurs in Streamer process