当前位置: 首页 > news >正文

编译日志:关于编译opencv带有ffmpeg视频解码支持的若干办法

编译日志:关于编译opencv带有ffmpeg视频解码支持的若干办法

前言

​ 笔者这里是封装了简单的OpenCV视频播放抽象,然后却发现移植到Ubuntu和开发板上都罢工的事情,原来是Windows平台下我们是默认下载了ffmpeg的库的,但是在泛Linux平台下却不一定,因此,我们需要自己手动的构建ffmpeg + opencv联合编译。

​ 值得一题的是,因为笔者这里的IMX6ULL上没有硬件解码芯片,因此笔者需要自己客制化ffmpeg,所以这里笔者打算介绍一下ffmpeg的编译方式 + OpenCV如何进一步的进行调整

编译ffmpeg

​ 由于我当时是想将ffmpeg同时用在作为QMultiMedia的后端,因此我下载了我使用的Qt6.8.3推介的ffmpeg分支:

git clone --branch n7.1 https://git.ffmpeg.org/ffmpeg.git ffmpeg

​ 这个是文档中给出的,地址在Building FFmpeg from source on Linux | Qt Multimedia | Qt 6.9.0,当然,你可以自己选择根据自己项目的ffmpeg,这里跟我们的OpenCV编译是没有关系的,但是ffmpeg的接口在不同的版本不一样,所以你最好是看看opencv要的是哪个版本的接口(看Documentations),笔者因为编译的是最新的OpenCV4.12.0,所以这个branch的ffmpeg当然能用。

​ 下载好了ffmpeg后,写一个构建脚本表明自己需要哪些东西被编译:

➜  cat auto.sh 
./configure \--prefix=/home/charliechen/imx6ull/ffmpeg-arm-dynamic \--cross-prefix=arm-linux-gnueabihf- \--target-os=linux \--arch=arm \--enable-cross-compile \--disable-static \--enable-shared \--disable-doc \--disable-programs \--disable-everything \--enable-avformat \--enable-avcodec \--enable-avutil \--enable-swresample \--enable-swscale \--enable-decoder=mp3,aac,flac,h264 \--enable-demuxer=mp3,aac,flac,h264,mov,matroska \--enable-parser=mp3,aac,h264 \--enable-protocol=file \--disable-network \--disable-iconv \--disable-zlib \--disable-bzlib \--disable-encoders \--disable-muxers \--disable-filters \--disable-hwaccels \--disable-postproc \--disable-debug \--extra-cflags="-O2 -march=armv7-a -mfpu=neon -mfloat-abi=hard"

