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

ความคิดเห็น • 23

  • @achalasamapriya2701
    @achalasamapriya2701 3 วันที่ผ่านมา +3

    Awesome next level work. Thank you for sharing the knowledge ❤

  • @TrasteIAm
    @TrasteIAm 3 วันที่ผ่านมา +3

    I need to try this.

  • @xamashee
    @xamashee 3 วันที่ผ่านมา +3

    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 🎉

    • @UnexpectedMaker
      @UnexpectedMaker 2 วันที่ผ่านมา +1

      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.

  • @zhdanvadim9536
    @zhdanvadim9536 3 วันที่ผ่านมา +1

    Awesome! Thank you!

  • @SalvatoreRaccardi
    @SalvatoreRaccardi 3 วันที่ผ่านมา +2

    Very interesting video! Have you tried implementing it on the ESP32-P4?

    • @ThatProject
      @ThatProject  3 วันที่ผ่านมา +2

      @@SalvatoreRaccardi P4 is a monster. It’s gonna be crazy. 😃

  • @slartybardfast1972
    @slartybardfast1972 3 วันที่ผ่านมา +1

    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?

    • @ThatProject
      @ThatProject  3 วันที่ผ่านมา +1

      @@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.

  • @behzadabf
    @behzadabf 10 ชั่วโมงที่ผ่านมา

    wonderful...❤❤

  • @brunobilame2528
    @brunobilame2528 3 วันที่ผ่านมา +1

    Thanks, interesting. I've an old cam unable to work due to unupdated drivers. it may work this way.

    • @ThatProject
      @ThatProject  3 วันที่ผ่านมา

      @@brunobilame2528 That's great. Before you start, check the USB Descriptors to see what formats are supported.

  • @UnexpectedMaker
    @UnexpectedMaker 2 วันที่ผ่านมา

    Very cool project - Have you tried a higher resolution UVC camera to see the maximum resolution/fps you can achieve?

    • @ThatProject
      @ThatProject  วันที่ผ่านมา +1

      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.

    • @UnexpectedMaker
      @UnexpectedMaker วันที่ผ่านมา

      @@ThatProject Ok, thanks for the clarification :)

  • @YigalBZ
    @YigalBZ 2 วันที่ผ่านมา

    Nice project. Did you try custom image recognition with it?

    • @ThatProject
      @ThatProject  วันที่ผ่านมา

      Not yet. That will probably be done by another project.

  • @peekpt
    @peekpt 13 ชั่วโมงที่ผ่านมา

    I'm wondering if it's possible to make a wireless USB cable with two ESP32.

    • @ThatProject
      @ThatProject  7 ชั่วโมงที่ผ่านมา

      @@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?

  • @vananvo6885
    @vananvo6885 2 วันที่ผ่านมา

    What is the highest supported image resolution?

    • @ThatProject
      @ThatProject  วันที่ผ่านมา

      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.

  • @TechInventorAman
    @TechInventorAman วันที่ผ่านมา

    What is UVC ?

    • @ThatProject
      @ThatProject  วันที่ผ่านมา

      @@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