VS2015+QT5.9.3+vlc-qt 完全编译

最近做了一个分屏软件,开如使用的FFMPEG进行开发,开发完成后,经测试发现视频卡顿得很,我是将一帧帧视频用QImage的的方式在屏幕上画出来,可以这种效率太低了,无奈找不到好的办法解决,只能放弃寻找其它的出路,然后我了解到了VLC,在开发过程中,我发现,VLC的效率还可以,可是有一个弊端,那就是在切换视频时无法全屏化显示,本人的能力有限,不想耗费太多精力去做这些事情,我查阅资料,发现有一个国外大牛写了一个基于QT的VLC封装,而且评价极高。所以我走上了VLC -QT的开发之路。

一,下载

VLC-QT下载

通过官网:https//vlc-qt.tano.si/

一种是可以从官网上直接下载编译好的VLC-QT库使用,不过它有一些限制,它们提供的库都是使用QT5.6.1 + VLC2.2.4进行编译的,所以如果你的QT版本不是5.6.1,那么很遗憾的告诉你,直接用是不可能的了,那么我们只能自己进行编译了。自己编译的话,我们需要VLC-QT的源码,源码下载方式有两种。

1)源码包

一是使用GIT直接下载,使用GIT下载我们要先安装的GIT,安装哪个版本都无所谓,它只是个下载工作而已。

git软件下载地址:链接:https://pan.baidu.com/s/1H-6Jf6ytWmvgkeX9WR6pEg密码:2gp8

安装git后,打开gis的控制台:直接使用:git clone git://github.com/vlc-qt/vlc-qt.git  进行克隆,没有设置克隆目录的话,默认在“C:\ Users \你的用户名“下的VLC-QT目录。

另外你还可直接去GITHUB下载vlc-qt.zip源码包:https://github.com/vlc-qt/vlc-qt

扫描二维码关注公众号,回复: 5745824 查看本文章

2)VLC库

好了,源码包已经下载下来了,既然是vlc - qt,所以少不了vlc嘛,他要依赖vlc,官方是用vlc2.2.4,所以我用的是vlc2.2.4,应该用更高版本的也可以。不过在下载时要分清,是32位还是64位,我要生成32位的VLC-QT,所以我下载的是WIN32版本的库。

vlc下载地址:http://download.videolan.org/vlc/

3)CMake的

接下来我们需要下载并安装CMake的,它是用来生成项目工程的。

cmake下载地址:链接:https://pan.baidu.com/s/1E-6RQZ28uUE0ieQWohjncw 密码:p6ft

二,编译

1)部署VLC环境

在编译之前,我们需要部署一下VLC,解压VLC,在里面找到下图中红框框住的

把plugins和两个dll的文件复制到QT安装目录下的bin目录中(例如:D:\Qt\Qt5.9.3\5.9.3\msvc2015\bin)

把sdk/include/vlc目录复制到QT安装目录下的include目录中(例如:D:\Qt\Qt5.9.3\5.9.3\msvc2015\include)

把sdk/lib 下面的几个LIB文件复制到QT安装目录下面的lib目录中(例如:D:\Qt\Qt5.9.3\5.9.3\msvc2015\lib)

注意这里我们要设置一个环境变量,就是我们的插件文件夹的位置,例如:

VLC_PLUGIN_PATH D:/Qt/Qt5.9.3/5.9.3/msvc2015/bin/plugins

2)生成vs2015项目

生成VS2015项目,我们需要用到CMAKE,在CMake目录中打开cmake-gui.exe。并设置VLC-QT源码位置,及构建目录,然后点击“configure”,设置生成什么类型​​的工程,我这里是生成vs2015 32位的所以选择的是“Visual Studio 14 2015”,

运行结果为上图所示,然后我们要检查各个项配置, 

1)makeinstall

这项表示VLC-QT的makeinstall的目录,我建议大家不要设置为系统盘下,最好改到其它盘下,因为在makeinstall时,会因为权限不够造成安装时不成功,所以我设置到了D盘目录下。(这是我在编译进总结出来的,不听我的话,等着初坑吧),

2)GIT中

GIT这一项可以不用填,没有多大用处,如果你装上了GIT,填上也没有关系,我还是填上了。

3)vlc

这三项是关于VLC库的配置,我们看到这里面LIBVLCCORE_LIBRARY和LIBVIC_LIBRARY的链接是不正确的,我们需要手动改一下,分别改成:libvlccore.lib和libvlc.lib

以上是大家需要注意的地方,其它的配置应试都不用更改。

3)Add Entry

在这里我们需要添加一个变量,可以方便大家在生成库的时候,如果是debug版的可以带d,不然的话,在生成debug和release时,不是不带d的库,会覆盖掉。

如下图所示,“Add Entry”, 

名称:CMAKE_DEBUG_POSTFIX

类型:STRING

价值:d

说明:可以为空

好了设置好后,点击configure成功后,然后执行Generate生成VS2015工程。

以下是我的所有配置信息,大家可以参考一下。

3)修改cmake_install.cmake

这一个操作,是在我编译过程中发现的问题,这个问题会导致后面安装时不成功。

在构建目录下找到cmake_install.cmake文件然后以文本的形式打开。如下图红框所示,两个DLL的位置配置不对,我们要手动修改一下,改为bin目录下。

修改后

4)用VS2015打开工程

在建立目录上,点击VLC-Qt.sln文件打开工程

4)修改vs2015属性

分别修改Core,PluginQml,Qml,Widgets工程的属性>>调试/发布>>链接器>>命令行>>其它选项下填入/ SAFESEH:NO

这是关闭一种警告,如果不设置这项,在生成工程时,会将这类警告看成错误,进而造成项目生成不成功。在设置这个时,最好将调试和发行都设置一下如下。图所示。

好了,设置以上设置后,我们可以生成动态库了,直接在ALL_BUILD工程上右击生成,就可以生成动态库了,生成成功后再在“INSTALL”工程上右击生成,就可将库提取到安装目录里了,即在CMake的的时设置的那个目录。

如果你做到了以上我所说的,我可以恭喜你你已经成功了,然后就可以开发了,在工程中有几个测试工程,大家可以自己尝试一下。后续我会上使用VLC-QT的文章。

后知后觉,我记起了ffmpeg的也有QT的封装,叫做QTAV,后面有需要我再试试这个。

猜你喜欢

转载自blog.csdn.net/octdream/article/details/82079907
今日推荐