You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+6-6
Original file line number
Diff line number
Diff line change
@@ -9,8 +9,7 @@ The Arduino ESP32-Camera test sketch only lets you use the stream on your local
9
9
10
10
This collection of scripts consists of:
11
11
- Arduino code for ESP32 camera module (AI Thinker CAM) `websocket_camera_stream.ino`
12
-
- Python code to receive the images via websockets with `receive_stream.py`
13
-
- Python code to push the most recent image to a website with `send_image_stream.py`
12
+
- Python code to receive and serve the images via websockets with `run_in_memory.py`, using `receive_stream.py`, `send_image_stream.py` and a queue system `queueu.py`
14
13
15
14
16
15
# Why is this cool?
@@ -22,17 +21,18 @@ Upload the code to you ESP32 AI Thinker Cam board. Please test the Arduino camer
22
21
23
22
2. Install the missing python requirements using pip: `pip install pillow websockets flask asyncio`
24
23
25
-
3. Run `python receive_stream.py`
26
-
You should get a constant stream of numbers (sizes of images). The image.jpg in the directory is always the latest received image.
27
-
28
-
4. Open a second terminal and run `python send_image_stream.py`
24
+
3. Run `run_in_memory.py`
29
25
You should get a response by flask with an IP and port to enter in your browser.
30
26
31
27
Now enjoy your fresh live stream! 📺
32
28
33
29
34
30
35
31
# Known Issues
32
+
33
+
### Security
34
+
While this should be fine to run on a private (trusted LAN) network, exposing it to the public internet will allow others to receive and interrupt the stream. Only do this is you have sufficient knowledge.
35
+
36
36
### Browsers don't like broken images.
37
37
This is solved using the placeholder.jpg. It just replaces the image, if the backend receives a broken frame to prevent the browser from freezing the stream.
0 commit comments