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

news/2024/7/10 20:12:47 标签: qt, 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文件中添加如下代码链接库以及头文件:

# 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

在代码中添加如下代码:

   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);

打印如下:

ffmpeg version: 3940198
"3.0.8 Vetinari" "3.0.8 Vetinari" "3.0.8 Vetinari"

如此代表库调用成功。


http://www.niftyadmin.cn/n/5409025.html

相关文章

Apache POI处理Miscrosoft Office 各种文件格式的开源项目

介绍: 应用场景 maven 坐标 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.16</version></dependency><dependency><groupId>org.apache.poi</groupId><artifa…

Spring Boot、Nacos配置文件properties、yml、yaml的优先级

在标准的 SpringBoot 应用中&#xff0c;本地配置加载顺序如下&#xff1a; bootstrap.yamlbootstrap.propertiesbootstrap-{profile}.yamlbootstrap-{profile}.propertiesapplication.yamlapplication.propertiesapplication-{profile}.yamlapplication-{profile}.properties…

Linux系统的服务/进程

系统守护进程&#xff08;服务&#xff09; •服务就是运行在网络服务器上监听用户请求的进程 •服务是通过端口号来区分的 常见的服务及其对应的端口 1.ftp&#xff1a;21 FTP指的是文件传输协议&#xff0c;它是用于在计算机网络上进行文件传输的标准网络协议。通过FTP&am…

【论文笔记】Language Models are Unsupervised Multitask Learners

Language Models are Unsupervised Multitask Learners 回顾一下第一代 GPT-1 &#xff1a; 设计思路是 “海量无标记文本进行无监督预训练少量有标签文本有监督微调” 范式&#xff1b;模型架构是基于 Transformer 的叠加解码器&#xff08;掩码自注意力机制、残差、Layernorm…

代码随想录Day38:斐波那契数 、爬楼梯、使用最小花费爬楼梯

动态规划 动态规划五部曲&#xff1a; 确定dp数组以及下标的含义确定递推公式dp数组如何初始化确定遍历顺序举例推导dp数组 动态规划Debug方法&#xff1a; 打印dp数组 斐波那契数 class Solution { public:int fib(int n) {if(n < 1) return n;vector<int> dp(…

基于单片机的便携式快速干衣设备设计

摘 要:以单片机为核心,设计了一种便携式快速干衣装置。该装置基于单片机对风扇、加热器、臭氧发生装置等进行控制,通过监测热风温度、衣服干燥程度等参数,将热风送入烘干服中,在湿衣内部进行加热,从而达到快速烘干、安全工作的效果。本设计采用单片机语言编程,具有操作…

ONNX-TensorRT

ONNX 的 TensorRT 后端 解析 ONNX 模型以使用TensorRT执行。 另请参阅TensorRT 文档。 有关最近更改的列表&#xff0c;请参阅更改日志。 有关常见问题和疑问的列表&#xff0c;请参阅常见问题解答。 如需业务咨询&#xff0c;请联系Researchinquiriesnvidia.com 如需新闻…

Tonka Finance,BTCFi 浪潮的发动机

在 2023 年年初&#xff0c;Ordinals 技术方案为比特币 Layer1 带来了一种全新的资产发行方式&#xff0c;此后一场以比特币生态为主战场的新一轮资金、注意力价值争夺战打响&#xff0c;并且越来越多的加密原教旨主义者、密码极客们加入这场战争中。我们看到&#xff0c;铭文市…