通过ESP32 WebSocket流JPEG;提高性能的最佳方法?

问题描述

我目前正在使用ESP32芯片上的WebSocket服务器将实时图像流式传输(半)到浏览器。

消息的传输似乎很慢,除非队列增加太多(除非擦除内存),否则除非进行限制才能使服务器崩溃。

现在我将队列设置为限制2条消息,更新频率为500ms。

当服务器/客户端之间的延迟良好时,降低队列的工作效果很好。一旦延迟增加,就需要减小文件大小,以防止服务器崩溃。

一个例子是,在良好的等待时间和2的队列限制下,可以以500ms的更新频率发送640x480图像。一旦通过将ESP进一步移离接入点来降低等待时间,图像质量就会迅速下降至240x176,以保持该发送频率。更大的队列需要达到1,甚至崩溃。我没有尝试只是没有队列。

是否有压缩或分块数据以减少交付时间的好方法?

我正在使用ESPAsyncWebServer作为套接字服务器,然后客户端只是在进行基本的消息侦听:

ws = new WebSocket(streamURL)
ws.onmessage = message => {
if (message.data instanceof Blob) {
  var urlObject = URL.createObjectURL(message.data)
  viewContent.src = urlObject;
}};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...