Video
Last updated
Last updated
Video
widget in Supervisely is a custom player designed for displaying videos and annotations frame-by-frame. It allows to play, pause, rewind, and fast-forward videos, as well as move through them frame by frame. It is a powerful tool for visualizing and analyzing video data with annotations.
Determines Video
ID, used in Video
widget.
type: int
default value: None
ID of the widget.
type: str
default value: None
You can find this example in our Github repository:
ui-widgets-demos/media/004_video/src/main.py
First, we load environment variables with credentials and init API for communicating with Supervisely Instance:
VideoInfo
from serverVideo
widget we will use in UIPrepare a layout for app using Card
widget with the content
parameter and place widget that we've just created in the Container
widget.
Create an app object with layout parameter.
Use the decorator as shown below to handle button click. We have 6 buttons: to play video, to stop video, to change video frame, to stop change video frame, to set random frame, to download video.
Parameters | Type | Description |
---|---|---|
Attributes and Methods | Description |
---|---|
video_id
int
Video
ID
widget_id
str
ID of the widget
video_id(id: int)
Get video_id
property.
loading(value: bool)
Get or set loading
property to Video
widget.
set_video(id: int)
Set video in Video
widget by ID.
set_current_frame(value: int)
Set video player to given frame.
get_current_frame()
Get current video player frame.
get_frames_count()
Return number of frames in video.
@play_clicked
Decodator function is handled when video start to play.
@pause_clicked
Decodator function is handled when video stopped.
@frame_change_started
Decodator function is handled when a frame index is being changed.
@frame_change_finished
Decodator function is handled when there was no change in frame index for the last second.