Ubuntu 下配置 Qt 的 FFmpeg 的开发环境
【摘要】
FFmpeg 的 configure 脚本
./configure --prefix="$FFMPEG_PATH/build" \--pkg-config-flags="--static" \--extra-cflags="-I$FFMPEG_PATH/build/include" \--extra-ldflags="-L$FFMPE...
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;
-
}
执行的结果
文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。
原文链接:panda1234lee.blog.csdn.net/article/details/89203919
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)