​ 这里笔者说明一下这些参数的含义,这里是交叉编译成动态库的版本,笔者发现默认的OpenCV是需要ffmpeg动态库的,当然你可以设置CMake要的FFMPEG是静态连接,但是笔者没有尝试,这个留给大家尝试

  • --prefix=/home/charliechen/imx6ull/ffmpeg-arm-dynamic
    作用:指定 FFmpeg 的安装路径,编译后的库和头文件会安装到这个目录。
    用途:方便后续程序链接动态库。

  • --cross-prefix=arm-linux-gnueabihf-
    作用:指定交叉编译工具链的前缀(如 arm-linux-gnueabihf-gcc)。
    用途:用于 ARM 平台的交叉编译。

  • --target-os=linux
    作用:指定目标操作系统为 Linux。
    用途:确保生成适用于 Linux 的二进制文件。

  • --arch=arm
    作用:指定目标 CPU 架构为 ARM。
    用途:生成 ARM 指令集的代码。

  • --enable-cross-compile
    作用:显式启用交叉编译模式。
    用途:确保配置脚本正确处理交叉编译环境。

  • --disable-static
    作用:禁用静态库(.a 文件)的生成。
    用途:减少编译输出体积,仅生成动态库。

  • --enable-shared
    作用:启用动态库(.so 文件)的生成。
    用途:生成动态链接库,便于多程序共享。

  • --disable-doc
    作用:跳过文档生成。
    用途:减少编译时间和依赖。

  • --disable-programs
    作用:不编译 ffmpegffplay 等命令行工具。
    用途:仅生成库文件,适用于嵌入式场景。

  • --disable-everything
    作用:禁用所有默认启用的组件。
    用途:允许后续通过 --enable-xxx 手动启用需要的功能,实现极致裁剪。

  • --enable-avformat--enable-avcodec
    作用:选择性启用核心库(如封装、编解码、工具库等)。
    用途:仅保留必要的功能模块。

  • --enable-decoder=mp3,aac,flac,h264
    作用:仅启用指定的解码器(MP3、AAC、FLAC、H.264)。
    用途:减少不必要的解码器,节省空间。

  • --enable-demuxer=mp3,aac,flac,h264,mov,matroska
    作用:启用指定的解复用器(支持 MP3、AAC、FLAC、H.264、MOV、MKV 等容器格式)。
    用途:仅支持目标平台需要的容器格式。

  • --enable-parser=mp3,aac,h264
    作用:启用指定的解析器(用于解码前的数据解析)。
    用途:优化解码流程。

  • --enable-protocol=file
    作用:仅启用 file 协议(本地文件访问)。
    用途:禁用网络功能(如 HTTP、RTMP),提高安全性。

  • --disable-network
    作用:彻底禁用所有网络相关功能。
    用途:嵌入式设备可能不需要网络流媒体支持。

  • --disable-iconv--disable-zlib--disable-bzlib
    作用:禁用字符编码转换、Zlib/BZip2 压缩支持。
    用途:进一步减少依赖和体积。

  • --disable-encoders--disable-muxers
    作用:禁用所有编码器和复用器。
    用途:仅需解码功能时使用。

  • --disable-filters--disable-hwaccels--disable-postproc
    作用:禁用滤镜、硬件加速和后处理。
    用途:简化功能,适用于资源受限设备。

  • --disable-debug
    作用:禁用调试信息。
    用途:减少二进制体积,提高性能。

  • --extra-cflags="-O2 -march=armv7-a -mfpu=neon -mfloat-abi=hard"
    作用:传递额外的编译选项:

    • -O2:启用优化,平衡性能和体积。
    • -march=armv7-a:指定 ARMv7-A 架构(i.MX6ULL 的 Cortex-A7 兼容)。
    • -mfpu=neon:启用 NEON 浮点加速指令。
    • -mfloat-abi=hard:使用硬件浮点(与工具链配置一致)。
      用途:针对目标芯片优化性能。

​ 为了UBuntu上位机也Mirror一份环境,我们只需要稍微改一下架构即可。

./configure \--prefix=/home/charliechen/imx6ull/ffmpeg-x86 \--target-os=linux \--disable-static \--enable-shared \--disable-doc \--disable-programs \--disable-everything \--enable-avformat \--enable-avcodec \--enable-avutil \--enable-swresample \--enable-swscale \--enable-decoder=mp3,aac,flac,h264 \--enable-demuxer=mp3,aac,flac,h264,mov,matroska \--enable-parser=mp3,aac,h264 \--enable-protocol=file \--disable-network \--disable-iconv \--disable-zlib \--disable-bzlib \--disable-encoders \--disable-muxers \--disable-filters \--disable-hwaccels \--disable-postproc \--disable-debug

PS:如果交叉编译它告诉你LD的时候文件格式非法,转向make clean清理构建的同时export LD=/path/to/cross_compile_ld即可,说明LD连接器还是用了宿主机的。

OpenCV对接

​ OpenCV的对接上,笔者看了非常多的博客,发现这些博客对pkgconfig和CMake构建系统的认知匮乏,绕了好大的弯子,实际上,完全可以通过给定pkgconfig的环境变量解决这个事情。

上位机的编译

​ 对于上位机的编译,我们跟往常一样,只需要在同一个shell中给定pkgconfig的搜索路径即可

export PKG_CONFIG_PATH=/path/to/x86/ffmpeg/lib/pkgconfig;$PKG_CONFIG_PATH  # 指向检索ffmpeg的pkgconfig路径即可

​ 之后,我们在同一个环境下起cmake-gui,让cmake-gui继承环境变量,就可以让CMake找到我们的ffmpeg了,注意的是,让CMake决议认为ffmpeg不存在的原因非常多,如果你这样搞不定,去检索FFMPEG的cmake文件下打日志解决,看看哪些地方被否掉了导致判定ffmpeg不存在。

