RTP 实时传输协议

概述实时传输协议(Real-time Transport Protocol, RTP)是一种用于处理互联网实时流量(如音频和视频)的协议。RTP 必须与 UDP 协议配合使用,不包含多播或端口号等传输机制。RTP 支持多种文件格式,例如 MPEG 和 MJPEG。它对数据包延迟高度敏感,但对数据包丢失的容忍度较高。历史RTP 由互联网工程任务组(IETF)开发,核心团队包括以下四名成员:S. Casner(包装设计)V. Jacobson(包装设计)H. Schulzrinne(哥伦比亚大学)R. Frederick(Blue Coat Systems Inc.)RTP 首次于 1996...

Java 2025-09-10 AM 15℃ 0条

基于Luckfox Pico Max的P2P视频直播解决方案

这篇文档聊聊怎么用Luckfox Pico Max搞一个P2P视频直播的方案。咱们的目标是让视频从一个设备直接传到另一个设备,基本不用中间服务器(除了必要的中继)。方案用C语言抓视频和编码,Golang处理P2P连接,中间通过Unix Domain Socket串起来。简单直接,走起!先来认识几个关键玩意儿Luckfox Pico Max的芯片Luckfox Pico Max用的是Rockchip RV1106芯片。这货是个单核ARM Cortex-A7处理器,跑在1.2GHz,还有个RISC-V协处理器。内置NPU能到1 TOPS,适合AI边缘计算。它支持4M@30fps的ISP输入,...

其他 2025-09-06 PM 16℃ 0条

利用AI语言与视觉模型实现高效零样本目标检测

引言目标检测是计算机视觉的核心任务,广泛应用于自动驾驶、安防监控和医疗影像分析等领域。然而,传统目标检测依赖于大规模标注数据集,数据收集和标注成本高昂,且对新类别的适应性较差。零样本目标检测(Zero-Shot Object Detection)通过无需针对特定类别训练即可识别目标,为这一问题提供了创新解决方案。本文提出了一种结合大型语言模型(LLM,如Grok 3)和视觉生成模型(如Stable Diffusion)的四步流程,通过生成多样化提示词和合成图像,在极少样本的情况下实现高效的目标检测。我们将详细阐述每个步骤的实现细节、技术选择、可行性分析,并提供优化后的代码示例,供读者参考...

Python 2025-08-04 AM 60℃ 0条

FPGA树冠识别算法迁移

一、算法迁移1. 方案采用FPGA-ZYNQ平台结合 PYNQ(Python productivity for Zynq - Home)技术2. 流程获取deepforest-NEON.pt 模型使用pytorch将pt模型转换为onnx模型vitis-ai工具将模型转换为dpu模型开发版安装pynq,dpu相关依赖测试模型速度优化模型大小3. 整体架构4. 工具链FPGA Vitis AIPytorchPYNQ5. 模型测试二、进展Onnx模型转换1.1 重构deepforest源码模型import torch import typing from PIL import Image i...

Python 2025-07-23 AM 58℃ 0条

P2P、SFU和MCU音视频通信架构

1. P2P(Peer-to-Peer)点对点工作原理每个参与者直接与其他所有参与者建立连接音视频数据直接在用户之间传输技术特点连接数:N×(N-1)/2(呈平方级增长)处理方式:无媒体处理,直接转发编解码:每个客户端处理多路编解码2. SFU(Selective Forwarding Unit)选择性转发工作原理所有用户连接到SFU服务器SFU接收所有用户的媒体流,选择性转发给其他用户不进行媒体处理,只是路由RTP包技术特点连接数:N个(线性增长)处理方式:包级转发,不解码编解码:客户端负责编解码3. MCU(Multipoint Control Unit)多点控制单元工作原理所有用户...

架构 2025-06-30 AM 105℃ 0条

高效能人士的七个习惯

习惯一:主动积极(Be Proactive)主动积极是指不被外界环境所左右,而是主动选择自己的行为和态度。高效能人士不会被动地等待机会,而是积极主动地创造机会。这种习惯强调个人责任感和主动性,鼓励人们关注自己可以控制的事情,而不是抱怨无法控制的事情。习惯二:以终为始(Begin with the End in Mind)以终为始意味着在开始任何事情之前,先明确自己的目标和愿景。高效能人士会制定清晰的个人使命宣言,并以此为指导,制定具体的计划和行动步骤。这种习惯帮助人们保持方向感,避免在生活和工作中迷失。习惯三:要事第一(Put First Things First)要事第一强调优先处理重...

写作 2025-06-13 PM 99℃ 0条

MQTTX EMQX Error: Cannot parse protocolId.

使用 nginx 对 emqx 进行反向代理的时候,可能会到此错误,根本原因是在nginx 上配置了 TLS/SSL 证书以后又将反向代理地址指向了 EMQX 的 TLS 端口,此时 TLS 的校验已经交由 nginx 进行管理,反向代理到 emqx 的普通 1883 端口即可这里涉及的是 TLS 终止 (TLS Termination) 的概念问题。问题根本原因当使用 NGINX 对 EMQX 进行反向代理时,如果在 NGINX 上配置了 TLS/SSL 证书,会出现 双重 TLS 加密 的问题:客户端 → NGINX:第一层 TLS 加密NGINX → EMQX:如果代理到 EMQX...

Java 2025-06-03 PM 128℃ 0条

Redis Survivor Cache (RSC)

Redis Survivor Cache (RSC) 方案详细讲解Redis Survivor Cache (RSC) 是一种基于 Redis 的缓存管理方案,灵感来源于 JVM 垃圾回收机制中的 Survivor 区域。该方案旨在解决高并发场景下数据更新与数据库同步的问题,确保数据一致性、低延迟和高吞吐量。RSC 特别适用于需要频繁更新并定期同步到数据库(如 MongoDB)的系统,例如物联网设备状态管理。以下是该方案的详细设计与实现。方案背景与目标在高并发系统中,设备数据更新频繁且需要定期同步到数据库,传统缓存方案可能面临以下挑战:数据竞争:并发更新与同步操作可能导致不一致。性能瓶颈...

架构 2025-03-01 PM 11663℃ 16条

ubuntu 部署 SD-webui

一、安装nvidia驱动ubuntu 安装 nvidia驱动二、安装 python3环境Debian-based:sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0Red Hat-based:sudo dnf install wget git python3 gperftools-libs libglvnd-glxopenSUSE-based:sudo zypper install wget git python3 libtcmalloc4 libglvndArch-based:sudo pacman -S...

Java 2024-01-21 AM 11494℃ 15条

Nginx反向代理

Nginx 是一个高性能的反向代理服务器,可以实现负载均衡、安全防护等功能。以下是一个简单的 Nginx 反向代理配置示例,主要用于将请求转发给后端服务器。首先,确保已经安装了 Nginx。如果尚未安装,请参考官方文档进行安装:https://nginx.org/en/docs/install.html打开 Nginx 的配置文件,通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/default。如果没有找到配置文件,请参考 Nginx 官方文档进行配置文件的查找和创建。在配置文件中,找到http或server块,如果没有,请创建一...

Java 2024-01-11 AM 11684℃ 17条