# QtPlayer-VLC **Repository Path**: zflood/VLC_EXAM ## Basic Information - **Project Name**: QtPlayer-VLC - **Description**: 基于libVLC的简单Qt播放器demo - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2019-11-14 - **Last Updated**: 2024-11-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QtPlayer-VLC ## 介绍 根据 https://wiki.videolan.org/LibVLC/ 上的Qt的例子代码修改而来,只是例子代码使用的Qt版本和VLC的版本较低,本例子少量修改了不兼容的地方;另外简单加入了打开rtsp网络媒体流的功能。版权直接参照原例子的LICENSE——“DO WHAT THE FUCK YOU WANT TO”。 ## 代码编译环境 一、Ubuntu18.04lts:Qt5.12.5,VLC3.0.8 1. 首先安装VLC媒体播放器。在Ubuntu18.04下,直接可以从Ubuntu软件中找到。 2. 根据本项目的工程文件——QtPlayer.pro中的设置来准备相应的库文件和头文件,头文件和库文件相应设定为: ``` INCLUDEPATH += /usr/local/include/VLC3.0.8 unix:!macx: LIBS += -lvlc unix:!macx: LIBS += -lvlccore ``` 3. 安装完成后/usr/lib/x86_64-linux-gnu/目录下会有VLC相关的动态链接库(.so),为了变成方便,需要做两个符号链接: ```shell cd /usr/lib/x86_64-linux-gnu/ ln -s libvlc.so.5 libvlc.so ln -s libvlccore.so.9 libvlccore.so ``` 4. 从 http://download.videolan.org/pub/videolan/vlc/3.0.8/ 下载vlc-3.0.8.tar.xz。解压缩后,将其中的include文件夹内的内容拷贝到特定位置,方便使用。本例子代码是在/usr/local/include/目录下新建VLC3.0.8目录来接收头文件信息。 ```shell sudo mkdir /usr/local/include/VLC3.0.8 sudo cp -r * /usr/local/include/VLC3.0.8 ``` 二、Win10:Qt5.12.5,VLC3.0.8 1. Windows下的库和头文件设定,参考文件QtPlayer.pro文件: ``` win32: LIBS += -LD:/SDKs/vlc-3.0.8/sdk/lib/ -llibvlc INCLUDEPATH += D:/SDKs/vlc-3.0.8/sdk/include ``` 安装VLC media player,再从 http://download.videolan.org/pub/videolan/vlc/3.0.8/win64/ 下载vlc-3.0.8-win64.7z,解压,内含sdk目录,如果不修改QtPlayer.pro文件,就按照.pro文件的设定来放置文件即可。 2. 编译环境错误修改 默认情况下,设定好include和lib路径后,会出现编译错误:“libvlc_media_read_cb”: 未声明的标识符 。网上搜索到的简单的办法,在vlc.h文件中加入一行代码:`typedef __int64 ssize_t;`即可。 3. 运行时注意 缺少dll,需要拷贝libvlc.dll,libvlccore.dll,和plugins目录,到需要运行的exe的目录下。 ## 核心参考 中国科学技术大学俞能海、陈晓辉老师《多媒体通信》课程实验资料。