​ 需要注意的是,你必须看到这样的结果日志:

--   FFMPEG:                      YES
--     avcodec:                   YES (ver x.x.x)
--     avformat:                  YES (ver x.x.x)
--     avutil:                    YES (ver x.x.x)
...

​ 任何一点不一样,你的ffmpeg就会集成失败,问题留到后面是很麻烦的,立马解决。

下位机ARM32编译

​ OpenCV禁掉了使用PKG_CONFIG_PATH来指定交叉编译库路径的可能。

OpenCV disables pkg-config to avoid using of host libraries. Consider using PKG_CONFIG_LIBDIR to specify target SYSROOT

​ 这个事情我们的CMake日志就告诉了我们的解决方案,是转向定义:

export PKG_CONFIG_LIBDIR=/path/to/arm/ffmpeg/lib/pkgconfig;$PKG_CONFIG_LIBDIR

​ 现在就可以了。然后剩下的配置如法炮制即可。没有任何其他的变化!

相关文章:

编译日志:关于编译opencv带有ffmpeg视频解码支持的若干办法

编译日志:关于编译opencv带有ffmpeg视频解码支持的若干办法 前言 ​ 笔者这里是封装了简单的OpenCV视频播放抽象,然后却发现移植到Ubuntu和开发板上都罢工的事情,原来是Windows平台下我们是默认下载了ffmpeg的库的,但是在泛Linu…...

djinn: 3靶场渗透

djinn: 3 来自 <https://www.vulnhub.com/entry/djinn-3,492/> 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182&#xff0c;靶场IP192.168.23.243 3&#xff0…...

WHAT - 简单服务发现

文章目录 简单理解举个例子简单服务发现方式1. 静态配置&#xff08;最简单&#xff0c;但不灵活&#xff09;2. DNS 发现3. 使用服务注册中心&#xff08;稍高级&#xff09; 总结 “简单服务发现”&#xff08;Simple Service Discovery&#xff09;通常指的是一种让系统中的…...

auto推导类型原则

auto 是 C11 引入的类型自动推导关键字&#xff0c;它允许编译器根据表达式的类型来推导变量的确切类型。虽然使用 auto 可以让代码更简洁&#xff0c;但理解它的类型推导规则非常关键&#xff0c;尤其是在涉及指针、引用、const、模板等场景时。 ✅ 一、基本推导原则 auto x …...

44.辐射发射整改简易摸底测试方法

辐射发射整改简易摸底测试方法 1. 正式摸底预测试2. 简易方法预测试3. 分析频谱4. 探查传播路径5. 施加措施6. 与简易方法预测试效果对比 1. 正式摸底预测试 去正式实验室做一次预测试&#xff0c;取得频谱图&#xff1b;确定超标频点和超标量&#xff08;备用&#xff09;。 …...

初识C++:入门基础(二)

概述&#xff1a;该篇博客主要介绍C的缺省函数、函数重载、和引用等知识。 目录 1. 缺省参数 2. 函数重载 3. 引用 3.1 引用的概念和定义 3.2 引用的特性 3.3 引用的使用 3.4 const引用 3.5 指针和引用的关系 4. nullptr 5. 小结 1. 缺省参数 缺省参数是声明或定义函…...

我国脑机接口市场规模将破38亿元,医疗领域成关键突破口

当人类仅凭"意念"就能操控无人机编队飞行&#xff0c;当瘫痪患者通过"脑控"重新站立行走&#xff0c;这些曾只存在于科幻电影的场景&#xff0c;如今正通过脑机接口技术变为现实。作为"十四五"规划中重点发展的前沿科技&#xff0c;我国脑机接口…...

笔记,麦克风的灵敏度

麦克风的“灵敏度&#xff08;Sensitivity&#xff09;”决定了它捕捉声音细节的能力。想象麦克风是一只有耳朵的生物。高灵敏度麦克风像长着“超级顺风耳”的精灵&#xff0c;能听见花瓣飘落的声音、远处树叶的沙沙声&#xff0c;甚至你心跳的微弱震动。适合录音棚里捕捉歌手的…...

