在Linux下编译VLC-Qt

2023-10-27

VLC-Qt:一个结合了 Qt 应用程序和 libVLC 的免费开源库。它包含了用于媒体播放的核心类,以及用于更快速地进行媒体播放器开发的一些 GUI 类。VLC-Qt就是对VLC库的进一步封装。

VLC-Qt官网:https://vlc-qt.tano.si/

示例地址:https://github.com/vlc-qt/examples

一、源码准备

1、下载VLC源码

下载地址:http://download.videolan.org/pub/videolan/vlc/2.2.4/vlc-2.2.4.tar.xz

2、下载VLC-Qt源码

下载地址:https://github.com/vlc-qt/vlc-qt

在这里插入图片描述

二、编译VLC源码

1、解压VLC压缩包

tar -xvJf vlc-2.2.4.tar.xz

注意J为大写。

2、安装VLC依赖的库

sudo apt-get build-dep vlc

报错:You must put some ‘source’ URIs in your sources.list

参考第四章,进行解决。

3、配置VLC

进入VLC源码目录

cd vlc-2.2.4

进行配置,先执行

./bootstrap

再执行

./configure

报错如下:error: “You cannot build VLC with Qt-5.5.0. You need to backport I78ef29975181ee22429c9bd4b11d96d9e68b7a9c”

参考第四章,进行解决之后继续。

4、编译与安装

编译

make

安装

sudo make install

编译安装后,即可在/usr/local/lib和/usr/local/include看到库和头文件。

我们程序调用VLC库运行时,依赖的so有libvlc.so、libvlc.so.5、libvlc.so.5.5.0、libvlccore.so、libvlccore.so.8、libvlccore.so.8.0.0共6个,如下。另外,还依赖于/usr/local/lib/vlc/plugins目录下的插件。

在这里插入图片描述

头文件目录如下:

在这里插入图片描述

三、编译VLC-Qt源码

1、安装cmake

sudo apt-get install cmake

2、解压源码并进入目录

unzip vlc-qt-master.zip
cd vlc-qt-master

3、创建编译目录并进入

mkdir build
cd build

4、配置安装目录

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/libvlc-qt

报错如下:

CMake Error at config/Dependencies.cmake:29 (FIND_PACKAGE):
By not providing “FindQt5Quick.cmake” in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by “Qt5Quick”,
but CMake did not find one.
Could not find a package configuration file provided by “Qt5Quick”
(requested version 5.2.0) with any of the following names:
Qt5QuickConfig.cmake
qt5quick-config.cmake
Add the installation prefix of “Qt5Quick” to CMAKE_PREFIX_PATH or set
“Qt5Quick_DIR” to a directory containing one of the above files. If
“Qt5Quick” provides a separate development package or SDK, be sure it has
been installed.

解决办法:将Qt安装目录添加到CMAKE_PREFIX_PATH环境变量,如下。

export CMAKE_PREFIX_PATH=/opt/Qt5.13.0/5.13.0/gcc_64

再次执行上述cmake命令,即可执行成功。

5、编译与安装

编译

make

安装

sudo make install

安装路径/usr/local/libvlc-qt下,VLC-Qt相关库和头文件,如下所示:

在这里插入图片描述

如果我们的程序调用VLC-Qt,那么运行时,需要依赖于VLC-Qt动态库,以及底下的VLC动态库。

四、报错解决

1、报错(You must put some ‘source’ URIs in your sources.list)

原因:找不到VLC相关的源

解决办法:修改Ubuntu服务器设置,步骤如下。

(1)选择“System Settings”菜单

在这里插入图片描述

(2)选择“Software & Updates”

在这里插入图片描述

(3)先勾选“Source code”,然后选择“Download from”中的“Other…”

在这里插入图片描述

(4)展开“China”,选择阿里云“mirrors.aliyun.com”,再点击“Choose Server”

在这里插入图片描述

(5) 点击“Close”,关闭窗口

在这里插入图片描述

(6)弹出软件信息过期提示,选择“Reload”

在这里插入图片描述
在这里插入图片描述

一会后就更新完毕。

再次执行:sudo apt-get build-dep vlc,进行安装。

安装一段时间后,又报错误:

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
E: Failed to process build dependencies

我们按照提示,执行:sudo apt-get build-dep vlc --fix-missing

执行完毕,VLC依赖库,即可成功安装。

2、报错(error: “You cannot build VLC with Qt-5.5.0. You need to backport I78ef29975181ee22429c9bd4b11d96d9e68b7a9c”)

解决办法:在VLC源码目录下,configure.ac文件中找这一行,并注释掉

#PKG_CHECK_EXISTS([Qt5Core >= 5.5.0 Qt5Core < 5.6.0], [
#	AC_MSG_ERROR(["You cannot build VLC with Qt-5.5.0. You need to backport I78ef29975181ee22429c9bd4b11d96d9e68b7a9c"])
#])

如下:

在这里插入图片描述

保存后,执行如下命令:autoconf
再执行./configure命令,即可配置成功。



若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!

