Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >流esp-32摄像机到RTMP服务器(如YouTube )

流esp-32摄像机到RTMP服务器(如YouTube )
EN

Stack Overflow用户
提问于 2020-03-28 15:16:00
回答 1查看 5.9K关注 0票数 5

我正在为一个项目做研究,在其中我需要玩相机流。经过多次点击和跟踪和谷歌搜索,我甚至没有接近解决方案流ESP-32摄像头流直接到我自己的RMTP服务器。

已经尝试过的解决办法:

1)我尝试了用Raspberry pi再流ESP-32摄像机,这很好,但不是我正在寻找的东西(因为不想使用Raspberrypi用于重流目的而被丢弃)。

2) ESP-32-凸轮:用时间触发器记录和FTP传输(没有尝试,但认为这不是一个好方法)。{被丢弃,因为它不是实时的}

3) ESP32 Try to send image file to php with HTTPClient我尝试过,但是它只适用于图像,第二,代码是用循环函数执行的,所以由于保存和投递操作的延迟很长。

请注意:我不是在看ESP-32摄像机作为流服务器和浏览器可以连接到它的解决方案,如:https://www.hackster.io/BnBe_Club/9-rtsp-video-streamer-using-the-esp32-cam-board-8832b4

我已经尝试过了,它运行得很好,但不适用于usecase,它涉及流到RTMP服务器,而不需要重流。

**

i想要实现ESP-32 CAM可以直接将/流发送到RTMP云托管服务器,从技术上讲,这似乎是可能的,因为ESP-32 cam支持连接wifi并访问云服务器。

**

在谷歌上,我发现了一条类似的线索:https://forum.arduino.cc/index.php?topic=634605.0这个有解决方案的家伙不想分享它。

可能是以下代码所需的一些修改,请参阅:https://github.com/espressif/esp32-camera

EN

回答 1

Stack Overflow用户

发布于 2020-03-29 12:23:15

你应该阅读(并理解)你发布的链接。

有两种选择。一种是由rtsp库使用的,Arduino充当rtsp服务器,所以像vlc这样的程序可以在桌面上解码流。

或者是BnBe解决方案,Esp32cam充当客户端,像youtube这样的服务器可以接收流并对其进行解码。

ESP是在这种情况下通过AP连接到互联网。可以使用浏览器组件来配置它。

在客户机服务器场景中没有第三个解决方案(一个充当客户端,另一个充当服务器)。仔细阅读BnBe解决方案的代码。如果你想硬编码你的配置-简单可行。

您的评论:"usecase,它涉及流到RTMP服务器而不重流“对不起,我看不到至少在我的代码中会发生这种情况。

您的意思是,作者从凸轮(方法esp_camera_fb_get())获得流,这不是由于espressif的封闭源而产生的,因为espressif是访问准备好的相机流的唯一方法。如果你不喜欢这个,你必须投资于其他硬件。

你用图表编辑了你的问题。这就是BnBe解决方案所做的!所以不能再流了。

OP希望将espressif函数esp_camera_fb_get()的结果直接发送到rtmp云服务。从技术上讲,这是不可能的,因为API只允许访问以mpeg编码的帧缓冲区(粘合在一起)。因此,必须将帧缓冲区转换为有效的rtmp流。即使您查看OV2640的数据表,您也会看到源已关闭,并且只有API访问固件是可能的。因此,除了逆向工程之外,不存在任何可能性。

使用BnBe解决方案,它的工作和节省你的1/2年的发展,你可以改进它,如果你是一个好的编码器,但忘记多流的ESP32 CPU大麦处理之一!

->特别关注CRtspSession.h和CRtspSession.cpp的代码以及OV2640.h和OV2640.cpp (在这里您可以找到凸轮模块的所有API函数)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60908201

