Laser Guard - Monitor your laser cutter, create time lapse videos and more

Laser Guard - Monitor your laser cutter, create time lapse videos and more

I have a Glowforge laser cutter. The product is quite nice and easy to use.  

Much like every other laser cutter, Glowforge safety manual explicitly says 

"Never leave the Glowforge unattended while operating – always stay within sight. Look inside frequently."

However, even if you stay within sight, you are not necessarily looking inside all the time. "Looking inside frequently" can be augmented with a streaming video that looks inside all the time, and gives you an unencumbered view from a more comfortable vantage point, even if you are sitting right by the laser cutter. 

When running a laser job, I would like to be able to keep an eye on it all the time, and additionally be able to capture videos of my laser cutting and engraving jobs, for example, to analyze any problems or issues, create time lapse videos to share on social media or just for fun!

I'll show you how I planned out the build and the requirements, from enclosure and mounting location, power, and adjustability considerations - practical considerations for going from prototype/concept to functional product. I'll also talk about utilizing an old Raspberry Pi 2B that I had lying around, and the challenges faced in getting good quality low latency video streaming for this purpose, and the final good results!

A lot of projects wait until the end to show off the results. I am often left trying to figure it out until the very end. Therefore, I'll show you my end result first so you have the context of the finished build! This project has been very helpful to me right away upon using it. Hope it helps you too! Interestingly, the video below is a screen recording of my mobile phone that had the web page to the streaming video open - all kinds of Inception stuff going on here! 😊

 

This project also taught me that old seemingly obsolete hardware can still be leveraged quite nicely, reducing waste and costs.

We'll also look at how the project can be enhanced with more powerful hardware and camera and leveraging AI and additional sensors and actuators for alerting - such as flame detection, and audible alarms, etc.

Let me preemptively and emphatically state that this is not a replacement for you to walk away from your laser cutter, but rather a tool to help you monitor it effectively and wisely! Please use this tutorial and the instructions therein carefully. Please do not use this to leave your Glowforge or any other laser cutter unattended with a false sense of complacency. 

With that stark warning out of the way, let's dive in!

Planning out the build

*AI Generated - Gemini

"Measure twice, cut once" is an age-old proverb that's widely quoted in carpentry and other crafts and guilds that careful planning and preparation prevent costly, irreversible mistakes. 

In a similar fashion, planning out the build – the functionality you want and what you want to achieve – makes the project go a lot smoother and helps you finish the project without getting too mired in problems and issues you may encounter as you go along. 

The following were my primary considerations (yours may be different, but it gives you an idea on how to focus on the important stuff):

  1. Functionality - I wanted streaming video over WiFi of the laser bed, with the ability to expand to other functionality as needed (e.g. time-lapse video, flame warning, audible alarm, etc). Being able to update my hardware setup easily was also a key requirement, as I was planning to start with an old Raspberry Pi 2B that I had lying around. 
  2. Mounting - mount the camera suitably over the laser cutter in my garage. My garage setup is quite small. I didn't want trailing wires, or awkward setups taking up valuable real estate. As innocuous and out of the way as possible is good! 
  3. Power supply - be able to provide power to the setup (without messy trailing wires!)
  4. Adjustability - have the ability to fine tune the direction of the camera after installation (to get a better angle, or if the table or laser cutter is repositioned, etc). 
  5. Enclosure - a suitable enclosure to hold my hardware (Raspberry Pi and Camera to start with) mounted in the place I like, and allowing for adjustability would be ideal. Bonus points for allowing additional/different hardware to be used later on.

The photo below shows my garage setup, with my planned installation site shown in red:

I have a sliding garage door to contend with. Therefore, any power cable has to come from above and be out of the way of the garage door. Additionally, I would like the camera positioned over the laser cutter, while not being in the way.  Fortunately, I had access to a power outlet nearby (that the garage opener was plugged into), and I could route the cable along the ceiling to power my camera. I thought mounting it on the beam above the laser cutter (shown in red above) would satisfy a lot of my requirements (#2 and #3 above)! 

I then shifted focus to the functionality. At the very least, I just wanted a basic video feed over WiFi. I could satisfy that with a Raspberry Pi utilizing something like Motion. For that, I didn't need the latest and greatest Raspberry Pi - in fact, any old Raspberry Pi lying around should suffice. As I would find out later on though, having low latency streaming video of good quality with an old Raspberry Pi was not as straightforward as I thought. To monitor a laser cutting job, low latency video is essential - you want to be able to see the video feed as real-time as possible! In the end, I was able to get it to work well – don't discount the capabilities of old hardware just yet!  😊 

If you're planning to delve into image processing and AI classification, you will want to consider the latest Raspberry Pi. But that's something you could always evolve the system into (my final choice of enclosure does allow for such evolution of the project - keep this in mind for later on, as I'll be talking about it then). 

I decided to use an old Raspberry Pi 2B that I had. The Raspberry Pi 2B does not have WiFi, but I already had a USB WiFi dongle that I had used with it. I would pair it with a Pi Camera that I also had lying around. 

You could also use a Raspberry Pi Zero, Raspberry Pi A or other variant - I'll call out the capabilities of each below.

Enclosure discussion ... and a shameless plug! 😊

With the ethos of reusing old hardware that I had lying around, I thought I would use an old Raspberry Pi 2 enclosure that I had for this project. This enclosure had room for the Pi Camera, and had keyhole mounting holes on the back (so I could mount it on the ceiling beam as I had planned). 

However, when I considered Mounting and Adjustability (#2 and #4 above), I realized that I could not use this without a lot more work. I could mount it in one place (but would have to figure out the spacing of the key holes) and in any case could not reposition it as desired after mounting. Additionally, this setup would also not be flexible enough to evolve the setup easily – adding more hardware, changing the Raspberry Pi board, etc. (#5)

Note: A litte aside...

Btw, since we are now in the world of LLMs and generative AI, which we are increasingly dependent on, this following exchange between me and Gemini was both hilarious and eye opening! Context - I was trying to double check the spacing of the keyholes on the Raspberry Pi enclosure (I had not been able to find any official documentation on that earlier) – and asked Gemini to confirm! It gave me a very emphatic and authoritative answer of 40mm center-to-center, which I was skeptical of. So I followed up with a question "Where did you get the information of center-to-center distance of 40mm?". Gemini followed with an apology that that answer had been a hallucination! Well, I'd at least give it marks for being self-aware(?!) and admitting a mistake! 😊 

end Note

I am the creator of ProtoStax Enclosures, and immediately saw some clear advantages that it would provide. Granted, I had this old Raspberry Pi Enclosure that was sitting around that I had wanted badly to repurpose, but I decided to go ahead with a ProtoStax enclosure instead, for the following reasons:

  1. ProtoStax Enclosures for Raspberry Pi come in 3 flavors - one for Pi Zero, one for A/A+ and one for B/B+ (which can accommodate any of the Raspberry Pi Bs, from 2B to the latest Raspberry Pi 5). So it would be very easy for different people to deploy different Raspberry Pis they had lying around (or upgrading their boards later on) without changing the design of the solution. The Camera Kit works with any of these enclosures.
  2. ProtoStax Camera Kit allows you to switch out the vanilla enclosure top with one that has camera mounting holes and additionally has a tripod mount side wall piece that replaces the vanilla piece and adds a tripod socket, allowing you to mount the enclosure anywhere with standard 1/4-20 tripod mounts or bolts.
  3. The tripod mount allows for adjustability. I could mount the enclosure to a ball head tripod mount attached to the ceiling, which would allow for fine adjustments in all directions to properly align the camera easily to your desired angle. 
  4. Additionally, ProtoStax Enclosures also have more room on the inside for HATs or other hardware, allowing for easy evolvability of the solution. For example, you could add an AI accelerator HAT, or piezo buzzer, or other sensors or hardware to your solution and it would fit in the same enclosure. I couldn't do that with the Pi enclosure which had no additional room.
  5. The modular nature of the ProtoStax Enclosures also meant it was easy to assemble everything together. 
  6. ProtoStax also has other Camera Kits - for the Raspberry Pi HQ Camera, Waveshare IR Cut Camera, Stereoscopic 3D camera (you can mount 2 Pi Cameras for stereo photo/videography). This also means you can mix and match cameras and Raspberry Pis very easily. 

ProtoStax Camera Kit for Raspberry Pi Camera with ProtoStax Enclosure for Raspberry Pi B+ / Model 4B

I reluctantly retired my Raspberry Pi 2 enclosure from this project. I may find some other purpose for it later on for a tabletop solution.  

Inventory

I would also need some hardware to finish the installation and mount everything to the ceiling beam. I used an L bracket/corner brace that I screwed into the celing beam. I attached a ball head mini tripod mount to it, and fixed the enclosure to the tripod mount. I show the final mounted solution below, so it is easier for you to visualize and follow along. Thanks to the ball head tripod mount (seen behind the enclosure), I was able to change the orientation of the camera to best match the laser cutter bed below (camera rotated by 90 degrees horizontally). 

Here are all the items that I used:

What I used Alternatives and notes
Raspberry Pi 2B  You can use a Pi Zero, A/A+ or Pi 3/4/5B
Raspberry Pi Camera You can use Pi Camera 2, Pi Camera 3, AI Camera, HQ Camera, Waveshare IR Cut Camera
WiFi Dongle You don't need this for Pis with WiFi
ProtoStax Enclosure for Raspberry Pi 5 / 4 / 3 Model B/B+
You can use ProtoStax Enclosure for Raspberry Pi Zero or ProtoStax Enclosure for Raspberry Pi A+ depending on your choice of board
ProtoStax Camera Kit for Raspberry Pi Camera
You can use ProtoStax Camera Kit for Raspberry Pi High Quality Camera or ProtoStax Camera Kit for Waveshare RPi IR-CUT Camera depending on your camera choice

Mini Ball Head Tripod Mount
Everbilt
(4-Pack) 3 in. Black Corner Brace
Only 1 needed - you can keep the other 3 for other projects. Also, you can get a corner brace of suitable length for your setup. 3 in allowed me to stay within limits of my garage door when opened, but still give me adjustability.
Everbilt
1/4 in.-20 x 1/2 in. Phillips-Slotted Round-Head Machine Screws (5-Pack)
You only need one to attach the ball head tripod mount to the corner brace. Keep the others for later projects. 
Cobra Anchors
TripleGrip #10 Blue Anchor and Screws (2-Piece)
If you need to attach the corner brace to dry wall and if there is no wall stud


Step 1 - Preparing the Raspberry Pi

The first step in preparing the Raspberry Pi is to install the OS, if you haven't done so already. The process is greatly simplified with the latest Raspberry Pi Imager software, which helps prepare your SD card (that you'll use on the Raspberry Pi) with Raspberry Pi OS configured and ready to use with WiFI and SSH enabled so you can use it in a headless manner. There are many tutorials that talk about headless Raspberry Pi Setup, so I'll skip the details here. 

I used a Raspberry Pi 2B. Since this is pretty old hardware, it cannot run the latest 64 bit operating systems.  All the recent releases do have 32 bit variants to use. I've listed the last 4 releases from oldest to newest.

Raspberry Pi OS camera access stack End of support
Buster (32 bit) raspivid June 30, 2024
Bullseye (32 bit) libcamera August 31, 2026
Bookworm (32 bit) libcamera June 30, 2028
Trixie (32 bit) libcamera June 30, 2030

 

Of these Buster is the oldest version, whose official support ended in 2024. However, for a Raspberry Pi 2B, it still offers the best performance. Later versions support newer hardware and so have more bloat and are less performant on a 2B. Buster also utilizes raspivid for camera access, a closed source tool which is highly optimized for the original Broadcom GPU yielding low GPU usage. libcamera is an open stack and is the default in later releases, but utilizes more CPU than raspivid. I therefore decided to go with Raspberry Pi OS Buster for my project. There are a few gotchas to get it installed and updated. 

Buster download and install : https://downloads.raspberrypi.org/ 

I used the Lite version, to make it the most compact and performant version without the bloat of unnecessary desktop software  - https://downloads.raspberrypi.org/raspios_oldstable_lite_armhf/images/raspios_oldstable_lite_armhf-2022-04-07/

Thanks to https://support.pishop.us/article/137-official-links-to-raspberry-pi-os-buster for the links!

Download and use the image in your Raspberry Pi Imager under the "Use Custom" option, to install and configure the SD card with Raspberry Pi OS Buster. Don't forget to customize the setup in Raspberry Pi Imager to include the WiFi details and enable SSH before installing. 

Once you have configured the SD card, you can eject it and use it in your Raspberry Pi. When you boot it up, you'll now be able to SSH into your Pi using the username and password you specified in the Raspberry Pi Imager setup. 

Depending on your own setup, you can choose the appropriate Raspberry Pi OS version to use. For example, for the Pi 5, you could go with the latest Trixie. For a Pi 4, sticking to Bookworm might be the best option. Stick to Bookworm or Bullseye for the Pi 3.  

Here is a table showing the various CPU/GPU/Memory/WiFi capabilities of the different Raspberry Pi boards:  

 Raspberry Pi 2B BCM2836 (in version 1.2, switched to BCM2837) 4× Cortex-A7 900 MHz VideoCore IV @ 250 MHz 1 GB No WiFi (use Dongle)
Raspberry Pi 3B BCM2837 4× Cortex-A53 @ 1.2 GHz VideoCore IV @ 250 MHz 1 GB 2.4GHz single-band 802.11n Wi-Fi (35Mb/s),
Raspberry Pi 3B+ BCM2837b0 4× Cortex-A53 @ 1.4 GHz VideoCore IV @ 400 MHz (Core) / 300 MHz (V3D) 1 GB 2.4/5GHz dual-band 802.11ac Wi-Fi (100Mb/s)
Raspberry Pi 3A+ BCM2837b0 4× Cortex-A53 @ 1.4 GHz VideoCore IV @ 250 MHz 512 MB 2.4/5GHz dual-band 802.11ac Wi-Fi (100Mb/s)
Raspberry Pi 4B BCM2711 4× Cortex-A72 @ 1.5 GHz or 1.8 GHz VideoCore VI @ 500 MHz 1, 2, 4, 8 GB 2.4/5GHz dual-band 802.11ac Wi-Fi (120Mb/s)
Raspberry Pi 5 BCM2712 (2GB version uses BCM2712D0) 4× Cortex-A76 @ 2.4 GHz VideoCore VII @ 800 MHz 2, 4, 8 GB 2.4/5GHz dual-band 802.11ac Wi-Fi 5 (300Mb/s)
Raspberry Pi Zero W BCM2835 1× ARM11 @ 1 GHz VideoCore IV @ 400 MHz (Core) / 300 MHz (V3D) 512 MB 2.4GHz single-band 802.11n Wi-Fi (35Mb/s)
Raspberry Pi Zero 2W RP3A0 4× Cortex-A53 @ 1 GHz  VideoCore IV @ 400 MHz (Core) / 300 MHz (V3D) 512 MB 2.4GHz single-band 802.11n Wi-Fi (35Mb/s)

Step 2 - Prepare Enclosure

Next up, we'll prepare the ProtoStax enclosure with the Raspberry Pi and Camera and tripod mount.  

Here is a short video to show the steps.

Here is the final finished enclosure. The left-hand side wall has a tripod mount socket that will accept a standard #1/4-20 tripod mount screw. 


Step 3a - Power up the Raspberry Pi  and install necessary software

First thing to do is to update the Raspberry Pi OS and install necessary software.

Buster has some gotchas to take care of first.  

First thing to do to update your OS is to run


pi@garagepi:~ $sudo apt update

but you will run into the following error:



  Err:5 http://raspbian.raspberrypi.org/raspbian buster Release                  
  404  Not Found [IP: 93.93.128.193 80]

 

Because Debian Buster is an old, archived release, its repositories have been moved to the Debian and Raspberry Pi legacy servers. To restore your updates, you must update your package source links to point to the legacy servers.  

Edit your /etc/apt/sources.list

replacing the old repository with


deb https://legacy.raspbian.org/raspbian/ buster main contrib non-free rpi

After this, you can successfully run the following commands to bring your Buster installation up-to-date:



sudo apt update
sudo apt full-upgrade
  

After that, make sure you enable the camera interface on your Raspberry Pi using raspi-config

You can then test that the camera functions as expected. 

Getting started with the Camera Module from Raspberry Pi is a good place to start. 

Step 3b - Streaming video

*AI Generated - Gemini

There are several different ways in which video can be streamed over WiFi on the Raspberry Pi. Here are a few of them: 

  • Motion
  • mjpg-streamer
  • Python & Flask 
  • MediaMTX
  • UV4L WebRTC

I tried Motion and mjpg-streamer and both had significant lag to show real-time progress. I tested by waving my hand, or counting fingers 1 to 5 and seeing when I would see it on the screen. MediaMTX and UV4L are listed as being very good for low latency video. I did try UV4L but did run into some issues getting it to work on my setup on Buster. I didn't attempt Python + Flask, though I've used it previously, as I wanted to test out the codeless options first. In the end, I got MediaMTX up and running and the result was great. I've listed some possibilities above for you to try out in your own setup, depending on your version and amount of RAM. 

I'll describe what I did to get MediaMTX working on my Buster setup and the steps involved.   

Install FFMPEG and wget

 
sudo apt update && sudo apt install -y ffmpeg wget tar

Download the latest version of MediaMTX on your Raspberry Pi (at the time of writing this, 1.19.2 was the latest version) 

 
  mkdir ~/mediamtx && cd ~/mediamtx
 wget https://github.com/bluenviron/mediamtx/releases/download/v1.19.2/mediamtx_v1.19.2_linux_armv7.tar.gz
  tar -xvf mediamtx_v1.19.2_linux_armv7.tar.gz

Next up, you'll make some modification to the mediamtx.yml configuration file. There are two main changes. 

  1. Create a new path that uses the runOnDemand directive to start the video stream using raspivid. This also sets a recordPath and recordFormat to record the video when desired. Automatic recording is disabled so we can record only when we need to. 
  2. api access is enabled, so we can use the API to start/stop the recording
 
  ...
  # Enable the control API server, which allows to control the server.
api: yes
# Address of the TCP/HTTP listener.
apiAddress: 0.0.0.0:9997
  ...
paths:
  cam:
    # This command runs only when someone requests the stream
    runOnDemand: sh -c "raspivid -t 0 -w 1280 -h 720 -fps 25 -b 1000000 -g 25 -n -o - | ffmpeg -v error -f h264 -i - -vcodec copy -f rtsp -rtsp_transport tcp rtsp://localhost:8554/cam"
    
    # Close the stream 5 seconds after the last viewer disconnects
    runOnDemandCloseAfter: 5s

    # Disable automatic recording
    record: no 
    recordFormat: fmp4
    recordPath: /home/pi/video/recordings/%path_%Y-%m-%d_%H-%M-%S
  ...

What this does

When someone opens a web page to the path specified (in our example, http://garagepi.local:8889/cam – port 8889 is the port used for a webRTC listener in the mediamtx.yml configuration file. MediaMTX also listens to an RTSP feed on port 8554), the runOnDemand directive for the path "cam" runs a shell command to start raspivid to create a video feed (at 1280x720 @ 25fps) and then pipes it to ffmpeg, which converts that to a RTSP feed on port 8554. MediaMTX then takes that RSTP feed and converts it into a WEBRTC feed which can then be displayed on the browser. All done very seamlessly, and I was able to get a relatively low latency feed even for a 1280x720 @ 25fps video! 

The runOnDemand and runOnDemandCloseAfter directives also means that when there is nobody connected to and listening for the video stream, the system is idle and not consuming much resources. The camera is also not in use. It is turned on and in use only when someone connects to the video stream and hits play. 

Additionally, I created two shell scripts to call the mediaMTX api to start or stop the record option for the "cam" path. 

startRecording.sh 

 
curl -X PATCH http://localhost:9997/v3/config/paths/patch/cam -d '{"record": true}'

stopRecording.sh 

 
curl -X PATCH http://localhost:9997/v3/config/paths/patch/cam -d '{"record": false}'

I also give execute permissions to the startRecording.sh and stopRecording.sh scripts so I can execute them on the Raspberry Pi (remotely through SSH) to start a recording and to stop a recording. 

 
  chmod +x startRecording.sh
  chmod +x stopRecording.sh

 

Every recording gets stored on the raspberry pi at /home/pi/video/recordings (as I had specified in mediamtx.yml) 

Step 3c - Create a service to ensure it runs on boot

Create a mediamtx.service file in /etc/systemd/system/

 
sudo nano /etc/systemd/system/mediamtx.service

Paste the following in your mediamtx.service

 
[Unit]
Description=MediaMTX RTSP Server
After=network.target

[Service]
User=pi
Group=pi
WorkingDirectory=/home/pi/mediamtx
ExecStart=/home/pi/mediamtx/mediamtx
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Enable and start the service

 
sudo systemctl daemon-reload
sudo systemctl enable mediamtx
sudo systemctl start mediamtx

Now, even if you reboot your Pi, it will ensure that the service starts on boot up. 

Step 4 - Prepare L Bracket and Mount it to wall beam

The L Bracket's holes are a tad too small to accept standard 1/4-20 tripod mounting screws. I used a step drill to open up the holes on one side of the L bracket (the side that's going to be mounted to the wall/ceiling can have its holes as-is) 

Once that is done, use the assembled L-Bracket/ball head tripod mount/ProtoStax Enclosure to mark the location on the wall/ceiling where it is to mounted, and the drill mounting holes and mount the L-Bracket. After it is securely fastened, the ball head tripod mount and enclosure can be attached afterwards. Any necessary adjustments of the enclosure can be done when testing to make sure the laser bed coverage is good and at the right angle/orientation. I ended up rotating my enclosure 90 degrees and also mounting it (and the ball head tripod mount) on the higher hole of the L-Bracket. It's nice to have adjustability! 😊

Step 5 - Test and fine-tune setup

 The final step is to test the video feed and then fine-tune and adjust the feed so it's exactly how you like it. 

You can open up the video feed on the browser on your mobile phone at http://garagepi.local/8889/cam (adjust the name of the Pi, port number and path as you have configured), and look at it while you do the fine-tuning adjustments.  

This would also be a good time to check the focus of the camera and adjust with a focus tool as necessary. 

Here it is, finally in action! I ran startRecording.sh on my Pi shortly before the laser job, and ran stopRecording.sh after it. The entire job was recorded on my Pi. Here's the video, sped up 4x. 

Going Further:

As always, I like to end by talking about how you can take this project further with your own additions! Once you get comfortable with the setup, it is always nice to try to extend your learning by doing more. Here are some suggestions:

1. Upgrading the camera

All other things being equal, upgrading to a Pi Camera Module 2 (which is 8MP) will give an immediate boost in video quality (from the Pi Camera Module 1.3 that I use, which is 5MP). Pi Camera Module 3 ups this to 12MP. The ProtoStax Camera Kit for Raspberry Pi Camera supports all of these cameras as they all have the same footprint! Or you can utilize the HQ Camera with an added lens. It seems to be a bit of an overkill for this application though!

2. Mounting in a different location

 Moving the camera closer to the action will also have the effect of improved image quality. Instead of mounting it to the ceiling, as I have done, you can consider mounting it off the table where the laser cutter is. The obvious advantage is that the camera will be closer. Utilizing a table mounted boom arm microphone stand like this one will also allow you great adjustability - move the camera out of the way when done for storage, and move it into the most optimal recording/streaming angle when needed. Since the ProtoStax enclosure setup is tripod mountable, it will not require any further changes! 

3. Integrating AI/Image processing

Flame detection would be a very useful feature to have. Combining computer vision with AI and deep learning can help with identifying dangerous conditions like flames and excessive smoke. 

4. Integrating other sensors and actuators

The Raspberry Pi with its GPIO pins can also integrate with additional hardware. Here are some thoughts:
  • Piezo buzzer to sound an audible alarm - you could integrate this with the flame detection algorithm, for example
  • Add an air quality sensor like a PM (Particulate Matter) sensor or a VOC sensor, to monitor the air quality and trigger alarms when the air quality has degraded (problems with exhaust, or flame/smoke overwhelming the system). Sometimes, when we are sitting in that environment, we get desensitized to any leaks and degrading air quality, and having a monitor and alarm to alert us would be useful. 
  • Have the Raspberry Pi control a relay to turn off power to the laser cutter automatically when a dangerous condition is encountered. 

5. Upgrading the Raspberry Pi

Some of the items above, like computer vision and AI and deep learning would be better done with more capable hardware. This would be the time to upgrade to a Raspberry Pi 5, and possibly adding an AI Accelerator HAT to the setup, or the AI Camera. The good news is that ProtoStax Enclosure for Raspberry Pi 5 / 4 / 3 Model B/B+ supports all versions and so you would not have to change the rest of your setup. The enclosure also provides room inside for an additional HAT (like the AI HAT, or adding sensors to your setup, etc). 

6. Experiment with different streaming solutions

You can also experiment with the various streaming methods in your own setup to see which one performs the best in your setup. As I see it, it would be a competition between MediaMTX and UV4L, with Python/Flask based streaming having the benefit of allowing additional development and integration. 

Can you think of other ways to extend this project? Share it with us in the comments below! 😊 Also do share photos/videos of your version on your social media platform of choice - just tag it #ProtoStax and tag us @protostax so we can find you!


Happy Making! 😊

Sridhar

Back to blog

Leave a comment

Please note, comments need to be approved before they are published.