Streamlit image update on server is not updating

I created a simple Web App using Streamlit that receives an RTSP stream from a source and, applies an object detection model, and updates the image.

The code is as follows

import streamlit as st
from streamlit_webrtc import webrtc_streamer
import av
import cv2
import time
import threading
import video_capture
import numpy as np
from detector import Detector

image = np.zeros((480, 640, 3), dtype=np.uint8)
def inference_worker(detector : Detector, cap : video_capture.VideoCapture, FPS : float):
    global image
    while True:
        frame = cap.get_frame()
        vis = detector.draw_preds()
        image = cv2.resize(vis, dsize=(640, 480))

st.title("Object Detection")
st1_text = st.markdown("FPS")

image_placeholder = st.empty()

cap = video_capture.VideoCapture(
FPS : float = 20

detector = Detector(
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 
    (640, 640)
inference_process = threading.Thread(target=inference_worker, args=(detector, cap, FPS))

while True:
    t1 = time.perf_counter()

    image_placeholder.image(image, channels="BGR")

    t2 = time.perf_counter()
    sleep : float = 1.0/FPS - (t2-t1)

    if sleep < 0:

    st1_text.markdown(f"FPS: {1/(t2-t1):.2f}")


Locally, it works perfectly fine. But, I’m using a computer stronger than mine from It has a faster GPU and Processor to run the application. I deployed my app there.

When I open the external link to access the Web App, the images are not being updated as they were locally. I even included the FPS parameter to check the FPS of the application, but it is running at 30+ FPS.

Any thoughts?


have you found the solution, now I’m facing the same problem and I will appreciate if you could help me

1 Like

I have the same issue, how did you resolve it?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.