一元购物app,百度seo通科,网站开发的硬件环境和软件怎么写,网络产品及其推广方法Linphone依赖太多的库#xff0c;以致于稍有疏失#xff0c;就会在编译#xff0c;运行出错#xff0c;都是由于依赖库安装的问题。 1 基础知识 1.1 动态库的连接 很多人安装完库后#xff0c;configure依然报告这个库没有。这是对linux动态库知识匮乏造成#xff0c;也就… Linphone依赖太多的库以致于稍有疏失就会在编译运行出错都是由于依赖库安装的问题。 1 基础知识 1.1 动态库的连接 很多人安装完库后configure依然报告这个库没有。这是对linux动态库知识匮乏造成也就是对pkg-config工具使用的问题。 例如当我们执行./configure操作时动态库的检查是通过监视每个安装库产生的.pc文件。 其步骤为在/etc/ld.so.conf.d /usr/lib/pkconfig/ /usr/local/lib/pkconfig/ ...搜索.pc文件获取版本信息。搜索的目录是通过$PKG_CONFIG_PATH来确定的。有的人并没有把/usr/local/lib 作为默认动态库路径造成编译时出错简单的办法就是将所有依赖库,都安装在 /usr/lib 下即 ./configure --prefix/usr。 另一个重要点是在运行期还要确认动态库的搜索路径。我们可以用pkg-config添加删除系统中动态库的搜索路径 在运行程序前。 通过 ldd 查看应用程序的依赖库ldd会告诉你动态库的位置哪些没有安装。 ps:把linphone 装载 /usr下会解决很多问题原因自己体会吧。 2 关于linphone需要库 2.1 操作界面 linphone 有两种操作方式终端和图形分别对应于linphonec和linphone。 linphonec 依赖readline库实现它提供了一套Console的SDK可以轻松实现commandhistory的功能。在源码中对应console目录 linphone 依赖gtk实现 所以要确定gtk库的安装。 2.2 Codec linphone 自己做了一套mediastream库在源编译时安装时会自动装进系统。其中gsm ,G.711, PCM a/u都是在源码中提供的视频theroa库需要独立安装还有h263 MP4V ...都是用ffmpeg库的所以ffmpeg安装是必需的。 2.3 ffmpeg ffmpeg是一套录制,转换各种音视频各式的工具集,也提供SDK的codec接口。主要包括ffmpeg ffplay ffserver libavcodec libavformat 其中很多编解码库依赖于第三方比如xVid lampMP3 等等。 ffmpeg的编译大全 ffmpeg的编译大全 最近互联网视频共享的网站很火公司也想搞类似的网站初步是用fmsffmpeg形式 fms负责在线录制播放ffmpeg则在后台处理上传的资源转换成一定的格式。 为了让ffmpeg支持的格式尽量多所以特把我的编译笔记分享一下 环境redhat as4 1。首先获取ffmpeg 很多人找不到怎么下载,其实之前ffmpeg可以通过cvs下载不过最近他已经换成了更加强大的svn 如何使用SVN我这里不再介绍网上还有大量的安装和使用的文章可以借鉴这里简单罗列几个SVN辅助的软件 SubVersion从 http://subversion.tigris.org/ 下载支持linux我们这里就装这个 TortoiseSVN从 http://tortoisesvn.tigris.org/ 下载是很不错的SVN客户端程序为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端用起来很方便commit动作变得就像Winrar右键压缩一样方便。 ok那我们先装subversion记住最好之前装过apr和apr-util在apache.org网站能下到 wget 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 到此我们就可以通过svn命令获取最新的ffmpeg了 svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg 你会发现在你所在的目录自动出现一个ffmpeg的目录就是你下载的源代码。 我们还不能这么快编译ffmpeg应该如果要让ffmpeg支持更多格式的转换还需做一些前期工作 2.支持mp3linux当然是lame下载解压 cd lame-3.96.1 ./configure --enable-shared --prefix/usr 这里推荐尽量装在/usr下默认是装在/usr/local下。这样ffmpeg编译都能顺利的找到库文件 3.支持Ogg Vorbis: as4自带相应的rpm包你可以安装一下如下rpm包 libvorbis, libvorbis-devel,libogg, libogg-devel 4.支持xvid x264现在最流行的两种高质量的压缩格式 xvid的编译安装 wget http://downloads.xvid.org/downloads/xvidcore-1.1.0.tar.gz tar zvxf xvidcore-1.1.0.tar.gz ./configure --prefix/usr make make install x264的获取同样是采用svn方式看来svn取代cvs不远了 svn co svn://svn.videolan.org/x264/trunk x264 cd x264 ./configure --prefix/usr --enable-shared make make install 5.AC3和dts编码的支持 as4系统似乎已经支持ac3编码编译的时候只要加--enable-a52 --enable-gpl参数就行 libdts编译参数 ./configure --prefix/usr make make install 6.mpg4 aac格式支持由于服务器还针对手机用户服务所以类似aacmpg4铃声格式的支持我们也得做。这里我们安装faad2和faac就行 下载请到http://www.audiocoding.com/modules/mydownloads/ 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 7.支持3gp格式这也是现在好多手机支持的格式因为手机用户是我们的主要用户所以也得支持编译 编译的时候加上--enable-amr_nb --enable-amr_wb参数就行根据编译系统的提示所以我们得下载一 些编译3gp所需得文件。 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 好了基本ffmpeg支持的格式我们基本都做好前期准备了下面是ffmpeg的编译 ./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 补充1 关于3gp的编译如果大家要编译--enable-amr_nb-fixed那就不能跟--enable-amr_nb同时编译我不大清楚这两者到底有什么区别似乎fixed是修正版管他呢编译的方法 wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.073/26073-510.zip 解压以后把里面的文件都拷贝到libavcodec/amr目录下 修改libavcodec/amr/makefile 找到CFLAGS -Wall -pedantic-errors -I. $(CFLAGS_$(MODE)) -D$(VAD) 换成CFLAGS -Wall -I. $(CFLAGS_$(MODE)) -D$(VAD) -DMMS_IO 整体编译参数就是 ./configure --prefix/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb-fixed --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-dts --enable-pp --enable-faad --enable-faadbin --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay make make install 补充2 有朋友说在当在cpu是x86的情况下不能编译过去我这里没发生过这情况如果你真编译不过去可以试着加上cpucpu ok,一个强大的ffmpeg编译好了不过目前管方的ffmpeg还不支持wma9和rmvb不过网上有很多解决方法大家去自己找找。 文章出处http://www.diybl.com/course/3_program/gcs/2008617/126097.html