国产linux系统(银河麒麟,统信uos)使用 PageOffice 在线打开Word文件,并用前端对话框实现填空填表

不管是政府机关、公司企业&#xff0c;还是金融行业、教育行业等单位&#xff0c;在办公过程中都经常需要填写各种文书和表格&#xff0c;比如通知、报告、登记表、计划表、申请表等。这些文书和表格往往是用Word文件制作的模板&#xff0c;比方说一个通知模板中经常会有“关于…...

AKS 支持 Kata Container容器沙盒 -预览阶段

您准备好提升您的云和 DevOps 技能了吗&#xff1f; &#x1f425;《云原生devops》专门为您打造&#xff0c;我们精心打造的数十篇文章库&#xff0c;这些文章涵盖了 Azure、AWS 和 DevOps 方法论的众多重要主题。无论您是希望精进专业知识的资深专业人士&#xff0c;还是渴望…...

Ubuntu通过源码编译方式单独安装python3.12

1、安装依赖 sudo apt-get install zlib1g sudo apt-get install zlib1g-dev sudo apt-get install openssl sudo apt-get install libssl-dev2、编译源码并安装 wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tar.xz tar -xvf Python-3.12.0.tar.xz cd Pyth…...

【某OTA网站】phantom-token 1004

新版1004 phantom-token 请求头中包含phantom-token 定位到 window.signature 熟悉的vmp 和xhs一样 最新环境检测点 最新检测 canvas 下的 toDataURL方法较严 过程中 会用setAttribute给canvas 设置width height 从而使toDataURL返回不同的值 如果写死toDataURL的返回值…...

游戏引擎学习第266天:添加顶部时钟概览视图。

简要讨论使用第三方调试工具或在多个项目中复用自己的调试工具 今天的工作主要是在提升调试界面的可用性和美观性。昨天已经整理了布局代码&#xff0c;今天的目标是继续优化调试界面&#xff0c;使其更易用。我们已经为调试工具添加了许多新功能&#xff0c;并且在实现过程中…...

霸王茶姬微信小程序自动化签到系统完整实现解析

霸王茶姬微信小程序自动化签到系统完整实现解析 技术栈&#xff1a;Node.js 微信小程序API MD5动态签名 一、脚本全景架构 功能模块图 #mermaid-svg-0vx5W2xo0IZWn6mH {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-s…...

AI与自然语言处理(NLP):从BERT到GPT的演进

AI与自然语言处理&#xff08;NLP&#xff09;&#xff1a;从BERT到GPT的演进 系统化学习人工智能网站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目录 AI与自然语言处理&#xff08;NLP&#xff09;&#xff1a;从BERT到GPT的演进摘要引言…...

TRO高能预警,Keith律所×Tane Hannah Meets版权两案王炸维权

紧急避雷贴&#xff0c;keith律所代理Tane Hannah Meets 10个版权连发两案突袭跨境圈&#xff01;案件详情如下&#xff1a; 案件基本情况&#xff1a; 起诉时间&#xff1a;2025-5-8 案件号&#xff1a;25-cv-05079、25-cv-05088 品牌&#xff1a;Tane Meets Works 原告&…...

在 Spring Boot 中选择合适的 HTTP 客户端

在现代的 Spring Boot 应用程序中&#xff0c;与外部服务进行 HTTP 通信是一个常见的需求。Spring Boot 提供了多种方式来实现 HTTP 请求&#xff0c;包括 Java 的 HttpClient、Spring 的 RestTemplate、WebClient&#xff0c;以及第三方库如 Apache HttpClient。本文将详细介绍…...

Go语言中 源文件开头的 // +build 注释的用法

// build注释主要用于实现条件编译。借助设置不同的构建标签&#xff08;build tags&#xff09;&#xff0c;我们能够指定在特定的操作系统、架构或者其他自定义条件下才编译某个文件 1、基本规则 格式要求&#xff1a; 这种注释必须出现在文件的开头部分。注释与包声明之间至…...

C++八股 —— map/unordered_map

