Qt6.8.2创建WebAssmebly项目使用FFmpeg资源

Qt6新出了WebAssmebly功能,可以将C++写的软件到浏览器中运行,最近一段时间正在研究这方便内容,普通的控件响应都能实现,今天主要为大家分享如何将FFmpeg中的功能应用到浏览器中。

开发环境:window11,Qt6.8.2

功能介绍

(一)编译FFmpeg

之前使用FFmpeg解码器时没有编译过,想要在WebAssmebly套件环境中使用FFmpeg时,不能使用dll的方式,所以只能手动编译,这个步骤对我来说还是有一定难度的,不是不会编译,而是编译出来的内容,无法在QtCreator中应用。

接下来我来详细讲述下如何编译FFmpeg并使用。

1:下载MSYS2环境

因为FFmpeg不支持在window环境下编译,所以这里借助了MSYS2环境,具体的安装包可以从官网上下载就行。MSYS2官网链接

安装的时候默认是C盘,考虑到后期电脑运行状态,我选择安装到了D盘,不受任何影响的。

 选择MSYS2 MINGW64方式进行编译

2:更新MSYS2和MINGW

控制台输入以下命令

pacman --sync --refresh --refresh
pacm
### 如何配置 MSVC 编译器用于 Qt 6.8.2 尽管推荐使用 MinGW 开发环境来简化编译流程[^1],但在某些场景下可能需要使用 Microsoft Visual C++ (MSVC) 来构建项目。以下是关于如何设置和使用 MSVC 编译器与 Qt 6.8.2 的说明。 #### 准备工作 为了能够成功使用 MSVC 编译器,需先完成以下准备工作: - **安装 Visual Studio**: 确保已安装最新版本的 Visual Studio 并勾选了“C++ 工具集”。Visual Studio 是 MSVC 编译器的主要载体。 - **获取 Qt 安装包**: 下载适用于 Windows 的官方在线安装程序 `qt-unified-windows-x86-online.exe` 或离线安装包,并确保选择了支持 MSVC 的组件[^2]。 #### 设置开发环境变量 在启动任何 Qt 命令之前,必须初始化适合当前系统的 MSVC 版本对应的环境变量。可以通过运行 Visual Studio 提供的开发者命令提示符实现这一点。例如: ```cmd "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat" ``` 这一步骤会加载必要的路径以及库链接到系统环境中,从而允许后续调用 cl.exe 和其他相关工具链。 #### 创建项目或打开现有工程 利用 Qt Creator IDE 新建一个基于 qmake/CMake 构建体系的应用程序或者导入已有源码目录结构。注意切换至正确的套件组合——即指定目标平台为桌面版且采用 MSVC 编译模式而非默认 mingw32-make 方式。 #### 解决潜在字符编码冲突 当尝试编译包含 Web 浏览功能模块(如 QtWebEngine)时可能会遭遇区域设定引发的文字转换错误。对此可采取如下措施规避风险[^3]: ```cmd chcp 65001 set PYTHONIOENCODING=utf-8 ``` 上述两条指令分别更改控制台显示代码页至 UTF-8 形态以及强制 Python 子进程遵循相同标准处理输入输出流数据。 #### 调整 Makefile 文件中的参数定义 有时还需要手动编辑由 qmake 自动生成出来的 makefiles 文档内容,增加额外标志位以兼容特定需求。比如加入 `/utf-8` switch 给 compiler invocation line: ```plaintext QMAKE_CXXFLAGS += /utf-8 QMAKE_LFLAGS += /SUBSYSTEM:CONSOLE,UTF-8 ``` 这样做的目的是告知微软编译驱动器在整个翻译单元期间均维持统一化的字符串表现形式,减少因混杂不同 charset 导致崩溃的可能性。 --- ### 示例代码片段展示自定义 .pro 文件部分字段调整方法 ```qmake CONFIG -= debug_and_release build_all TEMPLATE = app TARGET = MyApplicationName # Add support for Unicode handling during compilation phase. QMAKE_CXXFLAGS += /DUNICODE /D_UNICODE /EHsc /utf-8 DEFINES += QT_DEPRECATED_WARNINGS SOURCES += main.cpp \ another_file.cpp HEADERS += myheader.h \ other_header.h ``` 以上脚本展示了怎样向 QMake 输入描述文件里追加若干关键宏定义以及其他优化选项的例子。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糯诺诺米团

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值