将x264编译到ffmpeg中(mac)

实现如题的目标,要做的有两件事,先编译x264,将编译的x264静态库编译进ffmpeg中,生成具有libx264编码功能的ffmpeg可执行文件。

1. 环境准备

ffmpeg下载:http://www.ffmpeg.org/download.html
x264下载:http://download.videolan.org/x264/snapshots/

2. 解压编译x264

在x264文件目录上打开terminal,先configure,
在终端内输入如下命令:

./configure --prefix=xxx/code/extern-lib --enable-shared --enable-static --enable-yasm

–enable-shared:生成动态库
–enable-static:生成静态库
再执行

接下来执行make操作,这样就生成了可执行程序,静态库,动态库。

再执行make install执行完make install之后,在xxx/code/extern-lib目录下有三个文件夹"./bin" ,"./include","./lib",这三个文件夹下分别放着make install后,x264生成的可执行文件、头文件、库文件(静态库、动态库)。

3. 编译ffmpeg

解压ffmpeg文件,在ffmpeg文件夹目录上打开terminal,输入:

./configure --prefix=xxx/code/ffmpeg_bin --enable-shared --enable-yasm --enable-libx264 --enable-gpl --enable-pthreads --extra-cflags=-Ixxx/code/extern-lib/include --extra-ldflags=-Lxxx/code/extern-lib/lib

接下来执行make -j 8,再执行make install
这样在"xxx/code/ffmpeg_bin"目录下就安装了ffmpeg的可执行文件,库文件等
同时ffmpeg支持libx264编码,可以在生成的ffmpeg可执行文件下执行命令行操作:
./ffmpeg -i input.mp4 -vcodec libx264 -acodec copy rec.mp4如果成功执行,并且显示使用libx264编码器编码,说明已经成功编译具有libx264编码器的ffmpeg工程

解释一下configure命令的参数含有:

–prefix=xxx/code/ffmpeg_bin: 第三步make install将安装在xxx/code/ffmpeg_bin目录下
–extra-cflags=-I xxx/code/extern-libinclude --extra-ldflags=-L xxx/code/extern-liblib:表示在编译ffmpeg的过程中包含的include文件地址和库文件的地址,在这两个地址中存放着x264生成的静态库文件和头文件,这些静态库和头文件将用于编译ffmpeg。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章