复制
相关文章
如何在技术和业务中保持平衡?
如果时间退回到十多年以前,新兴互联网公司的技术人员几乎都是从「业务开发」开始自己的职业生涯的。然而到了今天,不知道你有没有发现,业务开发和纯技术的开发已经有了明显的分野。
木东居士
2020/02/21
1.5K0
如何在基于Bytom开发过程中集成IPFS
比原相关资料:https://github.com/Bytom-Community/Bytom_Docs
比原链Bytom
2019/01/28
4370
如何在基于Bytom开发过程中集成IPFS
如何在基于Bytom开发过程中使用Bigchaindb
上期我们讲了在基于比原开发过程中链外存储可以用分布式存储IPFS,这期我们还给大家介绍另外一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面我们讲一下集成过程。
比原链Bytom
2019/02/26
4420
如何在基于Bytom开发过程中集成IPFS
比原相关资料:https://github.com/Bytom-Community/Bytom_Docs
比原链Bytom
2019/01/18
7340
如何在基于Bytom开发过程中集成IPFS
如何在基于Bytom开发过程中使用Bigchaindb
上期我们讲了在基于比原开发过程中链外存储可以用分布式存储IPFS,这期我们还给大家介绍另外一种链外存储的解决方案。bigchaindb:https://www.bigchaindb.com,下面我们讲一下集成过程。
比原链Bytom
2019/01/25
4920
如何在基于Bytom开发过程中使用Bigchaindb
基于 Webpack 提升构建速度和保证构建质量详解
有一个很简单的划分方式,就是以构建(build)为分界线,分成前向治理和后向治理:
winty
2021/05/18
7090
基于 Webpack 提升构建速度和保证构建质量详解
ServiceOps:在DevOps中平衡速度和风险
CrowdStrike 的停机事件突出了当今业务运营的互联性,其中单个错误可能会影响许多组织和人员。CrowdStrike发生的事件 可能会发生在任何公司,即使是那些拥有良好变更控制和发布实践的公司,尤其是在组织中不同的开发团队采用不同的发布实践来加速软件交付时。缺乏统一的软件发布方法会增加引入错误或性能问题的风险。
云云众生s
2024/08/25
1100
ServiceOps:在DevOps中平衡速度和风险
敏捷过程中如何保证代码质量
本文目录: 一、为什么要做代码质量分析 二、常见的代码质量分析工具 三、DevOps平台中的代码质量分析 四、DevOps平台中如何为代码质量提供保障 一、为什么要做代码质量分析 在软件开发过程中,当
yuanyi928
2018/04/02
2K0
敏捷过程中如何保证代码质量
如何在开发生命周期之初改善软件质量
先人一步的企业正开始采用安全编程方法和工具,在软件开发生命周期的早期阶段处理安全问题。MaaS360 by Fiberlink公司的信息安全官David Lingenfelter说:“如果企业组织在软
静一
2018/03/22
9970
如何在开发生命周期之初改善软件质量
QUIC 如何在速度和安全性方面取代 TCP?
原文链接:How QUIC Is Displacing TCP for Speed and Security
萝卜要努力
2025/03/07
1080
QUIC 如何在速度和安全性方面取代 TCP?
如何平衡研发与开发
对于程序员来讲,很多时候会纠结一个问题,我做了这么多项目,除了上线了产品,自己的逻辑、对产品的设计进步了哪些,这一点对前端、后端其实都是一样的具有迷惑性。
RobinsonZhang
2018/08/28
5280
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息。最后由我用java实现linux上exe文件的版本号读取功能。下面是详细代码:
业余草
2019/01/21
6K0
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
精度、速度完美平衡,最新图像分割SOTA模型重磅发布!!!
支撑影视人像抠图、医疗影像分析、自动驾驶感知等万亿级市场背后的核心技术是什么?那就要说到顶顶重要的图像分割技术。相比目标检测、图像分类等技术,图像分割需要将每个像素点进行分类,在精细的图像识别任务中不可替代,也是智能视觉算法工程师拥有关键核心竞争力的关键!
计算机视觉
2022/05/24
1.6K0
精度、速度完美平衡,最新图像分割SOTA模型重磅发布!!!
如何在序列标注过程中打标?
英文打标,token可以是一个单词(e.g. awesome),也可以是一个字符(e.g. a)。
伊泽瑞尔
2022/06/01
3610
如何在序列标注过程中打标?
我们如何在Elasticsearch 8.6, 8.7和8.8中提升写入速度
一些用户已经注意到Elasticsearch 8.6、8.7 和 8.8 在很多不同类型数据写入时速度都获得了可观的提升,从简单的Keywords到复杂的KNN向量,再到一些负载比较重的写入处理管道都是这样。写入速度涉及到很多方面:运行写入处理管道、反转内存中的数据、刷新段、合并段,所有这些通常都需要花费不可忽略的时间。幸运的是,我们在所有这些领域都进行了改进,这为端到端的写入速度带来了很不错的提升。例如,在我们的基准测试里面,8.8比8.6写入速度提升了13%,这个基准测试模拟了真实的日志写入场景,其中包含了多种数据集、写入处理管道等等。请参见下图,您可以看到在这段时间内,实施了这些优化措施后写入速率从 ~22.5k docs/s 提升到了 ~25.5k docs/s。
点火三周
2023/07/11
1.3K0
我们如何在Elasticsearch 8.6, 8.7和8.8中提升写入速度
企业如何在采购过程中做好成本控制?
学会降低成本是有效采购的其中一个重要方面。单是这个因素,就能决定是几乎没有盈利,还是大赚一笔。但是在降低成本的时候,企业要牢记一点——不能牺牲质量。降低成本很重要,但前提是保证质量,企业的供应品需要始终保持足够好的质量,而且需要按时交付。
数商云市场营销总监
2022/03/16
7320
在网络端口扫描期间寻找速度和准确度之间的平衡点
侦察是每个bug bounty或渗透测试中最为重要的阶段之一。侦察工作做得到不到位,可能会对最终的结果产生直接影响。侦察可以分为两类:即主动和被动侦察。在主动侦察中端口扫描是最常用的方法之一。通过端口扫描渗透测试人员或漏洞猎人可以确定在目标主机或网络上打开的端口,以及识别在这些端口上运行的服务。
FB客服
2019/08/30
1.8K0
在网络端口扫描期间寻找速度和准确度之间的平衡点
C#百万对象序列化深度剖析:如何在网络传输中实现速度与体积的完美平衡
在网络通信中,数据序列化是将对象状态转换为可存储或可传输的形式的过程,这对于TCP网络传输尤为关键。在项目中,当需要处理几十万条数据的传输时,传统的Json序列化方式由于其冗余的字段名和字符串格式,导致了二进制包体积庞大,且序列化与反序列化的效率低下。为了解决这些问题,我考虑采用更加高效的序列化方法,以减少包大小并提升处理速度。本文将探讨自定义二进制序列化、BinaryWriter/BinaryReader、MessagePack[1]和ProtoBuf[2]等4种序列化方法,并通过比较它们的性能,为大家提供我目前认为的最佳实践指南。
沙漠尽头的狼
2023/12/13
5110
C#百万对象序列化深度剖析:如何在网络传输中实现速度与体积的完美平衡
如何在 CI/CD 过程中实施高效的自动化测试和部署
在持续集成(CI)和持续交付(CD)过程中,自动化测试和部署是提高软件交付速度和质量的关键。本文将详细介绍如何选择适合的CI/CD工具,配置自动化构建和测试流程,制定全面的测试策略,并确保部署环境的稳定性,采用蓝绿部署等策略降低风险。
Swift社区
2024/08/01
3730
如何在 CI/CD 过程中实施高效的自动化测试和部署
栈平衡和栈迁移
程序的运行需要数据,而数据就存放在内存中。首选的存放地址肯定是寄存器中(运行速度快),但是寄存器也就几个,数据很多,所以就把数据存放在了堆栈中。
ly0n
2020/11/04
1.2K0
栈平衡和栈迁移

相似问题

按钮禁用在IE 10中不起作用

20

JavaScript函数调用在IE中不起作用

13

对javascript中函数的调用在IE中不起作用

10

使用在chrome中不起作用的javascript启用按钮

22

禁用javascript中的按钮在IE中不起作用

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文