关于 VLC-Qt

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

由于 VLC-Qt 集成了整个 libVLC,因此具备 libVLC 的所有特性,例如:libVLC 实例和 player、单个文件和列表播放、音频和视频控制、元数据管理。

如果想快速创建一个功能齐全的跨平台媒体播放器,这个库非常合适!

| 版权声明:一去、二三里,未经博主允许不得转载。

主要组成

VLC-Qt 主要包含三大部分:

  • 核心库

连接到 libVLC 并控制播放。核心类使我们能够完全控制 libVLC 及其所有特性,它能让我们完全控制播放。Widgets 和 QML 类只是简化了与核心的通信,但是没有引入任何新特性。

整个 libVLC 库被完全封装到了 C++/Qt 中,它仍然可以同时支持多个实例和/或播放器。还可以访问 libVLC 对象,以获得所有包装的功能。

  • Widgets 库

媒体播放器通常需要一个 UI,Widgets 部分包含了几个简单的、预先制作的窗口部件 ,可以将其用作基类:video widget、seek widget、volume slider、audio 和 video controllers。

  • QML 库

VLC-Qt 还包含了 QML 部分,它提供了使用 OpenGL 的简单视频播放。

编译安装

要使用 VLC-Qt,首先需要下载它。可以自己编译,也可以使用官网上编译好的版本。

进入官网,选择右边导航中的【Download】,然后可以选择自己需要的版本:

由于我的环境是 MSVC 2015,这里没有对应的版本,所以需要点击“GitHub Repository”选择其他版本:

下载 VLC-Qt_1.1.0_win64_msvc2015.7z,然后解压到 VLC-Qt-Install(下面会用到),它里面有三个子文件夹:

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

基本使用

VLC-Qt 的使用很简单,可以打开最上面的示例地址,来学习如何使用。

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

# VLC-Qt 安装目录
VLC_INSTALL_PATH = $$PWD/../../../VLC-Qt-Install # VLC-Qt 相关库
CONFIG(debug, debug|release) {
LIBS += -L$$VLC_INSTALL_PATH/lib -lVLCQtCored -lVLCQtWidgetsd
} else {
LIBS += -L$$VLC_INSTALL_PATH/lib -lVLCQtCore -lVLCQtWidgets
} # VLC-Qt 相关头文件目录
INCLUDEPATH += $$VLC_INSTALL_PATH/include
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

注意: 这里的 VLC_INSTALL_PATH 为 VLC-Qt 解压缩之后的路径,除了使用相对路径之外,也可使用绝对路径。

然后,执行qmake -> 构建,运行程序。

播放本地视频:

播放 RTSP 流:

如果找不到合适的 RTSP 地址,可以使用 RTSP_Video_Streaming_URLs 里面的地址进行测试。

VLC-Qt 入门指南的更多相关文章

  1. Web API 入门指南 - 闲话安全

    Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...

  2. Vue.js 入门指南之“前传”(含sublime text 3 配置)

    题记:关注Vue.js 很久了,但就是没有动手写过一行代码,今天准备入手,却发现自己比菜鸟还菜,于是四方寻找大牛指点,才终于找到了入门的“入门”,就算是“入门指南”的“前传”吧.此文献给跟我一样“白痴 ...

  3. yii2实战教程之新手入门指南-简单博客管理系统

    作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文 ...

  4. 【翻译】Fluent NHibernate介绍和入门指南

    英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...

  5. ASP.NET MVC 5 入门指南汇总

    经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章言简意赅,篇幅适中,从一个web网站示例开始讲解 ...

  6. 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍

    我们在前一篇文章微软新神器-Power BI,一个简单易用,还用得起的BI产品中,我们初步介绍了Power BI的基本知识.由于Power BI是去年开始微软新发布的一个产品,虽然已经可以企业级应用, ...

  7. 一起学微软Power BI系列-官方文档-入门指南(2)获取源数据

    我们在文章: 一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍中,我们介绍了官方入门文档的第一章.今天继续给大家介绍官方文档中,如何获取数据源的相关内容.虽然是英文,但 ...

  8. 一起学微软Power BI系列-官方文档-入门指南(3)Power BI建模

    我们前2篇文章:一起学微软Power BI系列-官方文档-入门指南(1)Power BI初步介绍 和一起学微软Power BI系列-官方文档-入门指南(2)获取源数据 中,我们介绍了官方入门文档与获取 ...

  9. 一起学微软Power BI系列-官方文档-入门指南(4)Power BI的可视化

    在前面的系列文章中,我们介绍了官方有关获取数据,以及建模的原始文档和基本介绍.今天继续给大家介绍官方文档中,有关可视化的内容.实际上获获取数据和建模更注重业务关系的处理,而可视化则关注对数据的解读.这 ...

  10. 一起学微软Power BI系列-官方文档-入门指南(5)探索数据奥秘

    我们几篇系列文章中,我们介绍了官方入门文档与获取数据等基本知识.今天继续给大家另外一个重点,探索数据奥秘.有了数据源,有了模型,下一步就是如何解析数据了.解析数据的过程需要很多综合技能,不仅仅是需要掌 ...

随机推荐

  1. 【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞

    0x01漏洞描述 Discuz!X全版本存在SQL注入漏洞.漏洞产生的原因是source\admincp\admincp_setting.php在处理$settingnew['uc']['appid' ...

  2. python之时间日期calendar

    calendar是与日历相关的模块,calendar模块文件里定义了很多类型,主要有Calendar,TextCalendar以及HTMLCalendar类型.其中,Calendar是TextCale ...

  3. window dos 下批量删除docker 容器

    >dokcer ps -a  -q> 1.txt (写入所有已暂停容器id) >for /f %a in (1.txt) do docker rm  %a for 循环     /f ...

  4. ScrollView 滚动视图

    ScrollView 种类: 1.HorizontalScrollView:水平滚动视图 2.ScrollView:垂直滚动视图(常用类) public class MainActivity exte ...

  5. 开关灯 ToggleButton

    开关灯 ToggleButton textOn:对应true的时候:textOff:对应false的时候:给toggleButton设置监听器toggleButton.setOnCheckChange ...

  6. Nginx负载均衡和HTTPS配置及集群搭建

    Nginx的高可用(HA)配置 1.高可用配置结构(画图说明) 2.KeepAlived的安装和配置 1.安装 yum install keepalived 2.keepalived.conf配置文件 ...

  7. php将数组中某个元素置顶设为第一个元素

    一个数组$a0有N个元素,要将其中第3个元素,排在数组的首位. 第一种做法是: 取出第3个元素,赋值给变量$a unset 第3个元素 array_unshift 将$a添加到数组头部. 如果是数字下 ...

  8. MyBatis中<![CDATA[ ]]>的使用

    原文地址:https://www.cnblogs.com/catgatp/p/6403382.html <![CDATA[]]>和转义字符 被<![CDATA[]]>这个标记所 ...

  9. (七)zabbix监控nginx

    1.agent端配置 1)nginx编译安装需要加上该选项--with-http_stub_status_module 2)修改nginx配置文件 #vim /usr/local/nginx/conf ...

  10. js 原生ajax请求

    什么是ajax 所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject). XMLHttpRequest 用于在后台与服务器交换数据.这意味着可 ...