1. 底层数据结构 map —— 红黑树 随处可见的红黑树&#xff1a;原理、实现及应用场景 - 知乎 unordered_map —— 散列表 [C] 哈希表&#xff08;散列表&#xff09;详解_c哈希表-CSDN博客 2. 常见面试题 底层为红黑树的容器有哪些 mapmultimapsetmultiset 红黑树和AVL树…...

PostgreSQL创建只读账号

环境说明 部署环境&#xff1a;linux服务器docker容器部署 数据库&#xff1a;PostgreSQL 成果 只读账号/密码&#xff1a;read_only/xxx123 授权可读库&#xff1a;xxx、xxxdata 操作过程 #进入PostgreSQL容器&#xff08;如果你没有用docker容器忽略这一步就可以了&#xff…...

DVWA靶场保姆级通关教程--06不安全验证机制

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 原理详解 1. 前后端验证逻辑不一致 2. 验证码值保存在客户端 3. 验证码可预测或重复 4. 验证码验证与逻辑解耦 一、处理关卡报错 二、low级别源…...

【日撸 Java 三百行】Day 7(Java的数组与矩阵元素相加)

目录 Day 7&#xff1a;Java 的数组与矩阵元素相加 一、基本知识 二、矩阵的建立与基本计算 三、代码及测试 拓展&#xff1a;Arrays类详解 小结 Day 7&#xff1a;Java 的数组与矩阵元素相加 Task&#xff1a; 矩阵的赋值.二重循环. 一、基本知识 在学习 Java 中的数组与矩…...

【递归、搜索和回溯】递归、搜索和回溯介绍及递归类算法例题

个人主页 &#xff1a; zxctscl 专栏 【C】、 【C语言】、 【Linux】、 【数据结构】、 【算法】 如有转载请先通知 文章目录 递归、搜索和回溯递归搜索VS 深度优先遍历 VS 深度优先搜索 VS 宽度优先遍历 VS 宽度优先搜索 VS 暴搜回溯与剪枝 1 面试题 08.06. 汉诺塔问题1.1 分析…...

2025最新精选5款3DMAX建筑可视化插件

在3DMAX建筑可视化领域&#xff0c;各类工具如同繁星般璀璨&#xff0c;它们为设计师们搭建起通往理想作品的桥梁。今天&#xff0c;就让我们一同走进几款极具特色的工具——RetailStore插件、2Dto3D插件、DrawFloorPlan插件、MaxToCAD插件以及EXR透视贴图技术&#xff0c;探寻…...

麒麟系统使用-个性化设置

文章目录 前言一、个性化设置-背景二、个性化设置-主题三、个性化设置-锁屏四、个性化设置-屏保五、个性化设置-字体总结 前言 与windows系统相比&#xff0c;麒麟系统中的个性化设置大体相似&#xff0c;在细节上稍有不同。本文将讲述麒麟系统中的个性化设置中的各个模块。 一…...

flask开启https服务支持

目录 一、背景 二、开启https支持 三、自签名 1、安装openssl 2、验证安装 3、自签名 四、编写代码 五、访问https接口 一、背景 最近在做自动化业务&#xff0c;需要兼容现在主流的框架开发的前端页面&#xff0c;于是到github找到了几个项目&#xff0c;clone下来项目并…...

CNN处理图片

In [5]: 123456789101112131415161718192021222324252627282930313233import tensorflow as tf​import matplotlib.pyplot as plt​import numpy as np​​​​# 平滑均值滤波#KaTeX parse error: Expected EOF, got _ at position 14: \text {filter_̲{arg}np.}.full (sha…...

【Bootstrap V4系列】学习入门教程之 组件-表单(Forms)

Bootstrap V4系列 学习入门教程之 组件-表单&#xff08;Forms&#xff09; 表单&#xff08;Forms&#xff09;一、Overview二、Form controls 表单控件2.1 Sizing 尺寸2.2 Readonly 只读2.3 Readonly plain text 只读纯文本 三、Checkboxes and radios 复选框和单选框3.1 Def…...

图像来源:基于协同推理的双视角超声造影分类隐式数据增强方法|文献速递-深度学习医疗AI最新文献

