ffmpeg播放器12(从7-11的实现)-上

132 阅读2分钟

1背景

上面这几篇,是从线程开始,加载视频流。

源码存放位置 github.com/xcyxiner/xp…

2从线程开始读取流

上一次 ffmpeg播放器6(从2-5的实现) 的单独切了一个分支ffmpeg_play_2_5,保留之前的记录。 这次在之前的基础上,继续添加,重新建一个分支 ffmpeg_play_7_11

2.1 先下载类库 ffmpeg

参考之前总结的类库,分别都下载 ffmpeg播放器10(window依赖库以及头文件

2.1.1 ffmpeg 依赖库下载并添加

下载ffmpeg的lgpl的压缩包后解压后如下所示

image.png

include 直接添加就行,lib下面只要.lib的,以及bin文件 在项目中创建文件夹3rd,复制上面的include文件,创建bin/msvc文件夹和,lib/msvc文件夹

image.png

最终目录如下

├─bin
│  └─msvc
├─include
│  ├─libavcodec
│  ├─libavdevice
│  ├─libavfilter
│  ├─libavformat
│  ├─libavutil
│  ├─libswresample
│  └─libswscale
└─lib
    └─msvc

将解压后的ffmpeg中的bin文件夹内的所有复制到bin/msvc下面

image.png

将解压后的ffmpeg中的lib文件夹内.lib的文件复制到lib/msvc下面

image.png

查看原来的打包是不是用了msvc,才发现一直用的是mingw,这里就需要再次添加msvc了,毕竟一直是拿msvc来做参考的。 image.png

2.1.2 qt ide 添加msvc 编译器

在卸载程序点,点击qt,然后修改,然后在弹出来的界面中选择如下

image.png

这里勾选 6.7.3下面的 MSVC 2019 64-bit(暂时只装了vs2019) image.png

安装完成后,打开qt时选中6.7.3

image.png

选择对应.pro打开后,点击到项目,禁用到其他的编辑器,重新添加一个msvc的编译器

image.png

点上面的管理构建套件

image.png

可以把msvc的设为默认的

2.1.3 qmake添加ffmpeg的配置

qmake可以参考这里帮助里的qmake 教程 doc.qt.io/qt-6/zh/qma…

双击打开 xplayer.pro ,添加如下配置

INCLUDEPATH +=$$PWD/3rd/include
win32 {
    win32-msvc{
        LIBS += -lavformat      \
                -lavdevice      \
                -lavcodec       \
                -lswresample    \
                -lswscale       \
                -lavutil        \

        DESTDIR = $$PWD/3rd/bin/msvc
        LIBS += -L$$PWD/3rd/lib/msvc
    }
}

image.png

如果没运行成功,可以试着取消再激活套件

image.png

最终的效果就是能正常运行成功

最终的代码 github.com/xcyxiner/xp…

image.png

未完待续