Fedora 8下以源码编译方式安装linphone

由于linphone依赖了太多的库,安装的时候要多注意一些。
在以源码形式安装软件的时候,./configure脚本如果没有显式指定安装路径(--prefix=),则默认安装到/usr/local目录下。

这将给后面一些包的安装带来困扰,因为后面包的安装,要用到前面安装的包的头文件和库文件,如果这时候没有在./configure脚本中指定它所依赖的头文件和库文件位置(--with-FEATURE=),则它默认在/usr/include和/usr/lib目录下找,当然找不到了,编译就会出现错误。

所以安装的时候,最好把./configure --help中的参数看一看,指定安装在/usr下,可以省去很多麻烦。

注意:安装在/usr下,会把系统中原有的旧的库文件头文件替换掉,如果你还想使用它们,还是安装在/usr/local目录下。

1.安装speex

[root@localhost atom]# rpm -qa | grep speex
speex-1.2-0.3.beta2

没有devel包,必须安装speex-1.2beta3.tar.gz
./configure --prefix=/usr
make
make install

2.安装libosip2-3.1.0.tar.gz
./configure --prefix=/usr
make
make install

3.安装libeXosip2-3.1.0.tar.gz
./configure --prefix=/usr
make
make install

4.安装readline
[root@localhost atom]# rpm -qa | grep readline
readline-devel-5.2-7.fc8
readline-5.2-7.fc8
已经有了,不必安装

5.安装alsa-lib
[root@localhost atom]# rpm -qa | grep alsa-lib
alsa-lib-devel-1.0.15-1.fc8
alsa-lib-1.0.15-1.fc8
已经有了,不必安装

6.安装SDL
[root@localhost atom]#rpm -qa | grep SDL
SDL-1.2.12-2.fc8
SDL-devel-1.2.12-2.fc8
已经有了,不必安装

安装ffmpeg。
惭愧,ffmpeg是什么我还搞得不是很清楚,决定去做做功课。还有linux下的一堆视频处理库。
要让ffmpeg发挥的功能越大,你需要安装的多媒体库就要越多。这里怕麻烦,我只选取了lame ogg xvid faad2安装。

7.安装lame-398.tar.gz 传说中的神器:)
./configure --prefix=/usr
make
make install

8.安装libogg-1.1.3
./configure --prefix=/usr
make
make install

9.安装faad2-2.6.1.tar.gz
./bootstrap
./configure --prefix=/usr
make
make install

10.安装xvidcore-1.1.3.tar.gz
cd ${xvidcore}/build/generic
./configure --prefix=/usr
make
make install

11.安装ffmpeg
ffmpeg现在只能通过svn方式获得
svn checkout svn://svn/mplayerhq.hu/ffmpeg/trunk ffmpeg
当前目录会自动出现一个ffmpeg的目录,耐心等它下载完。我下的大小差不多32MB
./configure --prefix=/usr --enable-gpl --enable-shared --enable-libmp3lame --enable-libxvid --enable-libfaad --enable-libfaadbin --enable-swscale --enable-pthreads
--enable-swscale一定要,后面编译mediastreamer2要用到

make
make install

12.安装gtk
[root@localhost atom]# rpm -qa | grep gtk2-devel
gtk2-devel-2.12.1-5.fc8


13.安装libtheora-1.0beta3.tar.gz
./configure --prefix=/usr
make
make install

14.安装linphone-2.1.1.tar.gz
linphone源码包里已经带有oRTP和mediastreamer2,可以将它们整体编译,但是最好还是先分别进入oRTP和mediastreamer2文件夹各自编译。

安装oRTP
./configure --prefix=/usr
make
make install

安装mediastreamer2
./configure --prefix=/usr --enable-alsa --enable-video --with-ffmpeg=/usr --with-sdl=/usr --enable-shared
make
make install

注意make的时候会出错,由于找不到头文件。
在/usr/include下新建ffmpeg文件夹,把avcodec.h swscale.h avutil.h复制进去
[root@localhost include]# mkdir ffmpeg
[root@localhost include]# cp libavcodec/avcodec.h ffmpeg
[root@localhost include]# cp libswscale/swscale.h ffmpeg
[root@localhost include]# cp libavutil/avutil.h ffmpeg/
我也不想用这么土的方法。 我也试过在编译ffmpeg的时候指定生成头文件的目录,但是这样做会导致一个动态库链接不过去,真奇怪。
ffmpeg在/usr/include下生成的文件夹是libavcodec libavdevice libavformat libavutil libswscale
做个记号,以防日后查找需要

安装linphone
./configure --prefix=/usr --enable-alsa --enable-video --with-osip=/usr --with-readline=/usr --with-ffmpeg=/usr --with-sdl=/usr
make
make install

完毕

15.测试通信

在windows下安装linphone-win32-0.5.2-setup.exe,这是个超级弱的版本。不能chat,但是可以视频。
tools -> settings -> sip settings -> add proxy
在your中填入 sip:atomchan@10.10.104.200
sip和@之间的用户名随便填,反正这个是在局域网中,@后面填上自己的IP地址,它都不会送到DNS去解析。

插入摄像头,开始呼叫linux下的linphone sip:atom@10.10.104.196

可以聊天了。

附:
不管是Ubuntu还是Fedora,默认都装有一个Ekiga,这就是之前叫Gnome meeting的东西。
它也是一款soft phone,有一个可以注册帐户。
它从外观上看起来似乎比linphone强大,但是,每次我把摄像头一插下去,它就crash了。
试了一下,ekiga和linphone可以互联互通。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0b46d6fccbbfd956dca65fbe9b701d6a.html