移植 FFMPEG-2.2.4 -(编译)

源码下载:
http://www.ffmpeg.org/download.html
编译安装:

http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

 sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev   libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
  263  sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev  libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev

Notes:

  • Server users can omit the ffplay and x11grab dependencies: libsdl1.2-dev libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev.
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
sudo apt-get update
sudo apt-get install ffmpeg

 

Install FFmpeg on Ubuntu 14.10 Using PPA

 

问题:

ffmpeg x11grab compilation 

    sudo apt-get install libxfixes-dev
    sudo apt-get install libxext-dev
http://blog.csdn.net/qiuchangyong/article/details/21104423

-ffast-math -maccumulate-outgoing-args -Wall -pipe -MT
xmm_quantize_sub.lo -MD -MP -MF .deps/xmm_quantize_sub.Tpo -c
xmm_quantize_sub.c -fPIC -DPIC -o .libs/xmm_quantize_sub.o
xmm_quantize_sub.c: In function 'fht_SSE2':
xmm_quantize_sub.c:172:20: warning: variable 'v_s2' set but not used
[-Wunused-but-set-variable]
__m128 v_s2;
^
case $(uname -m) in
   i?86) sed -i -e '/xmmintrin\.h/d' configure ;;
esac
http://www.linuxfromscratch.org/blfs/view/svn/multimedia/lame.html

 

MinGW 是什么?         

MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境。MinGW 收集了一系列免费的Windows 使用的头文件和库文件;同时整合了GNU ( http://www.gnu.org/ )的工具集,特别是GNU 程序开发工具,如经典gcc, g++, make等。MinGW是完全免费的自由软件,它在Windows平台上模拟了Linux下GCC的开发环境,为C++的跨平台开发提供了良好基础支持, 为了在Windows下工作的程序员熟悉Linux下的C++工程组织提供了条件。

MinGW provides gcc and headers, MSys provides shell utilities like make and bash. 

  

 windows编译安装ffmpeg流程

http://trac.ffmpeg.org/wiki/CompilationGuide/MinGW

在干活之前,先把下面五个软件下载下来。

1)MinGW-MSYS Bundle   http://sourceforge.net/projects/mingwbundle/

2) SDL                                 http://www.libsdl.org/download-1.2.php

3)yasm                                http://yasm.tortall.net/Download.html

4)FFmpeg                           http://www.ffmpeg.org/download.html

5)pthreadgc2.dll                http://www.dll-files.com/dllindex/dll-files.shtml?pthreadgc2 

 

windows编译ffmpeg2.2.4并外挂h265         

  

以下是我这次在windowns上编译ffmpeg的步骤:
1:先在http://sourceforge.net/projects/mingwbundle/下载mingw-msys-bundle-0.6,该版本的bundle能够顺利编译出ffmpeg库及相关的exe文件,但是当我下载qt-win-opensource-4.8.1-mingw.exe及qt-creator-win-opensource-2.5.2.exe并设置好环境变量后,在mingw命令行下编译整个StreamAnalysis出错,怀疑跟当我安装creator时提示的mingw gcc版本低的原因。之后下载mingw-msys-core-4.7.2-x86.zip,本以为这个库的版本应该能够达到要求,然而其连基本的ffmpeg库都没有编译过去。

2:在上述方法无果的情况下,转到QT+VS2010编译,结果用mingw编译的ffmpeg win32库的头文件与vs中的不匹配。无语。。,之后为了不那么麻烦,采用下面的步骤

3:之后到mingw官网下载windows下的安装文件,然后就是漫长的安装。下载完后,本以为可以了,结果其跟mingw-msys-core-4.7.2-x86.zip的情况一样,无法编译ffmpeg库。
并且其vim环境没有色彩配置

4:没有办法了,在网上浏览下,发现qt-windows-opensource-5.1.0-mingw48_opengl-x86-offline.exe自身就包含了mingw(但不包含msys),发现安装后qtcreator中的example都能够运行起来。之后就将mingw-msys-bundle-0.6对应的msys与5.1.0中的mingw匹配下,发现可以正常编译ffmpeg。

5:因为我的solution原来在ubuntu下qt4.8.1基础上开发的,为了不想升级到qt5.1的麻烦。我又安装了先前下载的qt4.8.1的mingw库,重新设置好环境变量后,最后终于编译成功了。但是运行起来一跑就挂。gdb跟了下,是挂在qtgui库中了,怀疑是跟gcc的版本有关系(编译器内嵌函数)。之后再次确认下,连qtcreator2.5.2中的example也是这个错误。

6:最后实在没有办法,只得考虑升级了。将solution升级后,可以正常运行

  

参考:

 MinGW和MSYS的安装与管理

QT 5.1.0(MinGW)的安装及使用

MinGW的安装 (可在windows 下 使用Linux 环境进行gcc编程)

linux和windows下ffmpeg的安装

win7 X64 编译ffmpeg

基于FFmpeg和Qt的播放器 QtAV库

用mingw静态编译Qt4.8.2和Qt5.1.1

Qt在Windows下的三种编程环境搭建

windows上安装MinGW 4.4、Qt library 4.8.4和Qt Creator

 

github上ffmpeg 3rd编译过程中的一些错误:

1:  autoreconf not found

sudo apt-get install autoconf2.13

2: ./configure: line 3880: LT_INIT: command not found

sudo apt-get install libtool


3:ERROR: libass not found
sudo apt-get install libass-dev
4:ERROR: libtheora not found
sudo apt-get install libtheora-dev

5:ERROR: libvorbis not found
sudo apt-get install libvorbis-dev

6:ERROR: openssl not found
sudo apt-get install libssl-dev
7:ERROR: Xfixes not found
sudo apt-get install libxfixes-dev


 

install prefix            /home/yingc/git/thirdparty/av/ffmpeg/output/ffmpeg_build/
source path               .
C compiler                gcc
C library                 glibc
ARCH                      x86 (generic)
big-endian                no
runtime cpu detection     yes
yasm                      yes
MMX enabled               yes
MMXEXT enabled            yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
AVX enabled               yes
XOP enabled               yes
FMA3 enabled              yes
FMA4 enabled              yes
i686 features enabled     yes
CMOV is fast              yes
EBX available             yes
EBP available             no
debug symbols             yes
strip symbols             no
optimize for size         no
optimizations             no
static                    yes
shared                    no
postprocessing support    yes
new filter support        yes
network support           yes
threading support         pthreads
safe bitstream reader     yes
SDL support               no
opencl enabled            no
libzvbi enabled           no
texi2html enabled         no
perl enabled              yes
pod2man enabled           yes
makeinfo enabled          no

 

SDL support               no(系统如果探测不到相关的sdl,则不会编译ffplay)

sudo apt-get install libsdl1.2-dev

 StreamAnalysis中的编译错误
1: /usr/bin/ld: cannot find -lz
sudo apt-get install zlib1g-dev

 

 

 

 

aa

 

posted @ 2014-07-01 15:13  静之深  阅读(1585)  评论(0编辑  收藏  举报