MacOS10.8.3+Xcode4.6+IOS6.1 编译FFmpeg,简单使用
ffmpeg编译参数详解
ffmpeg编译参数详解ffmpeg是一个开源的音视频处理工具,可以用于音视频的录制、转码、剪辑等操作。
在使用ffmpeg时,我们可以通过编译参数来定制化编译过程,以满足不同的需求。
本文将详细介绍ffmpeg的编译参数。
首先,我们需要了解一些基本的编译参数。
在编译ffmpeg时,我们可以使用--prefix参数来指定安装目录,使用--enable-shared参数来编译共享库,使用--enable-static参数来编译静态库。
此外,还可以使用--disable-xxx参数来禁用某些功能,例如--disable-encoders可以禁用所有编码器,--disable-decoders可以禁用所有解码器。
接下来,我们来看一些常用的编译参数。
首先是--enable-gpl参数,它可以启用GPL许可证。
如果你的项目中使用了GPL许可证的代码,那么你需要使用这个参数来编译ffmpeg。
另外,还有--enable-nonfree 参数,它可以启用非自由许可证。
如果你的项目中使用了非自由许可证的代码,那么你需要使用这个参数来编译ffmpeg。
除了许可证相关的参数,还有一些与功能相关的参数。
例如,--enable-libxxx参数可以启用某个库的支持,例如--enable-libx264可以启用x264编码器的支持,--enable-libfdk-aac可以启用fdk-aac编码器的支持。
另外,还有一些与格式相关的参数,例如--enable-demuxer=xxx可以启用某个解封装器的支持,--enable-muxer=xxx可以启用某个封装器的支持。
此外,还有一些与硬件加速相关的参数。
例如,--enable-vaapi参数可以启用VA-API硬件加速,--enable-vdpau参数可以启用VDPAU硬件加速,--enable-cuda参数可以启用CUDA硬件加速。
这些参数可以提高音视频处理的速度,特别是在处理高分辨率的视频时。
如何在macOS终端中进行程序编译和运行
如何在macOS终端中进行程序编译和运行对于在macOS系统中开发和运行程序,终端是一种非常方便和常用的工具。
通过终端,我们可以直接在命令行界面进行程序编译和运行,而无需依赖于集成开发环境(IDE)等工具。
本文将介绍在macOS终端中进行程序编译和运行的基本步骤和常用命令。
一、打开终端在macOS系统中,终端位于“应用程序”文件夹的“实用工具”文件夹中。
你可以通过以下两种方式来打开终端:1. 在Finder中找到“实用工具”文件夹,然后双击打开终端。
2. 使用快捷键Command + 空格来打开Spotlight搜索框,然后输入“终端”并回车。
二、进入工作目录在终端中进入你要进行编译和运行程序的工作目录非常重要。
通过以下步骤可以进入到指定的目录:1. 使用cd命令来切换目录,例如:cd ~/Desktop可以进入到桌面目录。
2. 使用ls命令来列出当前目录的内容,确保你已经进入到了正确的目录。
三、编写源代码在进行程序编译和运行之前,你首先需要编写相应的源代码文件。
你可以使用任何你熟悉的文本编辑器来编写代码,例如:TextEdit、Sublime Text、Visual Studio Code等。
四、编译程序在macOS系统中,通常使用GCC(GNU Compiler Collection)来进行程序的编译。
以下是基本的编译命令格式:gcc -o output_filename source_filename其中,output_filename为可执行文件的名称,source_filename为源代码文件的名称。
例如,如果你的源代码文件名为hello.c,你可以使用以下命令来编译:gcc -o hello hello.c在编译过程中,GCC会将你的源代码文件编译为机器代码,并生成一个可执行文件。
五、运行程序在编译成功后,你可以通过以下命令来运行你的程序:./output_filename其中,output_filename为你在编译时指定的可执行文件名。
ffmpeg常用命令详解
ffmpeg常用命令详解ffmpeg是一款开源的音视频转码工具,拥有丰富的命令选项,可以完成音视频格式的转换、剪辑、合并、分离等操作,被广泛应用于多媒体处理和视频编码领域。
本文将详解ffmpeg常用命令的使用方法,帮助大家更好地掌握这一工具。
一、安装ffmpeg在使用ffmpeg之前,我们需要先安装这个工具。
ffmpeg的安装方法依据不同的操作系统而有所差别,一般可以通过以下方式安装。
在Linux系统上,可以使用apt或yum包管理器进行安装:```sudo apt-get install ffmpegsudo yum install ffmpeg```在macOS系统上,可以使用Homebrew包管理器进行安装:```brew install ffmpeg```在Windows系统上,可以从ffmpeg官网下载安装程序进行安装。
安装完成后,可以在命令行中运行`ffmpeg -version`命令来验证是否安装成功。
二、基本命令1. 转换格式将视频文件转换成另一种格式,可以使用以下命令:```ffmpeg -i input.mp4 output.avi```其中,`-i`选项表示输入文件名,`output.avi`表示输出文件名。
ffmpeg会根据文件扩展名判断输入和输出的文件格式。
2. 调整码率合理地调整视频码率可以减小视频文件的大小,降低传输成本。
可以使用以下命令调整码率:```ffmpeg -i input.mp4 -b:v 750k output.mp4```其中,`-b:v`选项表示视频码率,`750k`表示设置为750kbps,`output.mp4`表示输出文件名。
可以根据需求调整码率大小。
3. 剪切视频剪切视频可以去掉无用的片段,提高视频内容的密度。
可以使用以下命令剪切视频:```ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 output.mp4```其中,`-ss`选项表示开始时间,`00:01:00`表示从1分钟处开始剪切,`-t`选项表示持续时间,`00:00:30`表示剪切出30秒的片段,`output.mp4`表示输出文件名。
ffmpeg 编译精简
ffmpeg 编译精简
如何精简编译FFmpeg.
FFmpeg是一个功能强大的开源多媒体框架,它可以用于处理音频和视频文件,以及进行流媒体传输。
然而,有时候我们可能只需要其中的部分功能,或者想要减小编译生成的文件大小。
在这种情况下,精简编译FFmpeg就变得很重要。
以下是一些方法来精简编译FFmpeg:
1. 配置选项,在编译FFmpeg之前,可以使用配置选项来指定需要的功能和组件。
可以通过在配置命令中添加一些参数来禁用不需要的功能,比如禁用某些编解码器或过滤器。
2. 禁用不必要的组件,FFmpeg包含了许多编解码器、过滤器和工具,但并不是所有的都是必需的。
可以通过配置选项来禁用不需要的组件,从而减小生成的文件大小。
3. 优化编译参数,可以通过调整编译参数来优化生成的可执行文件。
比如可以使用优化的编译器标志来提高性能,或者使用一些
特定的配置选项来减小生成的文件大小。
4. 压缩和优化,在编译完成后,可以使用一些工具来进一步压
缩和优化生成的可执行文件。
比如可以使用strip工具来去除调试
信息,或者使用UPX来进行可执行文件的压缩。
通过以上方法,可以帮助我们精简编译FFmpeg,从而减小生成
的文件大小,提高性能,以及减少不必要的组件。
这对于嵌入式设
备或者资源受限的环境来说尤其重要。
希望以上方法对你有所帮助。
ffmpeg的编译
ffmpeg的编译全文共四篇示例,供读者参考第一篇示例:FFmpeg是一个开源的跨平台音视频处理工具,它可以进行解码、编码、转码、流媒体处理等多种操作。
FFmpeg支持众多音视频格式,功能强大,使用广泛。
在实际应用中,可能会遇到需要对FFmpeg进行定制编译的情况,以满足自己的需求。
本文将介绍如何编译FFmpeg,并提供一些常见问题的解决方案。
第一步,准备开发环境在编译FFmpeg之前,首先需要准备好开发环境。
FFmpeg的编译过程需要依赖一些开发工具和库文件,这些工具和库文件可以通过包管理工具进行安装。
在不同的操作系统上,具体的安装方法可能有所不同。
在Ubuntu上,可以通过以下命令安装所需的开发工具和库文件:```bashsudo apt-get updatesudo apt-get install build-essentialsudo apt-get install git yasm libx264-dev libx265-dev```第二步,下载FFmpeg源代码接下来,我们需要下载FFmpeg的源代码。
FFmpeg的源代码托管在Git仓库中,可以通过Git工具进行下载。
在命令行中执行以下命令即可下载FFmpeg的源代码:```bashgit clone https:///ffmpeg.git``````bashcd ffmpeg```第三步,配置编译选项在编译FFmpeg之前,需要对其进行配置,配置编译选项。
FFmpeg的配置支持很多参数,可以根据需要进行定制。
通常情况下,我们可以使用以下命令进行配置:--prefix参数指定FFmpeg安装的路径,--enable-gpl参数表示开启GPL许可证的功能,--enable-libx264和--enable-libx265参数表示开启x264和x265编码器的支持。
在配置时,还可以根据实际需要添加其他参数,比如开启其他编码器的支持、开启特定格式的支持等。
ffmpeg操作手册
ffmpeg操作手册FFmpeg是一个非常强大的开源多媒体处理工具,可以用来进行视频和音频的录制、转换、编辑和流式传输等操作。
以下是FFmpeg的一些常用操作命令:1. 安装FFmpeg:首先,需要安装FFmpeg。
在Linux系统上,可以使用以下命令进行安装:```shellsudo apt-get updatesudo apt-get install ffmpeg```2. 转换视频格式:使用以下命令将输入文件()转换为输出文件():```cssffmpeg -i```3. 截取视频片段:使用以下命令将视频的第10秒到第30秒保存为新的文件():```cssffmpeg -i -ss 00:00:10 -t 00:00:20```4. 调整视频分辨率:使用以下命令将视频的分辨率调整为640x480:```cssffmpeg -i -vf "scale=640:480"```5. 添加水印:使用以下命令将一个图像文件()添加到视频的左上角作为水印:```cssffmpeg -i -i -filter_complex "movie= [watermark]; [in][watermark] overlay=W-w-10:H-h-10 [out]"```6. 添加音频:使用以下命令将音频文件()添加到视频中:```cssffmpeg -i -i -c:v copy -c:a aac```7. 合并视频:使用以下命令将两个视频文件(和)合并为一个文件():```cssffmpeg -i "concat:"```。
课题_iOS_FFMpeg编译和使用问题总结
iOS: FFMpeg编译和使用问题总结折磨了我近一周多时间的FFmpeg库编译问题终于解决了,必须得把这一段时间来遇到过的坑全写出来。
如果急着解决问题,编译最新版本的FFmpeg库请直接看第二部分,编译较老版本(0.7)的FFmpeg库请直接跳至第七部分,那里有你想要的编译脚本,但别忘了抽空看看全文。
一、背景网上有很多FFmpeg编译配置的资料,大部分都是关于FFmpeg最新的版本(2.0)的,我一开始也想着编写一个2.0版本的,可以放到接手的那个项目中,发现各种问题(无法快进,没有声音),再看一下代码一堆警告,原因很简单,使用的FFMpeg库太新了,很多接口变动了。
由于手上没有多少信息,不知道那个项目使用的是哪个版本的FFmpeg库,一点点找,终于知道原来使用的是0.7.x的。
找到目标版本的FFmpeg本以为万事大吉了,后来才发现原来这才是坑的开始,有历经一系列磨难,最后终于把编译问题解决了。
二、FFmpeg最新版本的库编译FFmpeg最新版本的应该是2.1的,历史版本详见:///releases/,在这个网站上我们可以下到所有历史版本的库。
FFmpeg是一个跨平台的用C语言写成的库,包含了编码,解码,色彩空间转换等库。
编译需要用到命令行,对于我们这些没搞过后台或者linux开发的脚本知识欠缺的人来说的确算是一个挑战。
庆幸的是现在网络这么方便,不会做问Google,很快就找到了一个在xcode5下一键编译FFmpeg库的脚本。
这个脚本是个老外写的,真心强大,从下载到编译到构建最后的Fat库一气呵成。
脚本地址: s:///m1entus/6983547运行这个脚本需要依赖一个库Perl写的脚本,搜了一下网上目前编译FFmpeg库的帖子基本都会提到这个脚本,脚本地址如下: s:///mansr/gas-preprocessor。
下载完这两个脚本后,编译FFmpeg库的准备工作就基本完成了,接着依次执行下面几步:1、拷贝gas-preprocessor.pl文件到 /usr/bin目录下。
怎么编译ffmpeg官方例子
怎么编译ffmpeg官方例子
要编译FFmpeg官方例子,可以按照以下步骤进行操作:
1. 从FFmpeg的官方网站下载源码。
打开FFmpeg的官方网站,在下载页面中找到源码的下载链接,然后根据需要选择合适的版本进行下载。
2. 解压缩下载的源码压缩包,并进入解压缩后的目录。
可以使用命令行工具进行解压缩和进入目录的操作。
3. 配置编译选项。
在解压缩后的目录中,运行configure脚本来配置编译选项。
具体的选项可以根据需要进行选择,例如使用--prefix指定安装路径,使用--enable-shared和--disable-static来控制是否生成动态库和静态库等。
4. 编译源码。
运行make命令来编译源码。
编译过程可能需要一些时间,具体时间取决于计算机的性能和编译选项的设置。
5. 安装编译结果。
编译完成后,运行make install命令来安装编译结果。
安装过程可能需要管理员权限,请根据需要进行相应的操作。
以上是编译FFmpeg官方例子的基本步骤,具体操作可能会因操作系统、编译选项和个人环境等因素而有所不同。
如果遇到问题,可以参考FFmpeg 的官方文档或者寻求社区的帮助。
ffmpeg 源码编译
ffmpeg 源码编译FFmpeg是一种开源的跨平台音视频处理工具,可以对音视频进行转换、编辑、截取、合并等操作。
如果我们需要定制FFmpeg的功能,就需要对源码进行编译。
下面是FFmpeg源码编译的流程:1、获取源码FFmpeg源码可以从官网上下载,也可以通过Git Clone命令从Github上获取。
选择下载哪个版本的源码,取决于需要实现的具体功能。
2、安装编译工具编译FFmpeg需要一些编译工具的支持,如yasm、gcc、make等。
在Linux系统中,可以通过以下命令安装:sudo apt-get updatesudo apt-get install build-essential yasm3、配置编译选项在源码根目录下执行以下命令,配置编译选项:./configure --enable-shared其中,--enable-shared选项表示生成共享库。
如果需要开启某些功能,可以在configure命令中添加对应的选项,如:--enable-libmp3lame 表示支持LAME MP3编码器--enable-libfreetype 表示支持Freetype字体库--enable-libx264 表示支持x264编码器4、编译源码make编译过程可能会持续一段时间,取决于源码的大小和计算机性能。
如果出现编译错误,需要根据错误提示进行调试。
5、安装FFmpeg在编译完成后,执行以下命令安装FFmpeg:sudo make installffmpeg -version如果出现FFmpeg版本号,则表示安装成功。
总结通过以上几个步骤,就可以成功编译安装FFmpeg了。
当然,编译过程中可能会出现各种问题,需要仔细查看错误信息,并根据具体情况进行调试。
ffmpeg编译参数说明
ffmpeg编译参数说明【原创版】目录1.FFmpeg 简介2.FFmpeg 编译参数分类3.常见编译参数及其用法4.参数设置示例5.总结正文FFmpeg 是一款开源的音视频处理软件,广泛应用于视频剪辑、格式转换、拼接、音频转换等领域。
它的强大功能得益于丰富的编译参数,使得开发者可以根据需求定制适合自己的版本。
下面我们来详细介绍一下FFmpeg 的编译参数。
FFmpeg 编译参数主要分为以下几个类别:1.编译选项:这类参数主要用于控制编译过程中的各种选项,如优化、调试等。
常见的编译选项包括`-O`(优化级别)、`-O2`(更高级别的优化)、`-g`(开启调试)、`-pg`(开启程序运行时性能分析)等。
2.链接选项:这类参数主要用于控制链接过程中的库文件,如指定链接的库文件、排除某些库文件等。
常见的链接选项包括`-l`(链接库文件)、`-L`(指定链接库文件的目录)、`-Wl,-rpath`(设置运行时库文件的路径)等。
3.输出选项:这类参数主要用于控制编译后输出文件的格式、名称等。
常见的输出选项包括`-o`(输出文件名)、`-c`(输出文件的编码方式)、`-b:v`(输出视频流的码率)等。
4.输入选项:这类参数主要用于控制编译过程中输入文件的格式、路径等。
常见的输入选项包括`-i`(输入文件名)、`-c:v`(输入视频流的编码方式)、`-c:a`(输入音频流的编码方式)等。
5.处理器选项:这类参数主要用于控制编译过程中使用的处理器架构,如 CPU、GPU 等。
常见的处理器选项包括`-cpu-type`(指定 CPU 类型)、`-硬件编码`(使用硬件编码器进行编码)等。
下面我们举一个参数设置示例,以帮助大家更好地理解这些编译参数:```ffmpeg -O2 -g -pg -o output.mp4 -i input.avi -c:v libx264 -b:v 1000k -c:a aac -strict -2```这个命令的含义如下:- 使用`-O2`选项进行优化编译。
xcode 编译程序
Xcode 是 Apple 提供的集成开发环境(IDE),主要用于开发 macOS、iOS、watchOS、tvOS 等操作系统上的应用程序。
以下是使用 Xcode 编译程序的基本步骤:打开 Xcode:首先,你需要打开 Xcode。
如果你还没有安装 Xcode,你可以从 Mac App Store 下载并安装。
创建项目:在 Xcode 中,你可以选择创建一个新的项目。
选择 "File" -> "New" -> "Project"。
然后,选择你要创建的项目类型(例如,iOS 应用)和工具(例如,Swift 或 Objective-C)。
编写代码:在项目创建后,你可以开始编写代码。
在 Xcode 中,你可以直接在编辑器中编写代码,或者通过在左侧导航栏中选择 "File" 或 "Folder" 来浏览你的代码文件。
编译代码:要编译你的代码,你可以选择顶部的 "Run" 按钮或者按 Command + R。
Xcode 将开始编译你的代码,并在下方的"Console" 中显示任何编译错误或警告。
调试代码:如果编译过程中出现错误,你可以使用 Xcode 的调试工具来查找和修复问题。
你可以设置断点、查看变量值、单步执行代码等。
运行程序:一旦你的代码成功编译,你可以选择 "Run" 按钮或按 Command + R 来运行你的程序。
Xcode 将启动模拟器(如果你正在开发 iOS 或 watchOS 应用)或实际设备(如果你有相应的设备并已将其连接到你的 Mac),并在其中运行你的程序。
清理项目:为了确保编译过程的顺利进行,有时候你可能需要清理项目。
你可以通过选择 "Product" -> "Clean Build Folder" 来完成这一操作。
Mac10.10_xcode6.1_ios8.1编译lame静态库libmp3lame.a_for_支持真机模拟器_含x64指令集
Mac O S X10.10_xcode6.1_ios8.1环境下,编译lame静态库libmp3lame.a,支持arm64 a rmv7s x86_64 i386 a rmv7指令集最近升级了系统到Mac OS X 10.10 并且更新了XCode6.1和iOS 8.1之前app用到的libmp3lame.a静态库,也要支持64位的模拟器(x86_64)和64位的真机(arm64)指令集。
需要重新编译查阅了下资料,按照如下步骤,并做了些注释和改动1./projects/lame/files/lame/3.99/ 下载lame的最新版本解压到一个文件夹里例如 lame,全路径如下/Users/8wm/Desktop/lame2.下载build的脚本,我这里使用的是国外一个朋友的分享https:///kewlbear/lame-ios-build下载之后得到lame-build.sh拷贝到文件夹/Users/8wm/Desktop/lame3.用bbedit或者其他编辑器打开这个脚本,按照注释修改4.打开Terminals,输入cd /Users/8wm/Desktop/lamechmod 777 lame-build.shsudo -s#输入系统密码./lame-build.sh开始编译,编译完成之后。
生成fat-lame目录和thin-lame目录,分别存放合并所有指令集的静态库,以及各指令集的静态库.根据所需,copy lame.h和libmp3lame.a文件到project里,就可以正常使用了。
可以使用命令行,查看换个库支持的指令集。
lipo -info libmp3lame.aArchitectures in the fat file: libmp3lame.a are: armv7 armv7s i386 x86_64 arm64以下是build的脚本,请注意黄色的字和注释。
#!/bin/shmake distcleanCONFIGURE_FLAGS="--disable-shared --disable-frontend"ARCHS="arm64 armv7s x86_64 i386 armv7"# directories# SOURCE是下载lame源码包,解压后的目录,可以把sh脚本放到这个目录,source 改为""SOURCE=""# FAT是所有指令集build后,输出的目录,所有静态库被合并成一个静态库FAT="fat-lame"# SCRATCH是下载lame源码包,解压后的目录,必须是绝对路径SCRATCH="/Users/8wm/Desktop/lame"# must be an absolute path# THIN 各自指令集build后输出的静态库所在的目录,每个指令集为一个静态库THIN=`pwd`/"thin-lame"COMPILE="y"LIPO="y"if [ "$*" ]thenif [ "$*" = "lipo" ]then# skip compileCOMPILE=elseARCHS="$*"if [ $# -eq 1 ]then# skip lipoLIPO=fififiif [ "$COMPILE" ]thenCWD=`pwd`echo "$CWD/$SOURCE........." for ARCH in $ARCHSdoecho "building $ARCH..." mkdir -p "$SCRATCH/$ARCH" cd "$SCRATCH/$ARCH"if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]thenPLATFORM="iPhoneSimulator"if [ "$ARCH" = "x86_64" ]thenSIMULATOR="-mios-simulator-version-min=7.0"HOST=x86_64-apple-darwinelseSIMULATOR="-mios-simulator-version-min=5.0"HOST=i386-apple-darwinfielsePLATFORM="iPhoneOS"SIMULATOR=HOST=arm-apple-darwinfiXCRUN_SDK=`echo $PLATFORM | tr '[:upper:]' '[:lower:]'` CC="xcrun -sdk $XCRUN_SDK clang -arch $ARCH"#AS="$CWD/$SOURCE/extras/gas-preprocessor.pl $CC"CFLAGS="-arch $ARCH $SIMULATOR"CXXFLAGS="$CFLAGS"LDFLAGS="$CFLAGS"CC=$CC $CWD/$SOURCE/configure \$CONFIGURE_FLAGS \--host=$HOST \--prefix="$THIN/$ARCH" \CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"make -j3 installcd $CWDdonefiif [ "$LIPO" ]thenecho "building fat binaries..."mkdir -p $FAT/libset - $ARCHSCWD=`pwd`cd $THIN/$1/libfor LIB in *.adocd $CWDlipo -create `find $THIN -name $LIB` -output $FAT/lib/$LIBdonecd $CWDcp -rf $THIN/$1/include $FATfi。
ffmpeg库编译
ffmpeg库编译FFmpeg库是一款功能强大的开源音视频处理工具,可以用于音视频采集、转码、合并、剪辑等各种操作。
本文将介绍如何编译FFmpeg 库,以及常用的编译选项和配置方法。
编译环境准备:1. 安装编译工具:gcc、g++、make等。
2. 安装相关库文件:libx264、libmp3lame、libopus等,这些库文件是FFmpeg常用的编解码器,需要提前安装好。
编译FFmpeg库:1. 下载FFmpeg源代码,并解压到指定目录。
2. 进入解压后的目录,运行以下命令进行配置:./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-gpl --enable-libx264 --enable-libmp3lame--enable-libopus其中,--prefix指定安装目录,--enable-shared表示编译为动态链接库,--enable-gpl表示使用GPL协议,--enable-libx264、--enable-libmp3lame、--enable-libopus表示启用对应的编解码库。
3. 配置完成后,运行make命令进行编译。
如果编译成功,会在当前目录下生成对应的库文件和可执行文件。
常用编译选项:1. --enable-shared:编译为动态链接库。
2. --enable-static:编译为静态链接库。
3. --enable-gpl:使用GPL协议。
4. --enable-nonfree:使用非自由协议。
5. --disable-encoders:禁用指定的编码器。
6. --disable-decoders:禁用指定的解码器。
7. --disable-protocols:禁用指定的协议。
编译FFmpeg库需要的相关库文件:1. libx264:H.264编码器。
2. libmp3lame:MP3编码器。
macOS终端中的音频和视频处理命令
macOS终端中的音频和视频处理命令在macOS终端中,你可以使用一些命令来进行音频和视频处理。
这些命令可以让你在不使用额外软件的情况下,对音频和视频文件进行编辑、转换、剪辑等操作。
下面将介绍几个常用的命令。
一、音频处理命令1. afconvert命令:这个命令可以将音频文件进行格式转换。
你可以将一个格式的音频文件转换为另一个格式,例如将WAV转换为MP3等。
使用该命令的基本语法如下:```afconvert 输入文件输出文件 -d 目标格式 -f 目标格式```其中,输入文件为要转换的音频文件,输出文件为转换后的音频文件,目标格式为你想要的输出格式。
2. afinfo命令:这个命令可以查看音频文件的信息,如采样率、声道数等。
使用该命令的基本语法如下:```afinfo 音频文件```其中,音频文件为你想要查看信息的音频文件路径。
3. afplay命令:这个命令可以播放音频文件。
使用该命令的基本语法如下:```afplay 音频文件```其中,音频文件为你想要播放的音频文件路径。
二、视频处理命令1. ffmpeg命令:这个命令是一个强大的音视频处理工具,可以进行音视频的转码、剪辑等操作。
使用该命令的基本语法如下: ```ffmpeg -i 输入文件 -vf 滤镜参数输出文件```其中,输入文件为要处理的视频文件,滤镜为你想要应用的视频滤镜,参数为滤镜的参数,输出文件为处理后的视频文件。
2. mediainfo命令:这个命令可以查看视频文件的详细信息,如分辨率、帧率等。
使用该命令的基本语法如下:```mediainfo 视频文件```其中,视频文件为你想要查看信息的视频文件路径。
3. mpv命令:这个命令可以播放视频文件。
使用该命令的基本语法如下:```mpv 视频文件```其中,视频文件为你想要播放的视频文件路径。
三、其他相关命令除了上述提到的命令外,还有一些其他相关的命令可以用于音频和视频处理,包括:1. sox命令:这个命令也是一个音频处理工具,可以用于音频的编辑、转换等操作。
ffmpeg lib编译
ffmpeg lib编译ffmpeg是一款强大的开源多媒体处理工具,它提供了多种功能和特性,可以用于音视频的编解码、转码、剪辑、合并等操作。
本篇文章将介绍如何使用ffmpeg库进行编译,以及一些相关的注意事项和常见问题的解决方法。
我们需要准备编译ffmpeg库的环境。
为了简化操作,我们可以使用Linux系统作为编译环境。
在Linux上,我们可以使用包管理工具安装所需的依赖库,例如gcc、make、pkg-config等。
安装完成后,我们还需要下载ffmpeg的源代码。
下载完成源代码后,我们可以开始编译ffmpeg库。
首先,我们需要进入源代码所在的目录,然后执行以下命令:```./configure --prefix=/usr/local/ffmpegmakesudo make install```上述命令将会将ffmpeg库编译并安装到/usr/local/ffmpeg目录下。
在编译过程中,我们可以根据需要添加一些编译选项,例如--enable-shared选项可以生成共享库文件,--enable-static选项可以生成静态库文件。
此外,我们还可以通过--enable-xxx选项来开启一些特定的功能,例如--enable-libx264选项可以开启对x264编码器的支持。
在编译过程中,有时候会遇到一些依赖库未找到的错误。
这时,我们可以使用pkg-config工具来查找和配置依赖库的路径。
例如,如果遇到了libx264库未找到的错误,我们可以执行以下命令来安装libx264库并配置其路径:```sudo apt-get install libx264-devexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfig```完成上述操作后,再次执行编译命令即可解决依赖库未找到的问题。
除了编译选项和依赖库的问题,我们还需要注意一些其他的细节。
首先,由于ffmpeg是一个跨平台的工具,因此在不同的平台上可能会有一些差异。
ffmpeg库 使用方法
ffmpeg库使用方法ffmpeg是一个开源的视频和音频编解码库,可用于转换、编辑、压缩和打包视频和音频文件。
以下是使用ffmpeg库的一般步骤:1. 安装ffmpeg库在命令行中使用FFmpeg库,可以使用以下命令在Linux或MacOS 上安装:```sudo apt-get install ffmpeg```或者```npm install ffmpeg```2. 定义要转换的文件格式在FFmpeg库中,可以使用“-f”选项指定要转换的文件格式,例如:```ffmpeg -i input.mp4 -f mp4 output.mp4```该命令将 input.mp4 文件转换为 .mp4 格式的输出文件。
3. 设置转换参数除了格式选项外,还有许多其他转换选项可用。
例如,可以使用“-v”选项来显示转换进度,使用“-a”选项来设置音频选项,使用“-t”选项来设置帧速率等。
```ffmpeg -i input.mp4 -v -acodec libx264 -t 30 output.mp4 ```该命令将 input.mp4 文件转换为 .mp4 格式,并使用 libx264编码器进行视频转换,同时设置转换时间为 30 秒。
4. 转换完成后,保存文件转换完成后,可以使用以下命令保存转换后的文件:```ffmpeg -f output.mp4 -i input.mp4 -t 30 output.mp4```该命令将文件保存到指定的位置,并在转换完成后设置文件大小为 30 秒。
这只是一个简单的例子,FFmpeg库还有许多其他功能和选项可用。
可以通过搜索FFmpeg库的文档和使用手册来了解更多信息。
ffmpeg分模块编译
ffmpeg分模块编译FFmpeg 是一个开源的跨平台音视频处理工具,它可以用来录制、转换以及流媒体处理。
在编译 FFmpeg 时,可以选择性地启用或禁用一些模块,以满足特定的需求。
以下是关于如何进行分模块编译的一般步骤:1. 下载源代码,首先,你需要从 FFmpeg 的官方网站或者源代码仓库中获取最新的源代码压缩包,并解压到本地目录。
2. 配置编译选项,在源代码目录中,你可以使用`./configure` 命令来配置编译选项。
例如,如果你想要启用特定的模块,可以使用 `--enable-模块名` 的选项;如果你想禁用某个模块,可以使用 `--disable-模块名` 的选项。
你还可以使用 `--help` 选项来查看所有可用的配置选项。
3. 执行编译命令,配置完成后,可以使用 `make` 命令来进行编译。
如果你只想编译特定的模块,可以使用 `make 模块名` 的方式来单独编译某个模块。
4. 安装,编译完成后,可以使用 `make install` 命令来安装FFmpeg 到系统中。
举例来说,如果你想要启用 x264 编码器模块,你可以在配置时使用 `--enable-libx264` 的选项;如果你想要禁用某个解码器模块,可以使用 `--disable-decoder=解码器名` 的选项。
需要注意的是,编译 FFmpeg 需要一定的编译环境和依赖库支持,具体的依赖库和编译环境可以在 FFmpeg 的官方文档中找到。
另外,根据不同的操作系统和发行版,可能需要安装额外的开发工具和库来支持特定的功能模块。
总之,分模块编译可以帮助你根据实际需求定制自己的 FFmpeg 版本,以满足特定的音视频处理需求。
希望这些信息能够对你有所帮助。
IOS编译ffmpegForSDK6.1,模拟器、armv7、armv7s均可使用
IOS编译ffmpegForSDK6.1,模拟器、armv7、armv7s均可使⽤最近在研究IOS视频播放器,需要使⽤到ffmpeg4ios,所以整理编译过程。
需要使⽤到Git,Linux Shell脚本执⾏install-ffmpeg.sh即可。
install-ffmpeg.shSRCDIR=`pwd`VERSION="1.2.1"echo "install gas-* perl script"./install-gas.shecho "download ffmpeg"set -eif [ ! -e ffmpeg-${VERSION}.tar.bz2 ]; thenecho "Downloading ffmpeg-${VERSION}.tar.bz2"curl -O /releases/ffmpeg-${VERSION}.tar.bz2elseecho "Using ffmpeg-${VERSION}.tar.bz2"fitar jxvf ffmpeg-${VERSION}.tar.bz2echo "copy install shell script to ffmpeg"cp ./compile-*.sh "ffmpeg-${VERSION}"cd "ffmpeg-${VERSION}"if [ -d x264 ]then(cd $SRCDIR/ffmpeg-${VERSION}/x264; git pull)elsegit clone git:///x264.git x264fiecho "compile armv7s ..."./compile-armv7s.shecho "compile armv7 ..."./compile-armv7.shecho "compile i386 for Simulator ..."./compile-i386.shecho "packaging universal version ..."./compile-universal.shinstall-gas.shecho "install gas-preproccesor.pr"git clone git:///mansr/gas-preprocessor.gitecho "copy gas-preprocessor.pl to /usr/sbin"sudo cp -f gas-preprocessor/gas-preprocessor.pl /usr/sbin/echo "set execute right"chmod +x /usr/sbin/gas-preprocessor.plecho "install finished."compile-armv7s.shSRCDIR=`pwd`SDKVERSION="6.1"cd $SRCDIR/x264make cleanCC=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \./configure \--host=arm-apple-darwin \--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDKVERSION}.sdk \--prefix=build/armv7s \--extra-cflags='-arch armv7s' \--extra-ldflags="-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDKVERSION}.sdk/usr/lib/system -arch armv7s" \ --enable-pic --disable-shared --enable-staticmake && make installcd $SRCDIRmake clean./configure \--prefix=armv7s \--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \--as='gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' \--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDKVERSION}.sdk \--extra-ldflags=-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDKVERSION}.sdk/usr/lib/system \--target-os=darwin \--arch=arm \--cpu=cortex-a9 \--extra-cflags='-I./x264/build/armv7s/include -arch armv7s' \--extra-ldflags='-L./x264/build/armv7s/lib -arch armv7s' \--enable-pic \--enable-cross-compile \--enable-gpl \--enable-libx264 \--disable-ffmpeg \--disable-ffplay \--disable-ffserver \--disable-doc# build for armv7smake cleanmake# copy out the armv7s libsmkdir -p ./build/armv7scp -f ./libavcodec/libavcodec.a ./build/armv7s/libavcodec.acp -f ./libavdevice/libavdevice.a ./build/armv7s/libavdevice.acp -f ./libavfilter/libavfilter.a ./build/armv7s/libavfilter.acp -f ./libavformat/libavformat.a ./build/armv7s/libavformat.acp -f ./libavutil/libavutil.a ./build/armv7s/libavutil.acp -f ./libswscale/libswscale.a ./build/armv7s/libswscale.acompile-armv7.shSRCDIR=`pwd`SDKVERSION="6.1"cd $SRCDIR/x264make cleanCC=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \./configure \--host=arm-apple-darwin \--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDKVERSION}.sdk \--prefix=build/armv7 \--extra-cflags='-arch armv7' \--extra-ldflags="-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDKVERSION}.sdk/usr/lib/system -arch armv7" \ --enable-pic --disable-shared --enable-staticmake && make installcd $SRCDIRmake clean./configure \--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \--as='gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' \--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDKVERSION}.sdk \--extra-ldflags=-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${SDKVERSION}.sdk/usr/lib/system \--target-os=darwin \--arch=arm \--cpu=cortex-a8 \--extra-cflags='-I./x264/build/armv7/include -arch armv7' \--extra-ldflags='-L./x264/build/armv7/lib -arch armv7' \--enable-pic \--enable-cross-compile \--enable-gpl \--enable-libx264 \--disable-ffmpeg \--disable-ffplay \--disable-ffserver \--disable-doc# build for armv7make cleanmake# copy out the armv7 libsmkdir -p ./build/armv7cp -f ./libavcodec/libavcodec.a ./build/armv7/libavcodec.acp -f ./libavdevice/libavdevice.a ./build/armv7/libavdevice.acp -f ./libavfilter/libavfilter.a ./build/armv7/libavfilter.acp -f ./libavformat/libavformat.a ./build/armv7/libavformat.acp -f ./libavutil/libavutil.a ./build/armv7/libavutil.acp -f ./libswscale/libswscale.a ./build/armv7/libswscale.acompile-i386.shSRCDIR=`pwd`SDKVERSION="6.1"cd $SRCDIR/x264echo "compile x264 i386 ..."make cleanCC=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc \./configure \--host=i386-apple-darwin \--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${SDKVERSION}.sdk \--prefix=build/i386 \--extra-cflags='-arch i386' \--extra-ldflags="-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${SDKVERSION}.sdk/usr/lib/system -arch i386" \ --enable-pic --disable-shared --enable-static --disable-asmmake && make installcd $SRCDIRecho "compile ffmpeg i386 ..."make clean./configure \--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc \--as='gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc' \--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${SDKVERSION}.sdk \--extra-ldflags=-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator${SDKVERSION}.sdk/usr/lib/system \--target-os=darwin \--arch=i386 \--cpu=i386 \--extra-cflags='-I./x264/build/i386/include -arch i386' \--extra-ldflags='-L./x264/build/i386/lib -arch i386' \--enable-pic \--enable-cross-compile \--enable-gpl \--enable-libx264 \--disable-ffmpeg \--disable-ffplay \--disable-ffserver \--disable-doc \--disable-asm# build for i386make cleanmake# copy out the i386 libsmkdir -p ./build/i386cp -f ./libavcodec/libavcodec.a ./build/i386/libavcodec.acp -f ./libavdevice/libavdevice.a ./build/i386/libavdevice.acp -f ./libavfilter/libavfilter.a ./build/i386/libavfilter.acp -f ./libavformat/libavformat.a ./build/i386/libavformat.acp -f ./libavutil/libavutil.a ./build/i386/libavutil.acp -f ./libswscale/libswscale.a ./build/i386/libswscale.acompile-universal.sh# make fat (universal) libsxcrun -sdk iphoneos lipo -output ./build/libavcodec.a \-create \-arch armv7s ./build/armv7s/libavcodec.a \-arch armv7 ./build/armv7/libavcodec.a \-arch i386 ./build/i386/libavcodec.axcrun -sdk iphoneos lipo -output ./build/libavdevice.a \-create \-arch armv7s ./build/armv7s/libavdevice.a \-arch armv7 ./build/armv7/libavdevice.a \-arch i386 ./build/i386/libavdevice.axcrun -sdk iphoneos lipo -output ./build/libavfilter.a \-create \-arch armv7s ./build/armv7s/libavfilter.a \-arch armv7 ./build/armv7/libavfilter.a \-arch i386 ./build/i386/libavfilter.axcrun -sdk iphoneos lipo -output ./build/libavformat.a \-create \-arch armv7s ./build/armv7s/libavformat.a \-arch armv7 ./build/armv7/libavformat.a \-arch i386 ./build/i386/libavformat.axcrun -sdk iphoneos lipo -output ./build/libavutil.a \-create \-arch armv7s ./build/armv7s/libavutil.a \-arch armv7 ./build/armv7/libavutil.a \-arch i386 ./build/i386/libavutil.axcrun -sdk iphoneos lipo -output ./build/libswscale.a \-create \-arch armv7s ./build/armv7s/libswscale.a \-arch armv7 ./build/armv7/libswscale.a \-arch i386 ./build/i386/libswscale.axcrun -sdk iphoneos lipo -output ./x264/build/libx264.a \-create \-arch armv7s ./x264/build/armv7s/lib/libx264.a \-arch armv7 ./x264/build/armv7/lib/libx264.a \-arch i386 ./x264/build/i386/lib/libx264.a编译出来的⽂件为:libavcodec.a⽤于各种类型声⾳/图像编解码;libavdevice.alibavfilter.alibavformat.a ⽤于各种⾳视频封装格式的⽣成和解析,包括获取解码所需信息以⽣成解码上下⽂结构和读取⾳视频帧等功能;libavutil.a包含⼀些公共的⼯具函数;libswscale.a⽤于视频场景⽐例缩放、⾊彩映射转换;libx264.a开源⽰例iFrameExtractorgit clone git:///lajos/iFrameExtractor.git这是⼀个iOS下利⽤ffmpeg解码播放的例⼦。
ffmpeg编译、使用与常见问题
ffmpeg编译、使⽤与常见问题导读:FFMPEG编译、使⽤与常见问题,Linux下FFMPEG的安装与测试......................,xvid的编译安装,编译的时候只要加--enable-a52--enable-gpl参数就⾏libd,所以也得⽀持编译,编译的时候加上--enable-amr_nb--enable-amr_wb参数就,根据编译系统的提⽰,所以我们得下载⼀些编译3gp所需得⽂件,i.使⽤ffmpeFFMPEG编译、使⽤与常见问题⼀.⼆.三.四.Linux下FFMPEG的安装与测试.......................................................................................... 1 FFMPEG 编译中出现的⼀些问题与解决⽅法 .................................................................... 4 FFMpeg简介及命令选项参数............................................................................................. 8 FFMPEG与x264的编译. (13)⼀. Linux下FFMPEG的安装与测试a. 先装mp3在linux下的包:lame-3.97.tar.gz;tar -xvzf lame-3.97.tar.gz;cd lame-3.97;./configure --enable-shared --prefix=/usr/;make;make install;b. ⽀持Ogg Vorbis:as4⾃带相应的rpm包,你可以安装⼀下如下rpm包:libvorbis, libvorbis-devel,libogg, libogg-devel ⼀般情况下as4都会安装c. ⽀持xvid x264,现在最流⾏的两种⾼质量的压缩格式xvid的编译安装tar zvxf xvidcore-1.1.0.tar.gzcd xvidcore-1.1.2/build/generic./configure --prefix=/usr --enable-sharedmakemake installx264的获取⽤git:git clone git:///x264.gitcd x264./configure --prefix=/usr --enable-sharedmakemake install3d. AC3和dts编码的⽀持as4系统似乎已经⽀持ac3编码,编译的时候只要加--enable-a52 --enable-gpl参数就⾏ libdts编译参数tar zxvf libdts-0.0.2.tar.gz./configure --prefix=/usrmakemake installe. mpg4 aac格式⽀持,由于服务器还针对⼿机⽤户服务,所以,类似aac,mpg4铃声格式的⽀持,我们也得做。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MacOS10.8.3+Xcode4.6+IOS6.1 编译FFmpeg,简单使用先说一下我的编译环境:MacOS10.8.3、Xcode4.6(4H127)、IOS6.1文档提供了编译FFmpeg i386(模拟器)版本、armv7版本(iPhone 3GS以上)、armv7s(iPhone5)版本等lib库的方法,最后还提供了一种把这三个版本合为一种公共lib库的脚本,模拟器和真机只需要一套库文件即可。
1.提前准备Command Line Tools,在Xcode-Preference-Downloads-Components下载。
2.从官网下载最新版本的ffmpeg-1.2,解压到桌面或者下载里面,方便编译。
从下图可以看到有很多链接可以下载但是我试了下,git上面的都不是最新版本,滚动屏幕的下方可以看到有个地方可以直接下载,看日期是最新版1.2版本Download bzip2 tarball3.下载最新版本的gas-preprocessor,解压,拷贝gas-preprocessor.pl到 /usr/bin 目录中。
注意这个目录是个系统目录,默认隐藏了,直接查看不到。
可以先点击一下Finder,上面菜单前往-前往文件夹,或者直接选中了Finder后按command+shift+g快捷键,粘贴/usr/bin 后“前往”就可以打开这个目录了。
4.打开终端,使用cd命令切换到第二步解压后的ffmpeg目录,比如我的是cdDesktop/ffmpeg-1.2/,然后在这个文件夹建立几个目录,方便编译时生成lib库,也方便查找,或者使用以下命令在终端里面执行生成,一行一行来。
执行完成后,可以在ffmpeg-1.2/文件夹里面看到armv7、armv7s、i386、universal/lib等文件夹。
[vb]view plaincopy1.mkdir armv72.mkdir armv7s3.mkdir i3864.mkdir -p universal/lib5.编译ffmpeg armv7(iPhone 3GS以上)版本,复制以下命令到终端里面执行。
注意如果你的SDK是IOS6.0,只需要把iPhoneOS6.1换成iPhoneOS6.0即可[plain]view plaincopy1../configure \2.--prefix=armv7 \3.--disable-ffmpeg \4.--disable-ffplay \5.--disable-ffprobe \6.--disable-ffserver \7.--enable-avresample \8.--enable-cross-compile \9.--sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk" \10.--target-os=darwin \11.--cc="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc" \12.--extra-cflags="-arch armv7 -mfpu=neon -miphoneos-version-min=6.0" \13.--extra-ldflags="-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -miphoneos-version -min=6.0" \14.--arch=arm \15.--cpu=cortex-a9 \16.--enable-pic \完成后在最后你可以看到这样一行文字:[plain]view plaincopy1.WARNING: Compiler does not indicate floating-point ABI, guessing soft.然后接着复制以下命令在终端里面回车执行:[plain]view plaincopy1.make clean && make && make install完成后你就可以在ffmpeg-1.2/armv7文件夹下面看到include、lib文件夹,lib目录下全是.a 文件。
6.编译ffmpeg armv7s(iPhone5)版本,复制以下命令到终端里面回车执行:[plain]view plaincopy1../configure \2.--prefix=armv7s \3.--disable-ffmpeg \4.--disable-ffplay \5.--disable-ffprobe \6.--disable-ffserver \7.--enable-avresample \8.--enable-cross-compile \9.--sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk" \10.--target-os=darwin \11.--cc="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc" \12.--extra-cflags="-arch armv7s -mfpu=neon -miphoneos-version-min=6.0" \13.--extra-ldflags="-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -miphoneos-versio n-min=6.0" \14.--arch=arm \15.--cpu=cortex-a9 \16.--enable-pic \同样,完成后在最后你可以看到这样一行文字:[plain]view plaincopy1.WARNING: Compiler does not indicate floating-point ABI, guessing soft.接着一样,复制以下命令在终端里面回车执行:[plain]view plaincopy1.make clean && make && make install7.编译ffmpeg i386(模拟器)版本,复制以下命令到终端里面回车执行:[plain]view plaincopy1../configure \2.--prefix=i386 \3.--disable-ffmpeg \4.--disable-ffplay \5.--disable-ffprobe \6.--disable-ffserver \7.--enable-avresample \8.--enable-cross-compile \9.--sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk" \10.--target-os=darwin \11.--cc="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc" \12.--extra-cflags="-arch i386" \13.--extra-ldflags="-arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk" \14.--arch=i386 \15.--cpu=i386 \16.--enable-pic \17.--disable-asm \同样,完成后在最后你可以看到这样一行文字:[plain]view plaincopy1.WARNING: Compiler does not indicate floating-point ABI, guessing soft.接着一样,复制以下命令在终端里面回车执行:[plain]view plaincopy1.make clean && make && make install8.创建公共lib库,就是把上面生成的三个版本的.a文件合并为一个,以后到真机或者模拟器只需要这一套就ok。
复制以下命令到终端里面回车执行:[plain]view plaincopy1.cd armv7/lib2.for file in *.a3.do4.cd ../..5.xcrun -sdk iphoneos lipo -output universal/lib/$file -create \6.-arch armv7 armv7/lib/$file \7.-arch armv7s armv7s/lib/$file \8.-arch i386 i386/lib/$file9.echo "Universal $file created."10.cd -11.done12.cd ../..9.这时候你去看看第四步中建立的四个文件夹里面,都不是每个文件夹里面都有lib文件夹,并且里面都有编译好的.a文件。