ffmep教程二 —— ffmpeg环境搭建

来源:互联网 发布:ubuntu 镜像 知乎 编辑:程序博客网 时间:2024/06/04 17:51

1.1         源码下载

GIT从下面地址下载:git://source.ffmpeg.org/ffmpeg.git

例如:在linux下:

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

1.2         依赖

如果要编译ffplay,它依赖sdl库。安装SDL库:http://www.libsdl.org/

ffmpeg 0.11,需要make3.82版本。由于现在ffmpeg处理活动期,所以最好是在最新的linux操作系统上编译。这样autoconfautomakemake这些工具可以是最新的,就不用升级。

 

如果是windows下编译,还需要cygwin或者minwin

cygwin下可以会因为回车符产生以下错误:

./makes: line 2: $'\r': command not found

解决方法以:

1、配置cygwin系统,让cygwin忽略dos回车符

以下是具体的修改方法!

# ignore return

set -o igncr

export SHELLOPTS

 2、用dos2unix命令转换有回车符的文件:
dos2unix 文件

 3、用VI替换文件中的回车符

%s/\n/^M/g

  其中^M这个需要先Ctrl+v再按回车得到

 

1.3         编译、安装

1.3.1    linux

./configure --disable-yasm

make

make install

 

默认安装在 /usr/local下。

设置pkg-config环境变量:

PKG_CONFIG_PATH=”$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig”

export PKG_CONFIG_PATH

 

或者用 libdir 指定依赖库的位置:

 ./configure --enable-libx264 --enable-gpl  --libdir=/usr/local/lib

1.3.2    cygwin下编译与linux下编译一样。

如果在windows环境下使用,则需要把C:\cygwin\bin加到环境变量PATH中。因为ffmpeg程序依赖的cygwin的库都存在这里。

发行时,就需要把相关依赖的库放到同一目录中。

ldd ffmpeg 查看依赖哪些库。

1.3.3    mingw下编译与linux下编译一样。

1.3.4    cygwin下用mingw来交叉编译:

./configure --cross_prefix=i686-pc-mingw32- --target-os=mingw32 --arch=i686 --prefix=/usr/i686-pc-mingw32/sys-root/mingw --enable-swscale --enable-postproc --enable-gpl

会提示说i686-pc-mingw32-pkg-config没找到,不过这没有关系,可以忽略,如果要安装,可以从下面地址下载glibpkg-config包,pkg-config依赖glib

  • http://ftp.gnome.org/pub/GNOME/binaries/win32/glib
  • ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
  • ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip
  • http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.zip
然后把它们复制到:
/usr/i686-pc-mingw32/sys-root/mingw 目录下

 

如果在windows环境下使用,则需要把C:\cygwin\usr\i686-pc-mingw32\sys-root\mingw\bin加到环境变量PATH中。因为mingw程序依赖的cygwin的库都存在这里。

发行时,就需要把相关依赖的库放到同一目录中。

 

原创粉丝点击