同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Linux下编译VLC-Qt 的相关文章

  • 怎样安装VLC到CentOS7

    第一步 安装Epel Release 及Nux Repository 打开终端 输入命令 1 yum y install epel release 2 rpm Uvh http li nux ro download nux dextop e
  • 在Windows下编译VLC并实现播放视频

    在Windows下编译VLC并实现播放视频 一 编译Win版的VLC真麻烦 二 获取VLC的SDK 1 下载VLC播放器 2 库文件 3 头文件 三 调用VLC实现播放视频 1 拷贝头文件和库文件 2 修改pro文件 3 封装播放器类VLC
  • QML中使用 VLC-Qt 播放网络视频流(附实例)

    VLC Qt库 一个在libVLC基础上结合了Qt框架的开源库 它提供了媒体播放的视频 音频处理控制的核心类 并提供基于QWidget和QML的GUI框架 QWidget中使用VLC方法见我博文 Qt 中使用 VLC Qt 播放网络视频流
  • 如何在 Ubuntu 20.04 上安装 VLC 媒体播放器

    VLC 是最流行的开源多媒体播放器之一 它是跨平台的 几乎可以播放所有多媒体文件以及 DVD 音频 CD 和不同的流媒体协议 本文介绍如何在 Ubuntu 20 04 上安装 VLC 媒体播放器 VLC 可以通过 Snapcraft 商店作
  • 自定义VLC播放器 C#实现(一)

    1 Vlc DotNet Forms实现 实现方式 1 通过Nuget工具下载Vlc DotNet Forms包 2 在窗体中载入VlcControl控件 3 设置vlcControl的VlcLibDirectory属性 此属性指向 lib
  • Unity 开发总结之VLC Player for Unity插件的使用

    Unity项目开发过程中 视频播放这块是避免不了的重要组成部分 网上也有很多资料做了详细的介绍 但基本都是基于Unity的MovieTexture对象 即要求视频源必须是导入的本地视频文件 如果视频源变为在线视频流如RTSP之类的形式呢 显
  • Windows下Python加载VLC的方法

    从网上看到一篇文章 Python 流媒体播放器 基于VLC 其中提到windows下开发VLC需要首先安装VLC 否则就需要设置环境变量PYTHON VLC MODULE PATH 但是我尝试了一下 没有成功 但是 这篇文章给了我一个思路
  • 如何在 Debian 9 上安装 VLC 媒体播放器

    VLC 是一个免费的开源多媒体播放器 它是跨平台的 可以播放几乎所有多媒体文件以及 DVD 音频 CD 和不同的流媒体协议 本教程介绍如何在 Debian 9 上安装 VLC 媒体播放器 先决条件 您需要以以下身份登录具有 sudo 访问权
  • VLC解码播放H264文件

    转自 http www cnblogs com ImageVision p 4744391 html utm source tuicool utm medium referral 昨天收到几个文件名是 xxx 264的文件 这种文件属于视频
  • 使用vlc显示海康网络摄像机的视频

    通过博主的另外一篇博客https blog csdn net u014552102 article details 86700057 配置完海康网络摄像机后 我们就可以使用vlc显示摄像机的视频了 在下图所示的浏览器页面中 我们可以知道摄像
  • 检查是否安装了VLC

    我从 C 应用程序调用 vlc 来播放视频 我需要一种方法来持续检查 VLC 是否已安装 我已尝试检查注册表项 但根据您的 Windows 版本或体系结构 它们似乎不一致或不可靠 有人有什么建议 建议吗 我想说你在尝试检测这一点时做了不必要
  • 在VLC播放器中播放RTSP流

    我正在尝试用java制作一个简单的rtsp流媒体服务器 服务器能够将视频正确地传输到自定义写入播放器 问题是我无法在 vlc 媒体播放器中播放相同的流 当我启动 vlc 媒体播放器并输入流媒体详细信息时 我的服务器显示 vlc 发出的以下请
  • vlcj:: 无法在 64 位操作系统中加载库“libvlc”

    我使用的是 64 位操作系统 Windows 7 并且我有 32 位 VLC 版本 1 1 8 我已经添加了这些库jna jar platform jar vlcj 1 1 5 1 jar 我无法使用 jVlc 进行流式传输 public
  • 如何播放 mp3

    我的问题从这里开始 pyttsx 和 gTTS 模块错误 https stackoverflow com questions 36323564 pyttsx and gtts module errors gTTS 效果很好 从文本文件中获取
  • 如何计算音频流中每个数据包的 RTP 时间戳

    我阅读了 RTP 规范 但似乎无法理解 RTP 数据包时间戳 我尝试在我的服务器中以不同的方式实现它 但我无法让玩家正确播放它 我在这里的 错误 行为是 我使用 VLC 播放器播放 RTSP url 到我的服务器 我发现玩家的日志说 缓冲太
  • MobileVLCKit 编译时失败

    我正在尝试在我的应用程序中使用适用于 iOS 的 MobileVLCKit 我按照 给出的步骤进行操作构建 iOS 框架 https wiki videolan org VLCKit 我已在 Xcode 5 中将部署目标设置为 iOS 7
  • 在Linux上编译VLC:错误找不到Lua

    我正在尝试为 Linux 编译 VLC 当我运行配置脚本时 我收到错误消息 配置 错误 找不到 lua 有些人需要Lua 接口 rc telnet http 以及许多其他自定义脚本 使用 disable lua 忽略此错误 我的系统上有lu
  • RTSP服务器java实现问题:(

    我正在编写 RTSP 服务器并遇到一些问题 我使用 VLC 作为客户端 服务器从客户端 VLC 播放器 接收 OPTIONS DESCRIBE SETUP 和 PLAY 命令并回答该命令 通过 SETUP 命令客户端发送端口号 我正在使用该
  • 在应用程序启动时禁用 Windows 服务

    因为我必须在应用程序启动时关闭 Windows 高级文本服务 有什么特殊的API吗 它适用于具有默认权限的用户吗 该问题的标题是 禁用 Windows 服务 但答案都告诉我们如何停止服务 您在 Google 上会发现的大部分内容是 您可以使
  • VLC 媒体播放器有 C# 界面吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否可以使用 C 控制台应用程序中的包装器从 VLC 播放中当前播放的文件中读取曲目统计信息 时间 标

随机推荐