移植 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.
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升级后,可以正常运行
参考:
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