阿里云免费建站,随州市网站建设公司,wordpress详细介绍,大型网站开发什么书籍好Qt FFmpeg 搭建 Windows 开发环境 Qt FFmpeg 搭建 Windows 开发环境安装 Qt Creator下载 FFmpeg 编译包测试 Qt FFmpeg踩坑解决方法1#xff1a;换一个 FFmpeg 库解决方法2#xff1a;把项目改成 64 位 后记 官方博客#xff1a;https://www.yafeilinux.com/
Qt开源社区… Qt FFmpeg 搭建 Windows 开发环境 Qt FFmpeg 搭建 Windows 开发环境安装 Qt Creator下载 FFmpeg 编译包测试 Qt FFmpeg踩坑解决方法1换一个 FFmpeg 库解决方法2把项目改成 64 位 后记 官方博客https://www.yafeilinux.com/
Qt开源社区https://www.qter.org/
Qt FFmpeg 搭建 Windows 开发环境
安装 Qt Creator
本文章采用 Qt Creator 4.6.2详细信息 安装步骤参考本人博客Qt 5基础 | Qt Creator 5.6.1-1的下载与安装
下载 FFmpeg 编译包
进入 FFmpeg 官网点击 Download 进入下载界面点击 Windows builds from gyan.dev 进入 gyan.dev/ffmpeg/builds选择 ffmpeg-5.1.2-full_build-shared.7z 下载 注一般不选用最新版本下载。 下载完成后解压内容如下 测试 Qt FFmpeg
踩坑
新建一个 Qt 项目项目名 testFFmpeg 将 ffmpeg-5.1.2-full_build-shared 拷贝到项目目录下 注只拷贝其中的 include 和 lib 也行注意路径名。 在 testFFmpeg.pro 里面添加 ffmpeg 头文件和库文件路径
win32 {
INCLUDEPATH $$PWD/ffmpeg-5.1.2-full_build-shared/include
LIBS $$PWD/ffmpeg-5.1.2-full_build-shared/lib/avformat.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/avcodec.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/avdevice.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/avfilter.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/avutil.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/postproc.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/swresample.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/swscale.lib
}注libs 的多行引用一定要记得带斜杠否则后续的引用无效。 先编译看看 显示正常。
此时在项目同目录下生成了 build-testFFmpeg-Desktop_Qt_5_9_6_MinGW_32bit-Debug里面有项目的执行文件。
把 ffmpeg-5.1.2-full_build-shared\bin 的 dll 文件拷贝到执行文件所在目录 注本次我们只用到了 avutil-56.dll只拷贝这个也行。 修改 main.c 程序
#include stdio.h// 包含ffmpeg头文件
#include libavutil/avutil.hint main()
{printf(Hello FFMPEG, av_version_info is %s\n, av_version_info());printf(avutil_configuration is \n%s\n, avutil_configuration());return 0;
}
后面运行程序出现了报错error: undefined reference to av_version_info’。
原因项目选择了 32 位的构建套件而 FFmpeg 库是 64 位的
参考Qt测试FFmpeg的av_version_info()函数出现undefined reference to av_version_info‘
解决方法1换一个 FFmpeg 库
在网上找到了一个 win32 编译的 32 位 FFmpeg 库修改前面 .pro 文件的库的配置即可。
FFmpeg 库下载链接ffmpeg-win32-4.2.2.zip
运行结果 解决方法2把项目改成 64 位
重新构建一个项目选用 MSVC2015 64bit命名为 testFFmpeg_win64 pro 文件添加
INCLUDEPATH $$PWD/ffmpeg-5.1.2-full_build-shared/include \LIBS $$PWD/ffmpeg-5.1.2-full_build-shared/lib/avcodec.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/avdevice.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/avfilter.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/avformat.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/avutil.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/postproc.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/swresample.lib \$$PWD/ffmpeg-5.1.2-full_build-shared/lib/swscale.lib \照旧拷贝 ffmpeg-5.1.2-full_build-shared 到项目里。
构建项目遇到报错Qt 程序数据库管理器不匹配。
解决方法
工具→选项→构建套件KitMSVC2015 64bits 的编译器换成 amd64。之前是 x86_arm64是 32 位的。 照旧添加那些 dll 文件 运行成功结果 后记
没想到配个环境都能花这么久的时间Qt FFmpeg 实现视频播放器项目推迟一下下看赛马娘第三季要紧
现在官网的编译包不能直接在 32bit 的项目里用有点烦的。先用老东西 ffmpeg-win32-4.2.2.zip 凑合。懂这方面的可以评论区指点一下。