QT使用官方VLC以及Ffmpeg库的方法

概述

在使用QT开发基于VLC或者Ffmpeg库的播放器播放本地视频或者RTSP流时需要获取VLC或者FFPEG库,对于有一定技术能力的可以通过编译源码获得,当然也可以通过下载官方编译好的库文件。

VLC官方库下载

VLC 64bit库文件:

VLC编译好的库文件、头文件等,可以用于自己开发基于VLC库的程序,比如QT使用此库进行播放器开发等。

下载地址:

官网:http://download.videolan.org/pub/videolan/vlc/3.0.8/win64/vlc-3.0.8-win64.7z

清华映像:https://mirrors.tuna.tsinghua.edu.cn/videolan-ftp/vlc/3.0.8/win64/vlc-3.0.8-win64.7z

FFMPEG官方库下载

下载地址:https://www.gyan.dev/ffmpeg/builds/#release-builds

下载文件:ffmpeg-release-full-shared.7z

后缀带shared的压缩包是包含库文件的,可以用于QT等的程序开发

测试

QT工程中pro文件中添加如下代码链接库以及头文件:

c 复制代码
# VLC-QT library
LIBS += -L$$PWD/lib/VLC-3.0.8/lib -lvlc -lvlccore
INCLUDEPATH += $$PWD/lib/VLC-3.0.8/include
DEPENDPATH += $$PWD/lib/VLC-3.0.8/include

# FFMPEG-QT library
LIBS += -L$$PWD/lib/FFMPEG-QT/lib -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lpostproc -lswresample -lswscale
INCLUDEPATH += $$PWD/lib/FFMPEG-QT/include
DEPENDPATH += $$PWD/lib/FFMPEG-QT/include

在代码中添加如下代码:

c 复制代码
   unsigned version = avcodec_version();
    qDebug()<<"ffmpeg version:"<< version;
    const char * vlc_version = libvlc_get_version();
    qDebug() << QString(vlc_version) << QString(QLatin1String(vlc_version)) << QString::fromLocal8Bit(vlc_version);

打印如下:

c 复制代码
ffmpeg version: 3940198
"3.0.8 Vetinari" "3.0.8 Vetinari" "3.0.8 Vetinari"

如此代表库调用成功。

相关推荐
程序员清风3 分钟前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
2601_962885722 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
下一站春风里3 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑4 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl4 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言
运维行者_4 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
“AI国潮设计-小江”5 小时前
【AIGC实战】Python+SDXL打造“潮汕英歌舞IP”万能立牌插件,批量生成“发财元宝蛋糕”视觉营销方案(附源码)
开发语言·人工智能·python·prompt·aigc
lhbweilai5 小时前
分析FreeRTOS内核对象API的源码实现(八)
c语言·开发语言·stm32·单片机
努力努力再努力wz6 小时前
【C++高阶系列】C++20 协程底层原理:函数为什么能暂停?从状态机到 Task,彻底串起挂起、恢复与协程调度
开发语言·c++·c++20·1024程序员节