VLC-Qt实现简单的视频播放器

VLC-Qt是一个结合了Qt应用程序和libVLC的免费开源库。它提供了用于媒体播放的核心类,以及用于快速开发媒体播放器的GUI类。由于集成了整个libVLC,VLC-Qt具备了libVLC的所有特性,

例如:libVLC实例和播放器、单个文件和列表播放、音频和视频控制、元数据管理。这使得VLC-Qt成为快速创建功能齐全的跨平台媒体播放器的理想选择。

VLC-Qt主要由三部分组成:

  • 核心库:连接到libVLC并控制播放。核心类使开发者能够完全控制libVLC及其所有特性,同时支持多个实例和/或播放器。
  • Widgets库:提供了一些预先制作的窗口部件,如视频窗口、搜索部件、音量滑块、音视频控制器等,用于构建媒体播放器的UI。
  • QML库:提供了使用OpenGL的简单视频播放功能。

要使用VLC-Qt,可以下载并编译它,或者使用官网上预编译的版本。VLC-Qt的使用相对简单,可以通过查看示例来学习如何使用。例如,可以下载示例代码,然后修改相关设置以适应自己的安装路径,从而实现播放本地视频或RTSP流等功能。

vlc-qt下载:

官网地址:(Quickly create a fully functional cross-platform media player - VLC-Qt)

Github 地址:https://github.com/vlc-qt

这里我下载的MiGW的库,

下载完成解压出来3个目录。

include:包含了所需的头文件

lib:包含所需的 lib 文件

bin:包含了所需的 dll 文件(动态库及插件)

Demo程序下载

地址:GitHub - vlc-qt/examples: VLC-Qt Examples

解压后目录如下所示。

然后打开 simple-player.pro,并将 src.pro 中的 VLC-Qt 相关设置改为自己的路径:

修改 simple-player.pro中vlc-qt相关库内容,主要为最后两行。

cpp 复制代码
#
# 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

LIBS       += -lVLCQtCore -lVLCQtWidgets


# Edit below for custom library location
LIBS       += -L/Users/tadej/workspace/tanoprojects/install/vlc-qt/lib -lVLCQtCore -lVLCQtWidgets
INCLUDEPATH += /Users/tadej/workspace/tanoprojects/install/vlc-qt/include

主要修改最后两行,以下是修改后的路径,按自己存放路径来。

cpp 复制代码
LIBS       += -L$$PWD/vlc-qt/lib -lVLCQtCore -lVLCQtWidgets
INCLUDEPATH += $$PWD/vlc-qt/include

编译,然后生成,运行结果如下图所示。

相关推荐
鸽芷咕18 分钟前
【Python报错已解决】ModuleNotFoundError: No module named ‘paddle‘
开发语言·python·机器学习·bug·paddle
Jhxbdks28 分钟前
C语言中的一些小知识(二)
c语言·开发语言·笔记
java66666888828 分钟前
如何在Java中实现高效的对象映射:Dozer与MapStruct的比较与优化
java·开发语言
Violet永存29 分钟前
源码分析:LinkedList
java·开发语言
代码雕刻家31 分钟前
数据结构-3.1.栈的基本概念
c语言·开发语言·数据结构
Fan_web32 分钟前
JavaScript高级——闭包应用-自定义js模块
开发语言·前端·javascript·css·html
梦想科研社37 分钟前
【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)
开发语言·算法·数学建模·matlab·无人机
风等雨归期38 分钟前
【python】【绘制小程序】动态爱心绘制
开发语言·python·小程序
千穹凌帝41 分钟前
SpinalHDL之结构(二)
开发语言·前端·fpga开发
AlexMercer101243 分钟前
【C++】二、数据类型 (同C)
c语言·开发语言·数据结构·c++·笔记·算法