Ubuntu 下配置 Qt 的 FFmpeg 的开发环境

简介: Ubuntu 下配置 Qt 的 FFmpeg 的开发环境

FFmpeg 的 configure 脚本

./configure --prefix="$FFMPEG_PATH/build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$FFMPEG_PATH/build/include" \
--extra-ldflags="-L$FFMPEG_PATH/build/lib" \
--bindir="$FFMPEG_PATH/build/bin" \
--enable-gpl \
--enable-neon \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree

具体的编译过成可以参看这两篇文章


https://blog.csdn.net/heng615975867/article/details/79388439

https://www.cnblogs.com/candycaicai/p/4689459.html

ps: --enable-neon 可以开启 neon 加速



pro 文件

网上的配置有许多坑,遇到了很多莫名的 undefined reference ... ,所以把自己详细完整的配置发出来,以便其他有类似问题的小伙伴能够少走弯路(ps: 我是编译的支持 aac/x264/x265 的 FFmpeg 静态库)  

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
INCLUDEPATH +=  /usr/local/include \
                /home/lingyun/CodeEnvironments/FFmpeg-master  \
                /home/lingyun/CodeEnvironments/FFmpeg-master/build/include
LIBS +=     -L/usr/local/lib/ \
                    -L/home/lingyun/CodeEnvironments/FFmpeg-master/build/lib/ \
                    -lavformat \
                    -lavcodec \
                    -lswscale \
                    -lavutil \
                    -lavfilter \
                    -lpostproc \
                    -lswresample \
                    -lavdevice \
LIBS += -L/usr/lib/x86_64-linux-gnu/ -lva -lva-x11 -lva-drm -lxcb -lxcb-shm\
        -lxcb -lX11 -lasound -lSDL -lpthread -ltheoraenc -ltheoradec \
        -logg -lmp3lame -lfdk-aac -lx264 -lx265 -lvpx \
        -lm -lbz2 -lz -lrt -lvorbis -lvorbisenc -lass -llzma \
        -lrt  -lvdpau
SOURCES += \
        main.cpp

c++ 文件

#include <iostream>
using namespace std;
//需要加上 extern "C"
extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"
}
int main()
{
    cout << "Hello Qt FFmpeg!" << endl;
    av_register_all();
    //输出版本号
    unsigned version = avcodec_version();
    cout << "version is:" << version << endl;
    return 0;
}

执行的结果

image.png

目录
相关文章
|
3月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
5989 3
|
3月前
|
应用服务中间件 Linux nginx
Jetson 环境安装(四):jetson nano配置ffmpeg和nginx(亲测)之编译错误汇总
这篇文章是关于在Jetson Nano上配置FFmpeg和Nginx时遇到的编译错误及其解决方案的汇总。
137 4
|
4天前
|
Ubuntu
Ubuntu20.04 编译安装FFmpeg,出错分析以及解决方案
通过上述步骤,可以在 Ubuntu 20.04 上成功编译和安装 FFmpeg。如果遇到问题,可以通过检查依赖包的安装情况以及 `config.log` 文件来解决。掌握这些技巧和解决方案,可以有效地解决编译过程中遇到的各种问题,提高安装成功率。
29 13
|
2月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
89 2
|
3月前
|
网络协议 Ubuntu 网络安全
|
3月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
276 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
3月前
|
编解码 Ubuntu 应用服务中间件
Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测)
本文介绍了在NVIDIA Jetson Nano上配置FFmpeg和Nginx的步骤,包括安装、配置和自启动设置。
266 1
Jetson 环境安装(三):jetson nano配置ffmpeg和nginx(亲测)
|
3月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
121 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
3月前
|
资源调度
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
55 2
Ubuntu22.04静态ip配置+yarn build后显示内存超限,变异失败
|
3月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
859 3