FFMPEG编译并运行Demo

因为之前没有搞过这块,所以想学习一下,今天的进度是成功编译FFMPEG并生成静态库,下面记录一下操作步骤:
首先下载安装FFMPEG的安装脚本(下载地址:https://github.com/lvjian700/ffmpegc,怕忘记就直接上传了,反正也不大)

ffmpegc-master.zip

下载完成后,解压后把ffmpegc-master改名成ffmpegc(我是懒人,这样省得改Demo里的Header Search Path),然后终端执行安装命令:

[代码]c#/cpp/oc代码:

1 ./install-ffmpeg.sh

脚本自动下载ffmpeg代码并且进行编译

[代码]c#/cpp/oc代码:

01 allentekiiMac:ffmpegc allen$ ./install-ffmpeg.sh
02 install gas-* perl script
03 install gas-preproccesor.pr
04 Cloning into 'gas-preprocessor'...
05 remote: Counting objects: 171, done.
06 remote: Compressing objects: 100% (107/107), done.
07 remote: Total 171 (delta 54), reused 149 (delta 47)
08 Receiving objects: 100% (171/171), 27.04 KiB, done.
09 Resolving deltas: 100% (54/54), done.
10 copy gas-preprocessor.pl to /usr/sbin
11 Password:
12 set execute right
13 install finished.
14 download ffmpeg
15 Downloading ffmpeg-1.2.1.tar.bz2
16   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
17                                  Dload  Upload   Total   Spent    Left  Speed
18   0 5828k    0 24303    0     0   3398      0  0:29:16  0:00:07  0:29:09  2218

经过漫长的等待,编译成后(目前最新的版本是使用6.1的SDK),最终对我们有用的两个文件夹的路径为ffmpegc/ffmpeg-1.2.1/build和ffmpegc/ffmpeg-1.2.1/x264/build。这两个是最终有用的静态库。目录结构如下:

分别对应了iPhone3G以上版本(ARMV7S是iPhone5指令集)和模拟器版本。编译成功后,下载对应的Demo

https://github.com/lvjian700/ffmpegc-demo

下载完成并进行解压,得到如下文件结构

FFMPEG编译并运行Demo_第1张图片

打开工程文件,发现里面的静态库全都是红色。

FFMPEG编译并运行Demo_第2张图片


这时我们生成好的静态库就派上用场了。咦?等等,为什么刚才的文件目录里没有lib文件夹?我们先选中做任意的一个静态库文件,观察右侧静态库对应的Full Path

FFMPEG编译并运行Demo_第3张图片

发现是libs文件夹在上传时被作者删除了,那我们现在需要在ffmpegc-demo-master文件夹下建立一个libs文件,然后把刚刚编译生成对应i386下的静态库拷贝到libs目录下(别忘记libx264.a,它藏的比较深:ffmpegc/ffmpeg-1.2.1/x264/build/i386/lib/libx264.a)。这时回来再看看我们的工程,完美复活!!!

FFMPEG编译并运行Demo_第4张图片

万事具备,走一个…………


我靠,我眼泪都下来了……(真机只需要把对应的lib库换一下就可以直接编译到真机了)


后话:发现不管是真机还是模拟器都没有声音,回头再头……未完待续

你可能感兴趣的:(FFMPEG编译并运行Demo)