Title 题目 Image by co-reasoning: A collaborative reasoning-based implicit data augmentation method for dual-view CEUS classification 图像来源&#xff1a;基于协同推理的双视角超声造影分类隐式数据增强方法 01 文献速递介绍 结合了B型超声&#xff08;BUS&…...

MySQL性能分析工具:SHOW PROCESSLIST

概述 以下是一份详细的 MySQL SHOW PROCESSLIST 使用教程&#xff0c;帮助您监控和分析数据库当前活动&#xff0c;快速定位性能问题资料已经分类整理好&#xff0c;喜欢的朋友自取&#xff1a;https://pan.quark.cn/s/f52968c518d3 1. 命令基本作用 SHOW PROCESSLIST 显示当…...

Linux网络编程day8本地套接字

本地套接字 利用cs模型实现本地套接字完成进程间通信 对比网络编程TCP C/S模型&#xff0c;注意以下几点 1、int socket(int domain, int type, int protocol); domain-->AF_INET改为AF_UNIX , type都可写SOCK_STREAM/SOCK_DGRAM2、地址结构 sockaddr_in -->sockadd…...

使用 React Native实现鸿蒙开发的详细方案

一、环境准备 1. 基础环境要求 操作系统:Windows 10/11 或 macOS (建议版本最新)Node.js: v16.x 或更高版本npm: v8.x 或更高版本Java JDK: 11 或更高版本DevEco Studio: 3.1 或更高版本 (鸿蒙官方IDE)2. 安装 DevEco Studio 从华为开发者官网下载安装时选择以下组件: Harmo…...

WebRTC流媒体传输协议RTP点到点传输协议介绍,WebRTC为什么使用RTP协议传输音视频流?

通过上一章《WebRTC工作原理详细介绍、WebRTC信令交互过程和WebRTC流媒体传输协议介绍》&#xff0c;我们知道WEBRTC在完成 SDP 协商和 ICE 候选交换信令后&#xff0c;双方就可以建立 RTP 流&#xff0c;开始传输音视频数据&#xff0c;这时&#xff0c;RTP 数据包就通过在 IC…...

【Unity笔记】PathCreator使用教程:用PathCreator实现自定义轨迹动画与路径控制

在Unity开发过程中&#xff0c;角色移动、摄像机动画、轨道系统、AI巡逻等功能中&#xff0c;路径控制是常见又复杂的需求之一。如何优雅、高效地创建路径并控制对象沿路径运动&#xff0c;是游戏开发、动画制作乃至工业仿真中的关键问题。 在这篇文章中&#xff0c;我将介绍一…...

生产安全管理系统标杆

生产安全不容小视&#xff0c;防患于未然是企业安全生产的基石。好的安全预防系统能让隐患产生最初就被扼杀在摇篮里。国内一些好的生产安全防范系统也有很多&#xff0c;今天我们主要介绍一下众联心安这款产品。 安全生产管理,目标制度管理,风险隐患管理,应急安全管理,设备设…...

temu采购自养号全流程解析:从账号搭建到安全下单的技术闭环

temu 自养号采购下单技术是一个精细的过程&#xff0c;需要从多个方面进行考虑和操作&#xff0c;其核心在于通过技术手段模拟真实用户行为&#xff0c;构建独立、安全的账号环境以确保账号的安全性、真实性和采购下单的成功率。以下是对该技术的详细解析 1. 账号准备 手机号…...

MySQl 数据库操作

目录 一、MySQL 数据库介绍 二、MySQl 库操作 1. 系统数据库 2. 数据库操作 &#xff08;1&#xff09;创建数据库 &#xff08;2&#xff09;数据库命名规则 &#xff08;3&#xff09;选择数据库 &#xff08;4&#xff09;查看数据库 &#xff08;5&#xff09;删除…...

OpenHarmony launcher开发——删除dock栏

开发环境 OpenHarmony 5.0.0 代码修改 效果...

zst-2001 历年真题 设计模式

设计模式 - 第1题 a 设计模式 - 第2题 一个产品可以产生多个就是抽象&#xff0c;一个就是工厂 比如这样 第二题a是意图 bc: d 设计模式 - 第3题 b 设计模式 - 第4题 类图里全是builder,疯狂暗示 设计模式 - 第5题 aa 设计模式 - 第6题 只有工厂方法是创…...

