Video features in streamlit?

Hey everyone,
I’m trying to implement a feature where a Plotly graph is synced with a local video playback time.
I’ve tried using the following options:

  1. st.video
    It seems barebones functionality wise and lacks the ability to get the current playback time of the video.

  2. streamlit-player
    Getting the current playback time works, but video sources can only be from URLs and I would like to use local video files as they can be sensitive.

  3. HTML video player
    I’m able to get both the playtime and run local video files, but in order to pass the values to streamlit, it needs to be constantly transmitted, which causes the entire Streamlit application to be constantly rerunning.

Is there a better way to play local video files on Streamlit, or solve the constant rerunning issue? Either of these would solve my issue.

1 Like

I have similar requirements and face the same dilemma.

  • The standard component st.video has no callbacks.
  • The external component streamlit-player does not support local files and seems to be no longer maintained.

Unfortunately, I have almost no experience with frontend development to be able to extend the component myself. :expressionless: