基於Linux開源VOIP系統LinPhone[四]

來源:互聯網
上載者:User

***************************************************************************************************************************
作者: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之後,才可以根據具體的項目,進行二次開發。如所示:

看到了嗎,不過,如果你的平台中本身就帶有網路攝影機的介面的話,圖中的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的代碼,否則會出現無法播放的問題。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.