热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Fedora8下以源码编译方式安装linphone

由于linphone依赖了太多的库,安装的时候要多注意一些。在以源码形式安装软件的时候,./configure脚本如果没有显式指定安装路径(--prefix=),则默认安装到/usr/local目录下。这将给后面一些包的安装带来困扰,因为后面包的安装,要用到前面安装的包的头文件和库文件,如果这时候没有在./configure脚本中指定它所依赖的头文件和库文件位置(--with-FEATURE

由于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,有一个www.ekiga.net可以注册帐户。
它从外观上看起来似乎比linphone强大,但是,每次我把摄像头一插下去,它就crash了。
试了一下,ekiga和linphone可以互联互通。

在linux下你还在找windows中类似飞鸽传书的东东吗?用Ekiga和linphone吧。


推荐阅读
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • 本文内容皆为作者原创,如需转载,请注明出处:https:www.cnblogs.comxuexianqip13045462.html1.自定义分页器的拷贝及使用当我们需要使用 ... [详细]
  • 【云计算】Dockerfile、镜像、容器快速入门 ... [详细]
  • Maven入门、什么是Maven、如何使用Maven、Maven的项目结构、简单的Mavenjava项目、Maven常用命令、Maven项目之间的引用、Maven依赖的传递、可选、排除day01
    目录第一节Maven入门1.1什么是Maven1.2如何使用Maven第一步:下载Maven第二步:配置Maven的环境变量第三步:了解什 ... [详细]
  • 1jdk去网站下载,然后拷贝到linux上;或直接wgethttp:download.oracle.comotn-pubjavajdk8u181-b1 ... [详细]
author-avatar
mobiledu2502885807
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有