首页 > 其他分享 >Qt+ffmpeg环境搭建

Qt+ffmpeg环境搭建

时间:2024-08-20 23:15:48浏览次数:11  
标签:FFmpeg 版本 ffmpeg shared Qt HOME 搭建

Qt+ffmpeg环境搭建

各平台常见视频开发库举例:

  • iOS:AVFoundation AudioUnit
  • Android:MediaPlayer,MediaCodec
  • Windows:DirectShow
  • Linux:GStreamer

FFmpeg 库是一个跨平台的视频开发库, 还有 libVLC 也是一个跨平台的视频开发库

  • 掌握了其中一个库, 也能很快上手其它库, 因为音视频解码的原理类似

引入 FFmpeg 库有两种方式

一种是直接引入源码进行开发(因为源码庞大,编译较慢,不推荐新手学习时用这种方法)
一种是引入头文件和动态库进行开发,下载地址是:

https://ffmpeg.org/download.html
https://github.com/GyanD/codexffmpeg/releases //下载其它版本可以在这里下载, 已知5.1.2版本可兼容win7

shared版本是有动态库的版本(essentials是必要组件版本,东西可能不全;full是完整版本),gpl和lgpl是开源协议版本不同。
这里我采用的shared版本。

安装Qt

我选择的是5.12版,因为该版本可以直接在网上下载到完整安装包。
编译器选择的是MinGW

将 FFmpeg 库加载到Qt项目当中

  • 在环境变量中添加动态库文件所在路径(例如):
D:\ffmpeg_dev\ffmpeg-6.1.1-full_build-shared\bin
  • 在Qt文件中添加库文件
win32: {
    FFMPEG_HOME=D:\ffmpeg_dev\ffmpeg-6.1.1-full_build-shared
    # 设置 ffmpeg 头文件路径
    INCLUDEPATH += $$FFMPEG_HOME/include

    # 加载 ffmpeg 导入库
    # -L :指定导入库的目录
    # -l :指定要导入的 库名称
    LIBS +=  -L$$FFMPEG_HOME/lib \
             -lavcodec \
             -lavdevice \
             -lavfilter \
            -lavformat \
            -lavutil \
            -lpostproc \
            -lswresample \
            -lswscale
}

测试FFMpeg 库版本

extern "C" {
#include <libavcodec/avcodec.h>
}

qDebug() << "test: FFMpeg Version: "<< av_version_info();
//加入上述代码,如可以正常打印ffmpeg版本,则说明ffmpeg库正常。如下,运行时会在调试窗口打印如下信息:
//test: FFMpeg Version:  6.1.1-full_build-www.gyan.dev

至此,Qt+FFmpeg环境即完成了。

标签:FFmpeg,版本,ffmpeg,shared,Qt,HOME,搭建
From: https://www.cnblogs.com/linkyip/p/18370551

相关文章

  • VSCode系列 - 如何用VSCode搭建C++高效开发环境(1)
    VSCode是笔者用过的最好用的开发工具,没有之一。笔者14年的码龄生涯中,先后用过Eclipse、IntelliJIDEA、WebStorm、PyCharm、VisualStudio(2010/2013/2015)、NetBeans、SublimeText等,但自从用VSCode之后,就再没换过其他工具,一直用到现在有5年多的时间。1.本文目标这篇文......
  • QTday4
    思维导图 第二题 widget.h#ifndefWIDGET_H#defineWIDGET_H#include<QWidget>#include<QTime>#include<QTimerEvent>#include<QTextToSpeech>QT_BEGIN_NAMESPACEnamespaceUi{classWidget;}QT_END_NAMESPACEclassWidget:public......
  • QTabWidget自定义样式(仿DotNetBar)
    QSS如下,若需要tab栏背景色需要添加ui->tabWidget->setAttribute(Qt::WA_StyledBackground);语句使background-color生效,这个时候qtdesigner中仍然看不到背景色,但是不要担心它是生效的,只需在属性中勾上autofillbackground即可在designer中预览(该属性在QWidget属性组中,实际上勾不勾......
  • 【Qt】 对象树 与 乱码问题
    文章目录1.对象树在堆上开辟空间并管理栈上开辟与堆上开辟的区别2.乱码问题的解释编码方式的区分出现乱码的原因查看当前文件的编码方式如何处理文件与终端编码方式不统一1.对象树在堆上开辟空间并管理该代码只进行new(在堆上开辟空间)而没有delete......
  • 使用redis-trib.rb工具快速搭建redis集群
    使用redis-trib.rb工具快速搭建redis集群手动搭建集群便于理解集群创建的流程和细节,不过手动搭建集群需要很多步骤,当集群节点众多时,必然会加大搭建集群的复杂度和运维成本,因此官方提供了redis-trib.rb的工具方便我们快速搭建集群。redis-tribyb是采用Ruby实现的redis集群管......
  • MQTT
    目录mosquitto搭建本地服务器下载配置启动订阅主题发布消息mosquitto搭建本地服务器下载配置启动mosquitto.exe-cmosquitto.conf-v订阅主题发布消息mosquito_pub-hlocalhost-t"topic"-i"client"-m"message"......
  • FFmpeg的入门实践系列一
    欢迎诸位来阅读在下的博文~在这里,在下会不定期发表一些浅薄的知识和经验,望诸位能与在下多多交流,共同努力!江山如画,客心如若,欢迎到访,一展风采文章目录参考环境本系列的适用人群FFmpeg的简介FFmpeg的下载与编译1.下载FFmpeg通过官方网站下载:通过Git克隆仓库:2.解压源......
  • ToughRADIUS 快速安装指南 - 搭建开源用户认证
    ToughRADIUS快速安装指南ToughRADIUS是一种健壮、高性能、易于扩展的开源RADIUS服务器。本指南将引导您快速地在您的系统上安装和配置ToughRADIUS服务。当前版本是基于Go语言开发的。开源项目地址:https://github.com/talkincode/toughradius官方文档:https://www.to......
  • Superset Windows二次开发环境搭建
    截止到2024.08.20最新版本是4.0.2拉取代码仓库https://github.com/apache/superset.git切换到当前最新的Tag:4.0.2gitcheckout4.0.2使用conda管理Python环境,本次使用的python为3.9参考官方文档pipinstall-rrequirements/development.txt时会报错,主要是两个依赖......
  • 【开源分享】2024好用的PHP在线客服系统源码 带搭建教程
    安装教程1.上传源码压缩包到网站目录并解压2.设置网站运行目录public3.设置伪静态,选择thinkphp4.创建数据库,导入数据库:public/service.sql5.修改.env里的数据库配置信息6.启动命令(根目录终端) phpthinkworker:gateway-d更详细的搭建文档需下载压缩包,安装教程.docx......