faac交叉编译
1. 请问什么是FAAC、FAAD
FAAC和FAAD是2个开源的音频编解码库。这2个库可以对PCM音频(标准数字音频数据)进行ACC(高级音频编码)编码和解码。
FAAC是ACC音频编码库,可将PCM原始数据编码为ACC文件格式。
FAAD是ACC音频解码库,可将ACC文件格式的数据解码为原始PCM数据。
扩展:
PCM:
PCM(Pulse Code Molation,脉冲编码调制)音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准数字音频数据。
ACC:
AAC,全称Advanced Audio Coding,中文名:高级音频编码。是一种专为声音数据设计的文件压缩格式。与MP3不同,它采用了全新的算法进行编码,更加高效,具有更高的“性价比”。利用AAC格式,可使人感觉声音质量没有明显降低的前提下,更加小巧。
2. 使用FAAC将WAV转换成AAC格式,总是少了最后一小部分的声音,为什么呢
你好!
慢慢来为你解答
1.你先使用酷狗音乐试试看听听运来的AAC文件有没有短缺,如果有在看看
你的WAV是否可以播放你试试如果视频可以播放到最后,转换后的AAC如
果没有那一段,那肯定是你转换是出现了问题,我建议你使用音悦台mini
客户端,因为我也在用成功率在100%但是这款软件没有转换AAC的选项
酷狗音乐也不错但是只能音频转音频所以你的问题只能从你是用的软件说
起,是你的软件转换的问题。
2.为什么只能用快播播放呢,可能是关联的问题你可以点击右击你的文件然后
属性旁边有一个“更改”点击他会跳出“打开方式” 然后你在下面的框框里选上
你要的那个软件进行播放。
如果windows media player 还是不行那就是那个AAC文件里面有快播的泽码
(专属文件)就像优酷客户端下载的视频就是其他软件拨不出来的只有他自
己优酷的才可以播出。
(我说了这么多,你有没有明白了什么呢?)
3. Ubuntu 9.10下安装和使用ffmpeg的详细过程!
ffmpeg的编译、安装及使用(for x86,for arm)
http://hi..com/iminway/blog/item/bda2db4e29ced701b2de05f1.html
最新的ffmpeg可以通过svn下载,SVN辅助的软件有:
SubVersion,从 http://subversion.tigris.org/ 下载,支持linux。
TortoiseSVN,从 http://tortoisesvn.tigris.org/ 下载,是很不错的SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端,用起来很方便。
http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz
tar zvxf subversion-1.3.2.tar.gz
cd subversion-1.3.2
./configure --with-apr=/usr/local/apr-httpd --with-apr-util=/usr/local/apr-util-httpd/
make
make install
如果安装了FC6,它已经带了svn,不用装了。
ffmpeg的下载:我们就可以通过svn命令获取最新的ffmpeg,命令如下:
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
xvid的获取地址如下:
http://www.xvid.org/
wget http://downloads.xvid.org/downloads/xvidcore-1.1.3.tar.gz
配置编译
for x86
#./configure --prefix=/usr/local
#make
#make install
for arm
#CC=arm-linux-gcc ./configure --prefix=/usr/local/arm/arm-linux --build=i686-pc-linux --host=arm-linux --target=arm-linux
#make
#make install
x264的获取地址如下:
svn co svn://svn.videolan.org/x264/trunk x264
配置编译
for x86
#./configure --enable-shared --prefix=/usr/local
#make
#make install
for arm
#CC=arm-linux-gcc ./configure --enable-pthread --enable-shared --host=arm-linux
#make install
lame的获取地址如下: http://lame.sourceforge.net/index.php
配置编译
for x86
./configure --enable-shared --prefix=/usr/local
libdts编译参数
./configure --prefix=/usr
make
make install
http://www.audiocoding.com/moles/mydownloads/,http://prdownloads.sourceforge.net/faac
FAAD2的编译
cd faad2
autoreconf -vif
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install
faac的编译
cd faac
chmod +x bootstrap
./bootstrap
./configure --prefix=/usr --with-mp4v2 --enable-shared
make
make install
在编译ffmpeg,在configure时加上--enable-amr_nb --enable-faad --enable-faac参数。
编译的时候加上--enable-amr_nb --enable-amr_wb参数就行,根据编译系统的提示,所以我们得下载一些编译3gp所需得文件。
源码网址:http://www.3gpp.org/ftp/Specs
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
解压以后把里面的文件都拷贝到libavcodec/amrwb_float
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip
解压以后把里面的文件都拷贝到libavcodec/amr_float
微软ASF格式的三个版本,WMV1,WMV2,WMV3分别对应MediaPlayer的版本7,8和9,所以很多时候会称VC1为WMV3或 WMV9,都是它了,有时候在代码里,也能看到称呼它为VC9的。因为微软还没有正式公开这种格式,所以当前对VC1的支持还很不完善。本文基本是根据 Multimedia Mike的一篇博客翻译和完善而来。
(1) 首先要下载 SMPTE VC-1 reference decoder,这个组织是要收费的,可以从这里下载免费的。
(2) 在ffmpeg目录下的libavcodec目录下面,建立目录libvc1。
(3) 将VC1_reference_decoder_release6/decoder/目录中的*.c和*.h文件全部到libvc1目录下。
(4) 将VC1_reference_decoder_release6/shared/目录中的*.c和*.h文件全部到libvc1目录下。
(5) 将 libvc1-makefile.txt放到libvc1下的Makefile文件。
(6) 将smpte-vc1.c文件放到libavcodec目录下。
(7) 修改libavcodec目录下的vc9.c,将文件最后的wmv3_decoder这个AVCodec的structure,用#if 0和#endif包含起来,也就是使它失效了。
(8) 修改libavcodec目录下的allcodecs.c,将register_avcodec(&wmv3_decoder)上下的注释去掉,使它发挥作用。
(9) 修改libavcodec目录下的Makefile,把OBJS的列表中加入smpte-vc1.o。
(10)修改ffmpeg主目录下的Makefile文件,把-L./libavcodec/libvc1 -lvc1$(BUILDSUF)加入到FFLIBS后面。
(11) 进入ffmpeg/libavcodec/libav1,执行make
(12) 到ffmpeg主目录下,执行config;make;make install。config时根据实际情况带参数。
采用ffmpeg转码制作FLV文件,和转码成其它媒体类型的重要差别是一定要有lame库支持,因为FLV的声音编码采用mp3格式,非lame这个东 东不行。编译ffmpeg中加入lame库真是一场灾难,特别在windows下,很多参数都不能发挥作用,最后直接手工和改一些文件,记录如 下:
(1) 如果在Windows下编译,第一步当然是下载MinGW和MSYS来装上了。到http://mingw.sourceforge.net/去下载最新版的MinGW-5.0.2.exe和MSYS-1.0.11-2004.04.30-1.exe。
(2) 先安装MinGW,直接运行MinGW-5.0.2.exe安装,选择目录,譬如选择D:\MinGW为安装目录。安装时需要选择gcc和make模块,安装文件本身很小,会从网上下载模块来安装。
(3) 然后安装MSYS,也是直接运行MSYS-1.0.11-2004.04.30-1.exe安装。安装目录一般选择D:\MinGW\bin \1.0。,安装过程会询问刚才安装MinGW的目录,输入D:\MinGW,其它都回答'Y'就搞定了。如果不清楚,可以看这个图片效果。
(4) 运行MSYS,桌面上有个图标,双击就运行了,运行结果是一个模拟unix的命令窗口,后面的编译都在这种状态下进行。前面4步在linux不需要。
(5) 到http://lame.sourceforge.net/去下载最新版的lame-3.97b2.tar.gz,到你认为合适的地方,解压后进入lame解压出来的目录中。执行
./configure --prefix=PREFIX
make
make install
(6) 就把编译出来的include下的lame目录到/usr/include目录下,把lib下的几个库文件都到/usr/lib目录 下。这里注意有个变化,如果只 lib目录下的静态库到/usr/lib下,就是只 libmp3lame.a文件,编译出来的ffmpeg最终就不会对libmp3lame的动态库有依赖关系,这是因为编译首先找动态库,动态库没有才找 静态库。如果不做这个,后面编译ffmpeg时无论如何指定参数,都会报错LAME not found,不知道是哪里的bug。
(7) 从http://ffmpeg.mplayerhq.hu/取得最新的ffmpeg,现在自由软件都大量采用SVN了,要先装一个SVN,可以去http://tortoisesvn.tigris.org/下载windows版的SVN,去http://subversion.tigris.org/下载linux版的SVN。SVN如何编译安装这里就省略了。
(8) 如果在windows下,打开解压后的ffmpeg目录下的Makefile文件,在FFLIBS的那一行后面加上-lmp3lame$(BUILDSUF)。这个也不知道是哪个bug引起的,搞了好长时间才搞出来,郁闷。Linux下不用这样。
#./configure --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-faadbin --enable-dts --enable-pp --enable-faad --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay
make
make install
http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-510.zip
解压以后把里面的文件都拷贝到libavcodec/amr目录下
make
make install
#./configure --prefix=./install --disable-shared --enable-pthreads --enable-libx264 --enable-libxvid --arch=i686 --enable-gpl
#make
#make install
配置编译
#./configure --prefix=/home/zht/redhatzht/sources/image-colletct/ffmpeg/install --enable-static --disable-shared --enable-libx264 --enable-libxvid --cross-compile --cc=arm-linux-gcc --arch=arm --enable-gpl --disable-strip --disable-network --disable-ipv6 --disable-vhook --disable-audio-beos --disable-audio-oss --disable-mpegaudio-hp --enable-pthreads --enable-small --disable-parsers --disable-debug
#make
#make install
x86上的ldconfig不能在arm上运行,arm上的ldconfig工具是在建立交叉编译器时,编译glibc是产生的,可以拷贝到arm-linux中。
(4) 本文大部分内容来自网络,其中xvid,x264的库,我亲手安装过,ffmpeg的配置编译for x86的简易配置,for arm,我亲手配置编译过,并在x86,arm上可用,编译配置都是采用静态库。
ffmpeg作为媒体文件处理软件,基本用法如下:
ffmpeg -i INPUTfile [OPTI
文章出处:DIY部落(http://www.diybl.com/course/6_system/linux/Linuxjs/20091024/180077.html)
4. 关于AAC格式编码!!!
1、CD导入电脑,想要质量高,最好的选择是用无损格式APE或者FLAC之类。对于有损的AAC,码率越高音质越接近原CD。AAC的最大码率约在500kbps左右。
2、如果真的是用AAC格式,VBR选不选无所谓。因为AAC的编码器一定会用VBR模式来编码,不管你选不选。
3、AAC流行的编码器有三种:itunes、nero和faac。faac编码,高频部分保留好,甚至可以骗过无损音频检测,但实际上中频(人声部分)损失大;nero中频保留好,人声细腻保真度高,但高频损失较多;苹果官方的itunes则介于两者之间。
foobar通过通用转换插件可以调用nero和faac、通过qaac插件可以调用itunes编码器。千千静听内置nero编码器。直接用苹果itunes软件来转应该也是可以的。
4、ogg的特点是在极低码率下保真音频音质失真度不是太高,aac则可以通过编码模式调整,可以适应从极低到高的各种码率,总的来说AAC比较好。
另外注意一点,AAC格式的音频文件,后缀不是AAC,而是MP4或者M4A。
5. linux faac make出错
你yum install gcc一下
然后再便宜安装ffmpeg
就不会提示3gp.o的错了
6. faac 编译错误问题!
注释掉faac-1.28/common/mp4v2/mpeg4ip.h 里的第126行
char *strcasestr(const char *haystack, const char *needle);
重新编译就可以了
7. faac.exe的编码参数
编码器放的位置是无所谓的,重命名也没必要
我用的也是faac.1.28...你在要转换的歌曲上右击,选择转换,然后选择编码器 再设置码率。。然后会有弹窗提示选择编码器。。你选faac.exe就行。。再选择输出目录就可以。。。步骤就是这样,没法准确表达,我一直用英文的foobar
不过不知道你知道千千那什么的
千千确实不给力,但是千千转AAC用的LAME.AAC组件是很好的
和foobar的FAAC.1.28相比,优势在于300kb码率以下所有区间
就是说,要么转换高码率AAC,不然用千千的Nero就够了
当然还有中低码率优势更大的itues。。。如何选择自己决定吧
8. FAAC和AAC有什么区别
AAC又不是苹果的,只不过这个格式是现在最推崇的格式。
FAAC是AAC的一种编码。。。我们平时一般转换格式的编码都是NERO或者FAAC,似乎看过测评说FAAC要优秀些,可以在更小体积上实现同等音质。这两种编码似乎都是免费的,其实还有很多商用AAC编码,也许是用在正版歌曲上吧,只要支持AAC的机器都可以支持以上编码。苹果ITUNES不清楚是用什么编码。。。AAC格式主要的后缀名是 ".m4a"或者".mp4"FAAC是指编码器,苹果的AAC大概是指楼上说的iTunes plus aac。首先无论你用什么音源转换,无论你用什么编码器,无论你把码率提升至什么地步效果肯定是后者更好。因为后者使用录音胶片(网友们的猜测,但是可能性很大)直接转换的,避免因多次转换而造成的不必要的信息损失。网上有直接用无损转512K AAC和itunes plus aac的频谱图对比,后者的信息含量要比前者的多很多(特别是高频部分)。
9. faac和ct aac+哪个比较好~
有损压缩出来的音质,不单单跟“什么编码器”、“多大码率”有关,还跟你编码器的设置有很大关系。
aac为什么叫嚣能比mp3强?除了商业运作上的吹牛之外,也存在多数人不知道怎么压mp3最好的问题。如果你用lame的preset-insane q0压出的320的mp3,绝对是比aac的320强的。
但是,aac的最大码率可以压到320以上(其实mp3也能,只不过压出来的那东西随身听是放不了的)。比如说用nero的q=1,压出来的通常都是400多kbps,直接指定cbr的话可以更高,比如说512kbps,在带宽占用增加了这么多的情况下,它自然会比320kbps的mp3更强一些。
只不过一般无损压缩的码率也就是700-800,你压成512的实在比较蛋疼。。。但你既然提出这样的问题,估计你是给随身听用的。
于是,告诉你。。最被认可的aac编码器有俩,一个是neroaacenc,一个是qtaacenc,他们都有truevbr模式,前者是q参数,后者是tvbr参数。
因为你不计较大小,所以我就推荐nero了,因为他能压到320以上,而qtaac不行。
假如说用neroaac压一个wav,压成512的,那么命令行如下
neroaacenc -lc -cbr 512000 -if 输入.wav -of 输出.m4a (或者.aac)
假如你是用neroaac配合foobar或者ffmpeg之类的解码器做pipe,那么命令行这样:
neroaacenc -lc -cbr 512000 -ignorelength -if - -of 输出.m4a (或者.aac)
10. FAAC和Nero的aac编码器有什么区别
高频下FAAC的音质比NERO好一些,中低频下NERO比FAAC好。关键是在于自己的偏好。
