• <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 長風 閱讀(7238) 評論(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)

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            要久久爱在线免费观看| 婷婷久久香蕉五月综合加勒比| 婷婷伊人久久大香线蕉AV| 亚洲精品无码久久久久久| 久久99精品久久久久子伦| 色综合久久久久网| 手机看片久久高清国产日韩| 久久AV无码精品人妻糸列| 欧美一区二区精品久久| 久久综合九色欧美综合狠狠| 天天爽天天狠久久久综合麻豆| 9久久9久久精品| 久久99精品久久久大学生| 国产精品久久久久久久久免费 | 无码8090精品久久一区| 亚洲精品乱码久久久久久蜜桃不卡 | 亚洲AV无码久久精品成人 | 国内精品伊人久久久久网站| 久久久久国产精品人妻| 国产成人精品久久一区二区三区av | 久久精品成人免费看| 久久精品桃花综合| 国内精品久久久久久久影视麻豆| 久久SE精品一区二区| 久久综合九色综合久99| 99久久国产综合精品五月天喷水 | 久久精品黄AA片一区二区三区| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久亚洲中文字幕精品有坂深雪| 久久久久人妻精品一区三寸蜜桃| 狠狠久久亚洲欧美专区| 久久久久亚洲AV成人片| 久久久久久久精品妇女99 | 久久综合香蕉国产蜜臀AV| 伊人 久久 精品| 无码任你躁久久久久久老妇App| 狠狠精品久久久无码中文字幕| 91久久精品电影| 青青国产成人久久91网| 国产精品午夜久久| 精品国产热久久久福利|