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

QMPlay 编译

编译环境介绍

win11,msys2,vscode, cmake
首先下载相关依赖;
本文使用的ffmpeg5.1,qt6,libass。

安装libass

pacman -S mingw-w64-x86_64-libass # 64位系统

安装Ninja

pacman -S mingw-w64-x86_64-ninja  # 64位系统

qt安装

在windows下安装Qt,具体可以参考安装qt
需要选择Qt版本6以上的,本文位6.5.3,选择build Tools位MinGW * 64bit

ffmpeg编译安装

编译libx264

首先clone仓库
git clone https://gitee.com/mirrors_addons/x264.git

git clone https://gitee.com/mirrors_addons/x264.git
cd x264
./configure \--prefix=/home/xxfc/ffmpeg/build/libx264 \--host=x86_64-w64-mingw32 \--enable-static \--enable-shared \--extra-ldflags="-Wl,--output-def=libx264.def"
make 
make install  

下载并编译libfdk-aac

git clone --depth 1 https://gitee.com/mirrors/fdk-aac.git 2 
cd fdk-aac
./configure \--prefix=/home/xxfc/ffmpeg/build/libfdk-aac\--enable-static \--enable-shared make
make install

下载并编译libmp3lame

git clone --depth 1 https://gitee.com/hqiu/lame.git
./configure \--prefix=/home/xxfc/ffmpeg/build/libmp3lame\--disable-frontend \--enable-static \--enable-shared 
make & make install

下载编译libmpvpx

git clone --depth 1 https://github.com/webmproject/libvpx.git
cd libvpx
./configure \--prefix=/home/xxfc/ffmpeg/build/libmpvpx\--disable-examples --disable-unit tests --enable-vp9-highbitdepth --as=yasm
make & make install

编译ffmpeg

git clone https://gitee.com/mirrors/ffmpeg.git
cd ffmpeg
git branch -r
git checkout -b ffmpeg5.1 remotes/origin/release/5.1
./configure \--prefix=/home/xxfc/ffmpeg/build/ffmpeg-5.1 \--arch=x86_64 \--enable-shared \--enable-static \--enable-gpl \--enable-nonfree \--enable-libfdk-aac \--enable-libvpx \--enable-libx264 \--enable-libmp3lame \--extra-cflags="-I/home/xxfc/ffmpeg/build/libfdk-aac/include \-I/home/xxfc/ffmpeg/build/libvpx/include \-I/home/xxfc/ffmpeg/build/libx264/include \-I/home/xxfc/ffmpeg/build/libmp3lame/include" \--extra-ldflags="-L/home/xxfc/ffmpeg/build/libfdk-aac/lib \-L/home/xxfc/ffmpeg/build/libvpx/lib \-L/home/xxfc/ffmpeg/build/libx264/lib \-L/home/xxfc/ffmpeg/build/libmp3lame/lib"
make -j8 and make install

这里的--enable-shared是构建动态库,--enable-static是构建静态库。
--extra-cflags, --extra-ldflags 是用于指定编译 FFmpeg 时所需的头文件路径和库文件路径。相当于cmake中


# 包含头文件路径
include_directories(/home/xxfc/ffmpeg/build/libfdk-aac/include/home/xxfc/ffmpeg/build/libvpx/include/home/xxfc/ffmpeg/build/libx264/include/home/xxfc/ffmpeg/build/libmp3lame/include
)# 添加库文件搜索路径
link_directories(/home/xxfc/ffmpeg/build/libfdk-aac/lib/home/xxfc/ffmpeg/build/libvpx/lib/home/xxfc/ffmpeg/build/libx264/lib/home/xxfc/ffmpeg/build/libmp3lame/lib
)

编译QMPlayer2

clone项目,地址https://github.com/zaps166/QMPlay2.git
使用VSCode打开项目,VSCode安装好CMake插件。
使用编译工具位GCC Mingw32

在VSCode新建文件夹.vscode,创建settings.json,内容如下,具体路径需自己调整。

{"cmake.generator": "Ninja","cmake.configureSettings": {"CMAKE_PREFIX_PATH": "D:\\Qt\\6.5.3\\mingw_64\\lib\\cmake","BUILD_WITH_QT6": "ON","CMAKE_LIBRARY_PATH": "D:\\Dev\\ffmpeg-5.1\\lib;","CMAKE_INCLUDE_PATH": "D:\\Dev\\ffmpeg-5.1\\include;",}
}

在VSCode下ctrl+shift+p,调用命令行,执行CMake:Configure,之后直接build

之后运行会缺少动态库,需要使用Dependencies工具查找可执行文件所需的依赖。工具连接

此时直接运行会出现qt plugin 的依赖缺少。如下

将qt下的plugin platform文件夹复制到可执行文件中。

再次运行

到此编译结束。

http://www.jsqmd.com/news/20236/

相关文章:

  • 详细介绍:如何实现多人协同文档编辑器
  • Java基础全面复盘:从入门到进阶的核心要点梳理
  • 【STM32H743IIT6 系列】通过 LTDC接口驱动的 TFTLCD(RGB屏)显示
  • 10.22 —— 2024icpc沈阳D,E,B,M
  • AGV 系统的内部物流与装配智能化方案设计:应用场景与核心优势详解 - 实践
  • 报表过滤框设置默认组织提示死循环
  • UiPath License
  • 一些变换
  • vue项目浏览器内存不断增加
  • 基于伪距差分定位技术实现方案
  • prometheus服务的客户端
  • AI 辅助开发工具
  • 网安人必看!2025年最硬核的20+变现路径,学生党也能月入4位数。 - 详解
  • SightAI 企业级实战:构建高可用、低成本的 AI 应用架构 - sight
  • 应用安全 --- 安卓加固 之 软件安装白名单
  • 应用安全 --- 安卓加固 之 软件安装白名单
  • Go开发者必备:5款提升代码质量的顶级Linter工具
  • 函数作用域在解决 JavaScript 自定义元素类跨环境兼容问题中的应用
  • React-router v6学生管理系统笔记 - 教程
  • NOIP模拟赛R8
  • 深入解析:本机网速会影响到云手机的运行吗
  • 交互的脉络:小程序事件平台详解
  • 基于MATLAB的Copula函数实现
  • 2025年国产助听器品牌推荐榜:聚焦专业适配,杭州爱听科技引领国产助听新体验​
  • 2025 年PPR家装管厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 钡铼技术预测:未来工业AI发展的七大趋势
  • 2025 年废气处理设备厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025 年集成房屋生产厂家最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025 年东莞石排到南通物流专线公司最新推荐榜:聚焦企业专利技术、品质管控及知名客户合作案例的权威解析
  • 2025 年北京品牌设计公司最新推荐榜,聚焦企业专业能力与服务价值深度剖析