I have an ESP32 with OV2640 camera and a GY-MAX4466 amplified electret microphone module and I would be able to connect it to ESP32 to stream voice and video in realtime when I connect to its IP, ideally at same time if hardware is capable enough or alternatively switching between voice and video if it cannot handle both at same time.

I have been able to stream video with an OV2640 camera and ESP32, but unfortunately I haven't found resources regarding adding realtime audio streaming.

  • 2
    Not sure what code you are using to stream video, but the stuff I found does not stream any video, it just sends a succession of JPEG images (and I would be curious to see what kind of frame rate you can achieve). Audio is very different from video. It can live with much lower bandwidth, but it is a lot more sensitive to latency, jitter, and packet loss. Not sure an ESP32 is up to the task (but I wouldn’t discount it outright for pure audio). Having actual video with matching audio correctly synchronised is probably beyond the capabilities of an ESP32, though, I’d consider ARM SoCs instead.
    – jcaron
    Nov 8 '20 at 21:33
  • @jcaron CD-quality stereo is 48k [samples/second] * 64 [sample bits] (let's be very generous) == 3MB/second. The device is claimed to support a much higher rate.
    – Vorac
    Nov 11 '20 at 7:21
  • @Vorac unless one is streaming locally (and even then), you will probably want to compress all that, which will take ressources, though, yes, for pure audio this is probably doable, we used to have MP3 encoding/decoding on much slower CPUs back in the 90s. This post says MP3 encoding at 48kHz 16 bit stereo takes about 40% of one core. But full audio+video at any decent quality seems to be a bit too much to me for an ESP32.
    – jcaron
    Nov 11 '20 at 11:39
  • OP, sorry for the horrible mistake. You asked about a camera and I answered about audio streaming, which is more trivial.;; @jcaron thank you a ton for the argumented critique!
    – Vorac
    Nov 12 '20 at 14:14
  • mp3 or any quality encoding is demanding but for low quality voice communication could be used a lighter codec as low bit-rate AMR audio encoding or similar simpler codec that aren't demanding. If mp3 takes 40% of one core it should be able to do it with some voice codec and single channel.
    – AndreaF
    Nov 17 '20 at 17:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.