国产高云FPGA实现视频采集转UDP以太网输出,FPGA网络摄像头方案,提供2套Gowin工程源码和技术支持
目录
- 1、前言
- 工程概述
- 免责声明
- 2、相关方案推荐
- 我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目
- 国产高云FPGA基础教程
- 国产高云FPGA相关方案推荐
- 我这里已有的以太网方案
- 3、设计思路框架
- 工程设计原理框图
- 输入Sensor之-->OV7725摄像头
- 输入Sensor之-->OV5640摄像头
- QT上位机与FPGA数据交互逻辑
- 指令控制模块
- 视频组包模块
- UDP协议栈
- RGMII互转GMII模块
- PHY芯片
- QT上位机
- IP地址、端口号的修改
- 工程源码架构
- 4、Gowin工程源码1详解:OV7725输入版本
- 5、Gowin工程源码2详解:OV5640输入版本
- 6、上板调试验证并演示
- ARP绑定
- QT上位机接收显示
- 国产高云FPGA实现UDP网络通信效果演示
- 7、工程源码
国产高云FPGA实现视频采集转UDP以太网输出,FPGA网络摄像头方案,提供2套Gowin工程源码和技术支持
1、前言
国产FPGA现状:
“苟利国家生死以,岂因祸福避趋之!”大洋彼岸的我优秀地下档员,敏锐地洞察到祖国的短板在于先进制程半导体的制造领域,于是本着为中华民族伟大复兴的中国梦贡献绵薄之力的初心,懂先生站在高略高度和长远角度谋划,宁愿背当代一世之骂名也要为祖国千秋万世谋,2018年7月,懂先生正式打响毛衣战,随后又使出恰勃纸战术,旨在为祖国先进制程半导体领域做出自主可控的战略推动;2019年初我刚出道时,还是Xilinx遥遥领先的时代(现在貌似也是),那时的国产FPGA还处于黑铁段位;然而才短短7年,如今的国产FPGA属于百家争鸣、百花齐放、八仙过海、神仙打架、方兴未艾、得陇望蜀、友商都是XX的喜极而泣之局面,此情此景,不得不吟唱老人家的诗句:魏武挥鞭,东临碣石有遗篇,萧瑟秋风今又是,换了人间。。。
目前对于国产FPGA优势有以下几点:
1:性价比高,与同级别国外大厂芯片相比,价格相差几倍甚至十几倍;
2:自主可控,国产FPGA拥有完整自主知识产权的产业链,从芯片到相关EDA工具;
3:响应迅速,FAE技术支持比较到位,及时解决开发过程中遇到的问题,毕竟中文数据手册;
4:采购方便,产业链自主可控,采购便捷;
FPGA实现UDP网络通信现状:
FPGA实现UDP网络通信主要有两种方案,其一是使用PHY芯片实现物理层功能,比如常见的RTL8211、B50610等芯片,UDP协议栈部分很简单,可使用verilog代码直接实现;其二是使用Xilinx系列的IP核实现物理层功能,比如常见的1G/2.5G Ethernet PCS/PMA or SGMII、AXI 1G/2.5G Ethernet Subsystem、10G/25G Ethernet Subsystem、10G Ethernet Subsystem等,UDP协议栈部分很简单,可使用verilog代码直接实现;本设计使用PHY芯片方案实现物理层功能;
工程概述
本文使用国产高云FPGA实现视频采集转UDP以太网输出,即使用国产高云FPGA实现网络摄像头方案;
视频输入源包括OV7725和OV5640摄像头;FPGA首先对摄像头进行i2c初始化配置,然后采集摄像头视频;然后采集视频送入视频组包模块,将是每行视频封装帧头和行号;然后组包的视频送入UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入纯verilog实现的RGMII互转GMII模块,实现单沿采集的GMII数据到双沿采集的RGMII数据转换,需要使用高云的ODDR源语;然后数据进入板载PHY芯片实现以太网物理层,输出差分信号,并通过网线发送到电脑端;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给QT上位机显示;针对市场主流需求,本设计提供2套Gowin工程源码,具体如下:
现对上述2套工程源码做如下解释,方便读者理解:
工程源码1
开发板FPGA型号为国产高云GW5A-LV25UG324ES;视频输入源为OV7725摄像头;FPGA首先对摄像头进行i2c初始化配置,分辨率配置为640x480@60Hz,然后采集摄像头视频;然后采集视频送入视频组包模块,将是每行视频封装帧头和行号;然后组包的视频送入UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入纯verilog实现的RGMII互转GMII模块,实现单沿采集的GMII数据到双沿采集的RGMII数据转换,需要使用高云的ODDR源语;然后数据进入板载的RTL8211F芯片实现以太网物理层,输出差分信号,并通过网线发送到电脑端,输出分辨率为640x480@60Hz,RTL8211F工作于延时模式,RGMII接口;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给QT上位机显示;该工程适用于国产高云FPGA实现网络摄像头应用;
工程源码2
开发板FPGA型号为国产高云GW5A-LV25UG324ES;视频输入源为OV5640摄像头;FPGA首先对摄像头进行i2c初始化配置,分辨率配置为640x480@60Hz,然后采集摄像头视频;然后采集视频送入视频组包模块,将是每行视频封装帧头和行号;然后组包的视频送入UDP协议栈实现以太网帧组包,即加上各种头部信息和校验;然后数据进入纯verilog实现的RGMII互转GMII模块,实现单沿采集的GMII数据到双沿采集的RGMII数据转换,需要使用高云的ODDR源语;然后数据进入板载的RTL8211F芯片实现以太网物理层,输出差分信号,并通过网线发送到电脑端,输出分辨率为640x480@60Hz,RTL8211F工作于延时模式,RGMII接口;电脑端操作系统的Socket实现接收数据以太网解包,然后数据给QT上位机显示;该工程适用于国产高云FPGA实现网络摄像头应用;
本博客描述了国产高云FPGA实现视频采集转UDP以太网输出的设计方案,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做学习提升,可应用于医疗、军工等行业的高速接口或图像处理领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;
免责声明
本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网等等),若大佬们觉得有所冒犯,请私信批评教育;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。
2、相关方案推荐
我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目
其实一直有朋友反馈,说我的博客文章太多了,乱花渐欲迷人,自己看得一头雾水,不方便快速定位找到自己想要的项目,所以本博文置顶,列出我目前已有的所有项目,并给出总目录,每个项目的文章链接,当然,本博文实时更新。。。以下是博客地址:
点击直接前往
国产高云FPGA基础教程
高云FPGA开发软件Gowin的下载、安装、Licence共享,工程搭建、代码添加、综合、编译、下载、各种IP的调用、配置、使用等基础操作,是做高云FPGA开发的基本功,当然,如果你已是有经验的工程师,则可以省略这一步,为此,我专门开设了专栏,详细讲述国产高云FPGA基础教程,甚至可以说是保姆级的教程,专栏地址如下:
点击直接前往
国产高云FPGA相关方案推荐
鉴于国产高云FPGA的优异表现和市场需求,我专门开设了一个人国产高云FPGA专栏,里面收录了基于国产高云FPGA的图像处理、UDP网络通信、GT高速接口、PCIE等博客,感兴趣的可以去看看,博客地址:点击直接前往
我这里已有的以太网方案
目前我这里有大量UDP协议的工程源码,包括UDP数据回环,视频传输,AD采集传输等,也有TCP协议的工程,还有RDMA的NIC 10G 25G 100G网卡工程源码,对网络通信有需求的兄弟可以去看看:
直接点击前往
其中千兆TCP协议的工程博客如下:
直接点击前往
3、设计思路框架
工程设计原理框图
工程设计原理框图如下:
输入Sensor之–>OV7725摄像头
输入Sensor是本工程的输入设备,其一为OV7725摄像头,此外本博主在工程中还设计了动态彩条模块,彩条由FPGA内部逻辑产生,且是动态移动的,完全可模拟Sensor,输入源选择Sensor还是彩条,通过Sensor模块的顶层参数配置,默认选择Sensor输入;但在本FPGA实现网络摄像头方案中,动态彩条不可用;Sensor模块如下:
SENSOR_TYPE=0;则输出OV7725摄像头采集的视频;
SENSOR_TYPE=1;则输出动态彩条的视频;
但在本FPGA实现网络摄像头方案中,动态彩条不可用;
OV7725摄像头需要i2c初始化配置,本设计配置为640x480@60Hz分辨率,本设计提供纯verilog代码实现的i2c模块实现配置功能;此外,OV7725摄像头还需要图像采集模块实现两个时钟输出一个RGB565的视频转换为一个时钟输出一个RGB888视频,本设计提供纯verilog代码实现的图像采集模块实现配置功能;动态彩条则由FPGA内部逻辑实现,由纯verilog代码编写;将OV7725摄像头配置采集和动态彩条进行代码封装,形成helai_OVsensor.v的顶层模块,整个模块代码架构如下:
输入Sensor之–>OV5640摄像头
输入Sensor是本工程的输入设备,其一为OV5640摄像头,此外本博主在工程中还设计了动态彩条模块,彩条由FPGA内部逻辑产生,且是动态移动的,完全可模拟Sensor,输入源选择Sensor还是彩条,通过Sensor模块的顶层参数配置,默认选择Sensor输入;但在本FPGA实现网络摄像头方案中,动态彩条不可用;Sensor模块如下:
SENSOR_TYPE=0;则输出OV5640摄像头采集的视频;
SENSOR_TYPE=1;则输出动态彩条的视频;
但在本FPGA实现网络摄像头方案中,动态彩条不可用;
OV5640摄像头需要i2c初始化配置,本设计配置为1280x720@30Hz分辨率,本设计提供纯verilog代码实现的i2c模块实现配置功能;此外,OV5640摄像头还需要图像采集模块实现两个时钟输出一个RGB565的视频转换为一个时钟输出一个RGB888视频,本设计提供纯verilog代码实现的图像采集模块实现配置功能;动态彩条则由FPGA内部逻辑实现,由纯verilog代码编写;将OV5640摄像头配置采集和动态彩条进行代码封装,形成helai_OVsensor.v的顶层模块,整个模块代码架构如下:
QT上位机与FPGA数据交互逻辑
QT上位机与FPGA数据交互逻辑框图如下:
FPGA与QT上位机通信的具体协议为:
QT上位机首先向FPGA发送1个字节的数据包;
FPGA如果收到的是0x01,则表示通知FPGA可以开始发送视频数据给QT上位机了;
FPGA如果收到的是0x00,则表示通知FPGA立即停止发送视频数据给QT上位机;
FPGA收到单包数据0x01后,首先发送4个字节的视频分辨率信息给QT上位机;
高两个字节表示视频宽度;
低两个字节表示视频高度;
FPGA随后向QT上位机发送4字节的帧头,帧头被QT端写死为0xf05aa50f;
FPGA再发送有效视频数据给QT上位机;
FPGA收到单包数据0x00后,停止向QT上位机发送数据;
FPGA实时等待单包数据0x01的到来,若收到,继续发送视频数据;
指令控制模块
指令控制模块实现接收QT上位机发来的控制指令,即前面《QT上位机与FPGA数据交互逻辑》的第1和第3步;
QT上位机发送0x01,表示通知FPGA可以开始发送视频数据给QT上位机了;
QT上位机发送0x00,表示通知FPGA立即停止发送视频数据给QT上位机;
指令控制模块代码架构如下:
视频组包模块
视频组包模块负责将采集视频组包,以适应与QT上位机的对接,即前面《QT上位机与FPGA数据交互逻辑》的第2和第4步;
FPGA收到单包数据0x01后,首先发送4个字节的视频分辨率信息给QT上位机;
高两个字节表示视频宽度;
低两个字节表示视频高度;
FPGA随后向QT上位机发送4字节的帧头,帧头被QT端写死为0xf05aa50f;
FPGA再发送有效视频数据给QT上位机;
FPGA收到单包数据0x00后,停止向QT上位机发送数据;
FPGA实时等待单包数据0x01的到来,若收到,继续发送视频数据;
视频组包模块代码架构如下:
UDP协议栈
UDP协议栈是以太网的协议层,由纯verilog代码实现,占用逻辑资源少,性能不错,设计精简等特点,代码有详细中文注释,这里就不过多赘述,UDP协议栈代码架构如下:
RGMII互转GMII模块
RGMII互转GMII模块由纯verilog实现;功能是实现双沿采集的RGMII数据互转单沿采集的GMII数据,需要使用高云的IDDR和ODDR源语;模块代码架构如下:
PHY芯片
本例程提供5套vivado工程源码,分别用到了RTL8211、KSZ9031、YT8531等市面上主流的PHY型号,通过这些型号PHY的使用,你将能学会其他型号PHY的使用,因为很多都是兼容的;此外,还提供了PHY的参考原理图,一并放在了资料包中;如下:
QT上位机
QT上位机实现网络视频接收显示,QT上位机只是做简单的测试,只提供.exe执行文件,不提供源码,QT上位机使用界面如下:
QT上位机以放在资料包中,如下:
IP地址、端口号的修改
工程留出了IP地址、端口号的修改端口供用户自由修改,位置在顶层模块如下:
工程源码架构
以工程源码2为例,工程源码架构如下:
4、Gowin工程源码1详解:OV7725输入版本
开发板FPGA型号:国产高云GW5A-LV25UG324ES;
开发环境:Gowin-V1.9;
视频输入:OV7725摄像头;
输入分辨率:640x480@60Hz;
视频输出:以太网输出,千兆网UDP
以太网物理层方案:RTL8211F芯片,延时模式,RGMII接口;
以太网MAC层方案:纯verilog实现的RGMII互转GMII方案;
以太网协议层方案:千兆网版本的UDP协议栈,纯verilog实现;
网口数量:1个网口,即1个FPGA工程里运行1个UDP协议栈;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握国产高云FPGA实现网络摄像头方案的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
5、Gowin工程源码2详解:OV5640输入版本
开发板FPGA型号:国产高云GW5A-LV25UG324ES;
开发环境:Gowin-V1.9;
视频输入:OV5640摄像头;
输入分辨率:640x480@60Hz;
视频输出:以太网输出,千兆网UDP
以太网物理层方案:RTL8211F芯片,延时模式,RGMII接口;
以太网MAC层方案:纯verilog实现的RGMII互转GMII方案;
以太网协议层方案:千兆网版本的UDP协议栈,纯verilog实现;
网口数量:1个网口,即1个FPGA工程里运行1个UDP协议栈;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握国产高云FPGA实现网络摄像头方案的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
6、上板调试验证并演示
需要准备的器材如下:
FPGA开发板,没有开发板可以找本博提供;
网线;
电脑主机;
我的开发板了连接如下:
然后将电脑端IP地址设置为如下:
然后下载bit或者固化bin文件,即可开始测试;
ARP绑定
以管理员身份打开CDM(一定要管理员身份打开),做如下操作:
可以看到,PC已经识别并记录了FPGA网卡的ARP信息,并标记为静态;
QT上位机接收显示
打开QT上位机,配置如下:
国产高云FPGA实现UDP网络通信效果演示
国产高云FPGA实现UDP网络通信效果演示如下:
视频-UDP
7、工程源码
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:
此外,有很多朋友给本博主提了很多意见和建议,希望能丰富服务内容和选项,因为不同朋友的需求不一样,所以本博主还提供以下服务:
相关文章:

