首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

基于Linux开源VOIP系统LinPhone[4]

2013-03-27 
基于Linux开源VOIP系统LinPhone[四]******************************************************************

基于Linux开源VOIP系统LinPhone[四]
***************************************************************************************************************************
作者:EasyWave                                                                                 时间:2013.03.23

类别:Linux 应用LinPhone                                                              声明:转载,请保留链接

注意:如有错误,欢迎指正。这些是我学习的日志文章......

***************************************************************************************************************************

在《 基于Linux开源VOIP系统LinPhone[三] 》中,简单的介绍了SPEEX的编译和所需的库文件,如果需要编译linphone的话,最好先只需编译不带UI和不带视频传输的,这样在后期调试的时候,会比较方便,如果想要自己修改linphone的代码,需要熟悉ffmpeg(libav)、speex、readline、SDL、x264、osip、eXosip等等一大堆的第三方库函数,如果不带视频的话,一般只需要speex、readline、osip、eXosip以及ncurses库即可。至于G722和G729,需要熟悉mediastreamer2之后,才可以根据具体的项目,进行二次开发。如下图所示:

基于Linux开源VOIP系统LinPhone[4]

看到了吗,不过,如果你的平台中本身就带有摄像头的接口的话,图中的libv4l其实用不上,我后来仔细分析了mediastreamer2之后,发现根本就没有用上它,因为在mediastreamer2中有msv4l.c和msv4l2.c。

1):ncurses的编译

最好在ncurses的目录下建立一个build.sh文件,这样每次就执行./build.sh文件即可。如下所示:

#!/bin/bashINSTALL_PATH=`pwd`/_installmkdir -p $INSTALL_PATH#autoreconf -ivmake distclean./configure --prefix=$INSTALL_PATH \            --host=arm-none-linux-gnueabi \            --target=arm-none-linux-gnueabi  \--build=i486-linux-gnu \            --with-shared \ if [ $? -eq 0 ]; then        make         if [ $? -eq 0 ]; then                make install                exit 0        fifiexit 1


2):readline的编译

build.sh的脚本文件如下所示:

#!/bin/bashINSTALL_PATH=`pwd`/_installmkdir -p $INSTALL_PATH#autoreconf -ivmake distclean./configure --prefix=$INSTALL_PATH \            --host=arm-none-linux-gnueabi \--build=i486-linux-gnu \            --enable-multibyte \            --enable-shared \            --disable-static if [ $? -eq 0 ]; then        make         if [ $? -eq 0 ]; then                make install                exit 0        fifiexit 1


3):osip的编译

osip的build.sh文件如下所示:

#!/bin/bashINSTALL_PATH=`pwd`/_installmkdir -p $INSTALL_PATHmake distclean./configure --prefix=$INSTALL_PATH \            --host=arm-none-linux-gnueabi \--build=i486-linux-gnu \            --disable-option-checking  \            --disable-dependency-tracking \            --enable-shared=yes \            --enable-static=no \            --enable-fast-install=no \            --disable-libtool-lock \            --disable-debug \            --enable-trace \            --disable-mpatrol \            --disable-gprof \            --enable-mt \            --enable-pthread  \            --enable-semaphore \            --enable-sysv \            --disable-gperf \            --disable-hashtable \            --enable-test \            --disable-minisize \            --with-gnu-ld if [ $? -eq 0 ]; then        make         if [ $? -eq 0 ]; then                make install                exit 0        fifiexit 1


4):libeXosip的编译

#!/bin/bashINSTALL_PATH=`pwd`/_installmkdir -p $INSTALL_PATHmake distclean./configure --prefix=$INSTALL_PATH \            --host=arm-none-linux-gnueabi \    --build=i486-linux-gnu \            --disable-option-checking  \            --disable-dependency-tracking \            --enable-shared=yes \            --enable-static=no \            --enable-fast-install=no \            --disable-libtool-lock \            --disable-tool \            --disable-debug \            --enable-trace \            --disable-mpatrol \            --disable-gprof \            --enable-mt \            --enable-pthread  \            --enable-semaphore \            --enable-sysv \            --disable-openssl \            --enable-srvrec \            --disable-minisize \            --with-gnu-ld \            OSIP_LIBS="-lpthread -losip2 -losipparser2 -L$INSTALL_PATH/lib" \            OSIP_CFLAGS="-I$INSTALL_PATH/include"if [ $? -eq 0 ]; then        make         if [ $? -eq 0 ]; then                make install                exit 0        fifiexit 1


最后,就是编译linphone的代码了。这个自己去运行./configure -h来进行设置和编译了。最后,还需要根据具体的芯片去修改oss和alsa的代码,否则会出现无法播放的问题。

 

热点排行