Vue3 + Element Plus 动态表单实现

完整代码 <template><div class"dynamic-form-container"><el-formref"dynamicFormRef":model"formData":rules"formRules"label-width"auto"label-position"top"v-loading"loading"&g…...

QML AnimatedImage组件详解

目录 引言相关阅读基础知识&#xff1a;AnimatedImage核心属性与方法工程结构与示例展示工程结构示例1&#xff1a;可控制播放/暂停的AnimatedImage示例2&#xff1a;带进度条的AnimatedImage主界面整合&#xff08;SwipeView滑动展示&#xff09; 总结下载链接 引言 在UI开发…...

Ascend的aclgraph(2)_npu_backend中还有些什么秘密?

1 _npu_backend 文章还是从代码开始 import torch_npu, torchair config torchair.CompilerConfig() # 设置图下沉执行模式 config.mode "reduce-overhead" npu_backend torchair.get_npu_backend(compiler_configconfig) opt_model torch.compile(model, back…...

免布线视频桩:智慧城市停车降本增效的破局利器

在智慧城市建设的进程中&#xff0c;传统停车管理面临成本高、效率低、施工复杂等难题。而视频桩作为创新解决方案&#xff0c;以“免布线、智能化”为核心&#xff0c;正逐步改变这一局面。视频桩通过融合物联网与AI技术&#xff0c;实现自动化监测与数据实时管理&#xff0c;…...

Vulfocus靶场-文件上传-2

monstra 文件上传 &#xff08;CVE-2020-13384&#xff09; Monstra 是一个现代化的轻量级内容管理系统。它易于安装、升级和使用。 Monstra CMS 3.0.4版本中存在着一处安全漏洞&#xff0c;该漏洞源于程序没有正确验证文件扩展名。攻击者可以上传特殊后缀的文件执行任意PHP代…...

nvidia-smi 和 nvcc -V 作用分别是什么?

命令1&#xff1a;nvidia-smi 可以查看当前显卡的驱动版本&#xff0c;以及该驱动支持的CUDA版本。 命令2&#xff1a;nvcc -V 可以看到实际安装的CUDA工具包版本为 12.8 更详细的介绍&#xff0c;可以参考如下链接...

力扣刷题(第二十一天)

灵感来源 - 保持更新&#xff0c;努力学习 - python脚本学习 二叉树的最大深度 解题思路 这道题要求计算二叉树的最大深度&#xff0c;即从根节点到最远叶子节点的最长路径上的节点数。可以使用递归或迭代方法解决&#xff1a; 递归法&#xff08;推荐&#xff09;&#…...

AIOps 工具介绍

AIOps&#xff08;智能运维&#xff09;是通过人工智能技术优化IT运维流程的实践&#xff0c;其核心在于利用机器学习、大数据分析等技术实现运维自动化与智能化。以下从定义、核心价值、技术架构及工具等方面展开说明&#xff1a; 一、AIOps的定义与核心价值 AIOps&#xff0…...

4.3【LLaMA-Factory实战】教育大模型:个性化学习路径生成系统全解析

【LLaMA-Factory实战】教育大模型&#xff1a;个性化学习路径生成系统全解析 一、引言 在教育领域&#xff0c;传统"一刀切"的教学模式难以满足学生的个性化需求。本文基于LLaMA-Factory框架&#xff0c;详细介绍如何构建一个个性化学习路径生成系统&#xff0c;包…...

如何构建容器镜像并将其推送到极狐GitLab容器镜像库?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 构建容器镜像并将其推送到容器镜像库 (BASIC ALL) 在构建和推送容器镜像之前&#xff0c;您必须通过容器镜像库的身份验证。 …...

雷赛伺服L7-EC

1电子齿轮比&#xff1a; 电机圈脉冲1万 &#xff08;pa11的值 x 4倍频&#xff09; 2电机刚性&#xff1a; pa003 或者 0x2003 // 立即生效的 3LED显示&#xff1a; PA5.28 1 电机速度 4精度&#xff1a; PA14 //默认30&#xff0c;超过3圈er18…...