国产高云FPGA实现视频采集转UDP以太网输出,FPGA网络摄像头方案,提供2套Gowin工程源码和技术支持
目录 1、前言工程概述免责声明 2、相关方案推荐我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目国产高云FPGA基础教程国产高云FPGA相关方案推荐我这里已有的以太网方案 3、设计思路框架工程设计原理框图输入Sensor之-->OV7725摄像头输入Sensor之-->OV5640摄…...
【Linux基础知识系列】第十一篇-Linux系统安全
Linux系统安全是指通过一系列技术和管理措施,保护Linux系统免受各种威胁和攻击,确保系统的完整性、可用性和机密性。随着网络攻击手段的多样化和复杂化,Linux系统安全成为了系统管理员和开发者必须面对的重要课题。本文将从用户认证、权限管理…...
02.管理数据库
管理数据库 1. 创建数据库 mysql> create database db1; Query OK, 1 row affected (0.01 sec)mysql> show databases; -------------------- | Database | -------------------- | db1 | | hellodb | | information_schema | | m…...

Webpack依赖
Webpack到底怎么对我们的项目进行打包捏? 在webpack处理应用程序时,会根据命令或者配置文件找到入口文件 从入口开始,会生成一个依赖关系图,这个依赖关系图会包含应用程序中所需的所有模块(.js、css文件、图片、字体…...

自动驾驶科普(百度Apollo)学习笔记
1. 写在前面 在过去的几年里,自动驾驶技术取得飞速发展,人类社会正逐渐走向一个新时代,这个时代中,汽车不仅仅是一个交通工具,更是一个智能的、能够感知环境、做出决策并自主导航的机器伙伴。现在正好也从事这块的工作…...

leetcode_66.加一
题目链接 这道题归类在力扣的数学类中,应该算是一道思维的简单题吧 题是这样的,根据题目我们不难理解,这个题就是在最后一位加 1 然后返回,正如示例所说的那样,当然这很符合我们人的思维,写这种算法题最重要…...

iview-admin静态资源js按需加载配置
iview-admin2.0版本默认加载所有组件的JS,实际情况下,用户访问后台并不会每个页面都浏览。这样就会造成流量及带宽的浪费。可通过修改配置文件vue.config.js来实现按需加载,具体配置如图 image © 著作权归作者所有,转载或内容合作请联系…...
【学习笔记】深入理解Java虚拟机学习笔记——第3章 垃圾收集器与内存分配策略
第3章 垃圾收集器与内存分配策略 3.1 概述 略 3.2 对象已死? “死去”即不可能以任何途径访问到 3.2.1 引用计数算法 每个对象维护一个计数器,引用即加1,引用失效便减1。 3.2.2 可达性分析算法(主流) 即根据GC…...

抖去推--短视频矩阵系统源码开发
一、开发短视频矩阵系统的源码需要以下步骤: 确定系统需求: 根据客户的具体业务目标,明确系统需实现的核心功能模块,例如用户注册登录、视频内容上传与管理、多维度视频浏览与推荐、用户互动(评论、点赞、分享…...
Windows设置之网络路由
在 Windows 系统中,可以通过配置路由表来实现特定 IP 地址通过无线网卡(Wi-Fi)连接,而其他流量通过有线以太网连接。 比如,让101.132.45.129 走无线网卡,其他的走有线以太网的具体步骤如下: 通…...
发送文件脚本源码版本
V1 适配win10和 win11 #SingleInstance Force SendMode Input SetWorkingDir %A_ScriptDir%; Global variables global TaskList : [] global CurrentFileConfig : "current_file.ini" global RemainingFilesConfig : "remaining_files.ini" global File…...

Vue部署到Nginx上及问题解决
一、Vue打包 dist文件即打包文件 二、下载Nginx,将dist内容全部复制到Nginx的html下 三、修改Nginx的nginx.conf配置文件,添加try_files $uri $uri/ /index.html; try_files $uri $uri/ /index.html; 是 Nginx 配置中的一个重要指令,用于处理…...
MCP(Model Context Protocol)与提示词撰写
随着大模型(LLM)在复杂任务中的普及,如何让模型高效调用外部工具和数据成为关键挑战。传统函数调用(Function Calling)依赖开发者手动封装 API,而 MCP(Model Context Protocol) 通过…...
每日一令:Linux 极简通关指南 - 汇总
专栏列表 💻 每日一令:Linux 极简通关指南 (25篇) 【基础】每天掌握一个Linux命令 - nsenter:深入容器与命名空间的利器 发布于 2025-06-08 22:27:04【基础】 每天掌握一个Linux命令 - journalctl:系统日志管理的得力助手 发布于…...

项目-- Json-Rpc框架
目录 项目简介环境搭建Ubuntu-22.04 第三方库使用JsonCppMuduo基础类EventLoop类TcpConnection类Buffer类TcpClient类TcpServer类 服务端基本搭建客户端基本搭建 future 项目设计通用模块设计Rpc功能模块设计发现者设计提供者设计服务注册中心设计 Topic功夫模块设计主题管理中…...

因泰立科技H1X激光雷达:因泰立科技为智慧工业注入新动力
在当今工业领域,精准测量与高效作业是推动产业升级的关键因素。因泰立科技推出的H1X三维轮廓扫描激光雷达,凭借其卓越的性能和广泛的应用场景,正成为智慧工业中不可或缺的高科技装备。 产品简介 H1X三维轮廓扫描激光雷达是因泰立科技基于二维…...
day50 随机函数与广播机制
目录 一、随机张量的生成 1.1 torch.randn() 函数 1.2 其他随机函数 1.3 输出维度测试 二、广播机制 2.1 广播机制的规则 2.2 加法的广播机制 二维张量与一维向量相加 三维张量与二维张量相加 二维张量与标量相加 高维张量与低维张量相加 2.3 乘法的广播机制 批量…...
Codeforces Educational 179(ABCDE)
前言 byd这组题纯靠感觉是吧…^_^ b题赛时举了无数个例子都没想明白,然后一直卡到结束,后面题都没看到,结果补题的时候c题d题直接秒了…-_-|| A. Energy Crystals #include <bits/stdc.h> using namespace std;typedef long long …...
基于 actix-web 框架的简单 demo
以下是一个基于 actix-web 框架的简单 demo, 如果你还没有 Rust,我们建议你使用 rustup 来管理你的 Rust 安装。官方 Rust 指南有一个很棒的入门部分。 Actix Web 目前支持的最低 Rust 版本 (MSRV) 为 1.72。运行 rustup update…...

python:Tkinter 开发邮件客户端,能编写邮件,发送邮件带附件
Python Tkinter 邮件客户端 下面是一个使用 Python Tkinter 开发的简单邮件客户端,支持编写邮件和发送邮件功能: 功能说明 这个邮件客户端包含以下功能: 邮件编写功能: 收件人地址输入抄送地址输入邮件主题输入邮件正文编辑区&…...
CMake基础:gcc/g++编译选项详解
目录 1.编译步骤 2.gcc 与 g 区别 3.gcc 命令的常用选项 3.1.基础编译选项 3.2.优化选项 3.3.调试与分析选项 3.4.链接选项 3.5.语言特性选项(C 特化) 3.6.安全增强选项 3.7.架构与指令集优化 3.8.其他常用选项 4.常见编译组合示例 5.常用环…...

深入解析Java21核心新特性(虚拟线程,分代 ZGC,记录模式模式匹配增强)
文章目录 前言一、虚拟线程 (Virtual Threads - JEP 444) - 并发的革命1.1 解决的核心问题🎯1.2 工作原理与核心机制⚙️1.3 使用详解与最佳实践🛠️1.4 注意事项⚠️1.5 总结 📚 二、分代 ZGC (Generational ZGC - JEP 439) - 低延迟新高度2…...

免费批量去水印工具 - 针对文心一言生成图片
免费批量去水印工具 - 针对文心一言生成图片 工具介绍 这是一款免费的批量去水印工具,专门针对文心一言生成的图片进行处理。通过简单的操作,您可以快速去除图片中的水印。 下载链接 您可以通过以下网盘链接下载工具: 链接: https://pa…...
android 之 MediaExtractor
MediaExtractor 是Android多媒体处理的基础组件,解封装是其核心价值。 一、功能与定位 MediaExtractor 是Android多媒体框架中的媒体解封装工具,主要作用是从媒体文件(如MP4、MKV、MP3)中分离音视频轨道数据,为后续解…...
行业案例 | ASOS 借助 Azure AI Foundry(国际版)为年轻时尚爱好者打造惊喜体验
英国潮流电商ASOS借力微软Azure OpenAI,打造生成式AI购物新体验。平台整合大语言模型与推荐引擎,通过智能聊天交互帮年轻用户探索穿搭灵感,精准匹配近900个品牌的潮流单品,实现技术升级与个性化需求的双重突破。 使用 Azure Open…...

在WPS中如何启用宏VBA wps.vba.exe下载和安装
首先我们点击导航栏中的【工具】,点击左侧 运行宏,根据提示 点击 立即加载。加载卡在50%时间比较长,耐心等待。 关闭wps重新打开后, word和xls表格都可以使用了。 如果电脑无法联网,需要提前下载 WPS VBA插件 WPS VB…...
12.7Swing控件5 JProgressBar
Swing 进度条(JProgressBar)是用于可视化展示任务完成进度的组件,通常用于显示长时间运行任务的完成百分比。以下是关于 Swing 进度条的详细介绍: 1. 基本概念与用途 作用:直观展示任务完成进度,避免用户…...

Hardware-Efficient Attention for Fast Decoding
TL;DR 2025 年普林斯顿大学提出的硬件友好 attention 设计,在 MQA/GQA 与 deepseek 提出的 MLA 基础之上继续优化,提出 Grouped-Tied Attention (GTA) 和 Grouped Latent Attention (GLA),实现更高推理效率的同时也能保持较好的模型效果。 …...

LLMs 系列科普文(13)
十三、AlphaGO 提到强化学习的历史,不得不提到 alphago,如果你不记得这是什么了,那你是否还曾记得,早些年 AI 已经可以在围棋中击败人类选手了。 AlphaGO 系统又 DeepMind 公司开发,你可以在网络上找到当初人机大战的…...
kubernetes jenkins pipeline优化拉取大仓库性能指定分支+深度
有时候我们历史的git仓库,提交了某个比较大的文件如果不限制 depth ,就会拉取所有的历史提交记录,这样在历史仓库比较大的时候 clone 非常之慢,而实际上我们只需要最新的代码来构建就行了,为了优化性能,我们…...