• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            老大不傷悲

             

            最近研究libjingle的經驗總結

            最近有一個語言項目方面的調研,需要評估一下libjingle,所以研究了半個月的libjingle,現在把經驗總結如下(如有不對,請不吝賜教):
            1、libjingle庫所帶例子只支持rtpdump文件傳遞語音,不支持實時語音通話;
            2、最新的幾個版本的libjingle庫去掉了GIPS voiceEngine的相關部分(可能是因為google收購了GIPS);
            3、那么在windows下要支持實時語音通話,可以用linphone media engine,不過這個庫是linux下的,所以遷移過來會費不少精力(不知有沒有更好的方法):
            要想在windows下用linphone media engine, 首先,按照README的說明添加如下代碼:
            Add the following lines into the libjingle.scons file.
                In the "talk.Library(env, name = "libjingle",..." section, you need to add:
                  "HAVE_LINPHONE",
                  "HAVE_SPEEX",
                  "HAVE_ILBC",
                to the "cppdefines = [".
                add:
                 "session/phone/linphonemediaengine.cc",
                to the "srcs = [ ..."

                add:     
                  "third_party/mediastreamer/include",
                  "third_party/ortp/include"
                to the "includedirs = [ ..."

                In the "talk.App(env, name = "call",..." section, you need to add:
                  "ortp"
                  "mediastreamer",
                to the "libs = [".
             
            然后,
            訪問http://download.savannah.gnu.org/releases-noredirect/linphone/ortp/sources/下載ortp代碼,
            訪問http://download.savannah.gnu.org/releases-noredirect/linphone/mediastreamer/下載mediastreamer,
            并復制到libjingle庫的third_party中,文件夾名需與上一步添加的路徑名一致。

            在windows下需要dll,所以還得編譯兩個庫的dll,方法轉自:
            http://www.cnblogs.com/joiner/archive/2010/06/18/1759941.html Mingw&msys的手動安裝;
            http://www.cnblogs.com/joiner/archive/2010/06/18/1759943.html Mingw&msys環境中編譯mediastreamer2和ortp。
            接著,
            copy .lib文件到talk\build\dbg\lib目錄,
            copy .dll到talk\build\dbg\staging目錄。

            然后,修改libjingle庫的socketaddress.cc里的一個bug,參考http://mysuperbaby.iteye.com/blog/910830
            增加紅色,解決域名轉IP的問題:
            bool SocketAddress::StringToIP(const std::string& hostname, uint32* ip) {
              in_addr addr;
              struct hostent *host;
              if (isalpha(hostname.c_str()[0]))
              {
                        host = gethostbyname(hostname.c_str());
                        if (host == NULL)
                        {
                            printf("gethostbyname error\n");
                            return false;
                        }
                        memcpy(&addr.s_addr,   host->h_addr_list[0],host->h_length);
              }
              else if (inet_aton(hostname.c_str(), &addr) == 0)
              {  
                  return false;
              }
              *ip = NetworkToHost32(addr.s_addr);
              return true;
            }

            按照README的方法,編譯。

            通過后運行call.exe,與Gtalk通話。

            如果音質不好,斷斷續續,可以在mingw&msys下,
            移除 winsnd2.c 添加winsnd3.c 重新編譯ortp庫。

            還有就是關于receiving RTCP packet: Connection reset by peer. 參考http://mysuperbaby.iteye.com/blog/911159
            這篇文章,也沒有解決,不過不影響音質。

            posted on 2011-08-04 11:59 長風 閱讀(7239) 評論(10)  編輯 收藏 引用

            評論

            # re: 最近研究libjingle的經驗總結[未登錄] 2011-10-08 21:55 思琦

            您好,想請教您關于libjingle的問題,qq號398899714,希望可以聯系您  回復  更多評論   

            # re: 最近研究libjingle的經驗總結 2011-10-09 15:45 長風

            @思琦
            什么問題??  回復  更多評論   

            # re: 最近研究libjingle的經驗總結 2011-10-09 21:16 思琦

            @長風
            就是編譯出來的不能用,出現無法定位程序輸入點PropVariantClear于動態鏈接庫libortp-8.dll,然后查找了libortp-8.dll,并沒有PropVariantClear,不知道該怎么辦,還有,能不能將您編譯好的libjingle,windows下用linphone media engine的代碼發給我  回復  更多評論   

            # re: 最近研究libjingle的經驗總結 2011-10-17 14:11 長風

            @思琦
            你用的是哪個版本?
            我用的是0.5.7,我改的就是上面寫的這些啊  回復  更多評論   

            # re: 最近研究libjingle的經驗總結[未登錄] 2011-10-18 08:39 思琦

            哦,我用的是0.5.8  回復  更多評論   

            # re: 最近研究libjingle的經驗總結[未登錄] 2011-11-03 09:35 思琦

            @思琦
            那你能把你改的0.5.8的代碼發給我么  回復  更多評論   

            # re: 最近研究libjingle的經驗總結[未登錄] 2011-11-04 15:39 思琦

            發錯了,是0.5.7版本的代碼  回復  更多評論   

            # re: 最近研究libjingle的經驗總結 2011-12-25 16:09 MengQiang

            您好!我編譯成功了libjingle + linphone,現在call端說話,gTalk端可以聽到,但是gTalk端說話,call端聽不到。如果是兩個call端互相說話,兩方都聽不到,請問,這可能是什么原因?非常感謝!!  回復  更多評論   

            # re: 最近研究libjingle的經驗總結[未登錄] 2013-05-14 12:20 zzz

            您好,windows下可用GIPS VioceEngine Lite~官網說的,我現在編譯出現MediaEngineFactory的Create出錯,這個方法是要自己實現嗎?麻煩加下我的QQ:173613191.因為我沒有注冊這個網站~看不到您的回復~  回復  更多評論   

            # re: 最近研究libjingle的經驗總結 2013-09-16 18:16 jin

            您好,我調試了好久,還是報各種錯誤,你發一個可運行的工程給我嗎?謝謝!
            郵箱:jinhailang2008@gmail.com  回復  更多評論   

            導航

            統計

            常用鏈接

            留言簿(2)

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            思思久久好好热精品国产| 久久se精品一区精品二区国产| 久久综合亚洲色一区二区三区| 久久精品国产亚洲αv忘忧草| 久久狠狠高潮亚洲精品| 99久久精品这里只有精品| 成人午夜精品无码区久久| 26uuu久久五月天| 亚洲AV无码一区东京热久久| 狠狠综合久久综合中文88| 久久精品日日躁夜夜躁欧美| 办公室久久精品| 久久无码人妻一区二区三区| 久久se精品一区二区影院| 国内精品久久久久久99蜜桃| 一级女性全黄久久生活片免费 | 久久久久99精品成人片| 久久久久久久久久久久久久 | 99精品久久精品| 伊人色综合久久天天人手人婷 | 久久精品国产AV一区二区三区| 久久被窝电影亚洲爽爽爽| 久久精品国产亚洲av高清漫画| 免费精品国产日韩热久久| 久久精品国产亚洲Aⅴ香蕉| 国产精品久久一区二区三区| 久久综合给久久狠狠97色| 久久人妻少妇嫩草AV蜜桃| 91麻豆国产精品91久久久| 思思久久99热免费精品6| 久久久久亚洲AV无码专区网站| 日本福利片国产午夜久久| 91精品国产9l久久久久| 国产精品久久网| 国产成人精品久久综合| 精品久久久久久99人妻| 久久青青草原精品国产软件| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 色婷婷综合久久久久中文字幕| 久久天天躁狠狠躁夜夜不卡| 久久强奷乱码老熟女网站|