基于libVLC的视频播放器之三:编译和测试VLC-Qt

本文介绍了如何在Windows 10系统中,使用Qt 5.12.6和Visual Studio 2017编译VLC-Qt 3.0.9.2。首先,从指定地址下载VLC和VLC-Qt源码,然后通过CMake生成VS工程文件,解决编译过程中遇到的 ssize_t 识别错误和 SAFESEH 映像问题。最后,编译成功后,对VLC-Qt Examples进行简单播放器的配置和运行,演示了播放本地文件和RTSP流的操作。
摘要由CSDN通过智能技术生成

上篇文章使用VLC-Qt播放RTSP流介绍了如何直接使用VLC-Qt,这里将介绍如何编译VLC-Qt,方便以后修改源码。

我的环境:
windows 10
Qt 5.12.6 VS2017
vlc 3.0.9.2
CMake 3.13.0

一.下载

1.vlc下载
下载地址:http://download.videolan.org/pub/videolan/vlc/3.0.9.2/win32/


解压到:C:\vlc-3.0.9.2
2.vlc-qt及其examples下载
下载地址:https://github.com/vlc-qt/vlc-qt 
                  https://github.com/vlc-qt/examples
我将examples放到vlc-qt目录中,方便管理。
然后在vlc-qt目录中新建build文件夹,用于装CMake生成的VS工程文件。vlc-qt目录现在是下面这个样子:


二.生成VS工程文件

打开CMake-gui,定位到源文件及其Build目录,然后点击Configure按钮,弹窗中用默认设置,直接点击Finish按钮。

Configure的结果如下,报错了,没有人能随随便便成功。

错误信息是找不到libVLC,修改如下:

接着点击Configure按钮,OK,没错了,然后点击Generate按钮,生成VS工程文件。

三.编译

打开VLC-Qt.sln

开始编译,会出现几个错误
error C2065: “libvlc_media_read_cb”: 未声明的标识符
error LNK2026: 模块对于 SAFESEH 映像是不安全的
第一个错误是因为ssize_t无法识别导致的,将图中的ssize_t改成__int64,注意是两个下划线。要改的位置只有这一处。

第二个错误修改方法:
右键Core项目—>属性—>连接器—>命令行—>在“附加选项”中输入/SAFESEH:NO—>点击“应用”按钮

编译成功后,E:\vlc-qt\build\include中只有VLCQtCore文件夹,需要新建VCLQtWidgets文件夹,并把E:\vlc-qt\src\widgets中几个头文件拷贝到VCLQtWidgets中。


四.examples使用

打开E:\vlc-qt\examples\simple-player中的simple-player.pro,稍作修改如下:

#
# VLC-Qt Simple Player
# Copyright (C) 2015 Tadej Novak <tadej@tano.si>
#

TARGET      = simple-player
TEMPLATE    = app
CONFIG        += c++11

QT         += widgets

SOURCES    += main.cpp \
    SimplePlayer.cpp \
    EqualizerDialog.cpp

HEADERS    += SimplePlayer.h \
    EqualizerDialog.h

FORMS      += SimplePlayer.ui \
    EqualizerDialog.ui

# Edit below for custom library location
LIBS       += -LE:/vlc-qt/build/src/core/ -lVLCQtCore
LIBS       += -LE:/vlc-qt/build/src/widgets -lVLCQtWidgets
INCLUDEPATH += E:/vlc-qt/build/include

编译不会报错,但是正常运行的话需要拷贝相应的dll和插件,如下图:

播放本地文件:


播放网络URL:rtsp://3.84.6.190/vod/mp4:BigBuckBunny_115k.mov

原创不易,转载请标明出处:https://blog.csdn.net/caoshangpa/article/details/114107183

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

草上爬

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

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

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

打赏作者

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

抵扣说明:

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

余额充值