ESP32-S3 USB Camera & Audio WebSocket Test: UVC + UAC Data Streaming Demo (ft. WebSocket)
ฝัง
- เผยแพร่เมื่อ 20 ก.ย. 2024
- In this project, I showcase how to connect a USB camera and microphone to the ESP32-S3, capturing both image and audio data using UVC (USB Video Class) and UAC (USB Audio Class). The ESP32-S3 streams raw image and audio data over a WebSocket connection, demonstrating a simple server for testing purposes.
*Important:* This WebSocket server is designed to help test raw data streaming but is not intended for real-time multimedia transmission. For actual simultaneous streaming of video and audio, a protocol like RTSP (Real-Time Streaming Protocol) is recommended.
In this demo:
- We connect a USB camera to ESP32-S3.
- Capture image and audio data via UVC and UAC.
- Stream raw data using a WebSocket server.
- Display the incoming audio and video packets in real-time on a client.
This test setup is useful for developers working on USB peripheral integration with ESP32 but requires further implementation for practical multimedia streaming.
[Espressif IoT Solution - USB Stream]
github.com/esp...
[UVC+UAC+WebSocket]
github.com/001...
[USB Descriptor Dumper]
www.thesycon.d...
[Logitech C270 HD Webcam]
amzn.to/3XtP4xp
[ESP32-S3-DevKitC-1-N8R8 Development Board]
amzn.to/4er8EkS
#ESP32 #USB #Camera
Awesome next level work. Thank you for sharing the knowledge ❤
I need to try this.
Although the processor wasn't design for such applications rather just another Arduino like board for basic stuff with comms, it's fascinating how capable it has turned out to be 🎉
The S3 was 100% designed for projects like this other high-end "non-Arduino makery stuff" - The maker/tinkerer/dev board community makes up a tiny proportion of the customer base for the Espressif chips.
Awesome! Thank you!
Very interesting video! Have you tried implementing it on the ESP32-P4?
@@SalvatoreRaccardi P4 is a monster. It’s gonna be crazy. 😃
Once again, awesome work.
I notice you say next time you will try with a USB-C breakout. The can you not get the onboard USB-C OTG connector to run the camera?
@@slartybardfast1972 You are right. It works with OTG port. I have devices that don't have this port, so I always connected via GPIO 19/20.
wonderful...❤❤
Thanks, interesting. I've an old cam unable to work due to unupdated drivers. it may work this way.
@@brunobilame2528 That's great. Before you start, check the USB Descriptors to see what formats are supported.
Very cool project - Have you tried a higher resolution UVC camera to see the maximum resolution/fps you can achieve?
The maximum resolution for MJPEG on the C270 camera is 1280x720, but the negotiation failed. The highest resolution I've been able to achieve is 800x600 15FPS.
@@ThatProject Ok, thanks for the clarification :)
Nice project. Did you try custom image recognition with it?
Not yet. That will probably be done by another project.
I'm wondering if it's possible to make a wireless USB cable with two ESP32.
@@peekpt On one side, you have an ESP32 with a USB cam connected, and you are getting this image data from another ESP32 through WiFi and outputting it to a connected display?
What is the highest supported image resolution?
The maximum resolution for MJPEG on the C270 camera is 1280x720, but the negotiation failed. The highest resolution I've been able to achieve is 800x600 15FPS.
What is UVC ?
@@TechInventorAman UVC stands for USB Video Class, a class of devices that transmit in-stream video over USB. docs.espressif.com/projects/esp-iot-solution/en/latest/usb/usb_device/usb_device_uvc.html