您的位置:首页 > 编程语言 > Qt开发

ubuntu qt ffmpeg安装配置

2014-04-22 23:35 435 查看
环境:ubuntu 13.04 LTS

 (1)到http://www.ffmpeg.org/download.html下载最新版ffmpeg

也可以用这个命令:

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

yasm是汇编编译器,因为ffmpeg中为了提高效率用到了汇编指令,所以需要先安装。

到http://yasm.tortall.net/Download.html下载Source .tar.gz(即yasm-1.2.0.tar.gz)

  tar zxvf yasm-1.2.0.tar.gz

  cd yasm-1.2.0

  ./configure

  make

  sudo make install

 

(2)需要用到x264库

sudo apt-get install libx264-dev

 

(3)安装依赖库

1. sudo apt-get install libfaac-dev

2. sudo apt-get install libmp3lame-dev

3. sudo apt-get install libtheora-dev

4. sudo apt-get install libvorbis-dev

5. sudo apt-get install libxvidcore-dev

6. sudo apt-get install libxext-dev

7. sudo apt-get install libxfixes-dev

 

(4)配置ffmpeg,主要是打开x11grab

./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc  --enable-pthreads --enable-libfaac  --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libvorbis

 

(5)编译

make

 

(6)安装

sudo make install

 这样就OK!

ffmpeg qt开发报错:

1.在common.h中加上

#ifndef UINT64_C(val)

 46

 47 #define UINT64_C(val) val##ULL

 48

 49 #endif

但是出现/usr/local/include/libavutil/common.h:30: error: #error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS

这个错误

2.将加载common.h中

#if defined __cplusplus

#define __STDC_CONSTANT_MACROS
#endif

在一句要加在#error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS前面

出现下面错误

:-1: error: /usr/local/lib/libavformat.a(http.o): undefined reference to symbol 'inflateInit2_'

:-1: error: note: 'inflateInit2_' is defined in DSO /lib/i386-linux-gnu/libz.so.1 so try adding it to the linker command line

/lib/i386-linux-gnu/libz.so.1:-1: error: could not read symbols: Invalid operation

3.上述错误的原因是:

加载的库路径不对

 LIBS += -L /usr/local/lib  -lavcodec  -lavformat  -lswscale \

改为: LIBS += -L /usr/lib  -lavcodec  -lavformat  -lswscale \
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: