注意,项目配置是64bit,如果你项目是32位则需要自行找32bit版本的libvlc库,QT项目配置也需要使用相同位数的编译器,其他配置步骤相同。
1. 下载libvlc Version: 3.0.17库
下载连接:Libvlc3.0.17 64bit
2. 配置QT项目
将vlc库复制到项目文件夹内,然后在项目Pro文件中添加如下配置。
1. 指定当前项目路径
win32:DESTDIR = D:/Project/Code/Test
else:unix:DESTDIR = /home
2. 添加libvlc路径
##############################################################################
# VLC
INCLUDEPATH += $$PWD/vlc/lib/
LIBS += -L$$PWD/vlc/lib/ -llibvlc
INCLUDEPATH += $$PWD/vlc/include/
DEPENDPATH += $$PWD/vlc/include/
LIBS += -L$$PWD/lib/ -llibvlccore
INCLUDEPATH += -L$$PWD/vlc/include/
DEPENDPATH += $$PWD/vlc/include/
##############################################################################
3. 测试vlc库是否添加成功
// 初建QT项目,这里就不贴其他文件代码了,直接在mainwindow构造中添加vlc调用和打印。
#include <QDebug>
#include "vlc/vlc.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
qDebug() << "Libvlc Version:" << libvlc_get_version() << endl;
}
MainWindow::~MainWindow()
{
delete ui;
}
如果配置成功,则会打印:Libvlc Version: 3.0.17 Vetinari
23:43:50: Starting D:\Project\Code\Test\Test.exe ...
Libvlc Version: 3.0.17 Vetinari
23:43:59: D:\Project\Code\Test\Test.exe exited with code 0
注意
- libvlc无法修改源码(虽然是开源代码,但vlc源码的编译无法配置,至少我没有找到相关信息)用以修改rtsp消息结构,如果需要修改rtsp消息信息的,请不要再考虑vlc。
- libvlc操作可以参考一下此链接,该链接提供了接口的封装类库,更易于开发人员调用。
- 使用上述链接中类库调用方式可以回调出视频帧,音频数据他没有实现,我是使用qt来操作的,需要绘制音频波形同时播放音频,波形图是绘制出来了,但音频有问题,还在解决,有做出来的请不吝赐教。
- 总结就是,如果只是开发一个小部件可以考虑libvlc库,但如果需要很精细的操作,建议自己开发rtsp类库以及取流和解码。