• <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>
            隨筆 - 298  文章 - 377  trackbacks - 0
            <2008年6月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            常用鏈接

            留言簿(34)

            隨筆分類

            隨筆檔案

            文章檔案

            相冊

            收藏夾

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

               由于工作需要集成cef3來整合一個H5瀏覽器,前期也通過網(wǎng)上了解很多信息,最后下載了某個網(wǎng)友的cef3.2623版本編譯好的bin文件包,支持mp3,mp4,使用2623版本是因為這是最后一個支持XP的版本。

               最近客戶一些H5游戲可能用到一些新的js功能,2623上有時會出現(xiàn)問題,不得不升級到新版本,經(jīng)過一番調(diào)查,選用3071版本(實際程序是2623和3071同時存在),由于新版本在網(wǎng)上沒找到支持mp3,mp4的bin文件包,無奈只能嘗試自己編譯。

               本人想法是先編譯master,熟悉一遍再去折騰3071版本,所以3071版本的編譯要到最后面才記錄日志。不管怎么樣,先編譯通過了再說。。。。。。。。。。。。

             

            2017-07-20(嘗試):

            1)在網(wǎng)上搜索查看了大部分關(guān)于chromium和cef的編譯資料,以及官網(wǎng)等資料介紹,很多人說編譯目錄要簡單,如在C:\cef\或D:\cef路徑來下載編譯,總之目錄結(jié)構(gòu)盡量簡短,不然會碰到各種坑。

            2)網(wǎng)上經(jīng)常說編譯過程漫長且經(jīng)常出問題

            ...

            初探

                   懷著一顆恐懼的心開始編譯歷程,打開了cef官網(wǎng),在正式開始前,本人以為能夠僥幸在官網(wǎng)下載到需要的bin包,如http://opensource.spotify.com/cefbuilds/index.html和https://cefbuilds.com都下載嘗試,后面才覺悟,這些說白了只是cef的SDK包(即編譯后的用于開發(fā)瀏覽器的開發(fā)環(huán)境,包含了cef瀏覽器相關(guān)的dll和res以及部分相關(guān)的源碼),而cef的編譯環(huán)境(全部源碼,工具鏈等)還是需要乖乖下載。

                   這里要鄙視一下網(wǎng)上各類什么cef 環(huán)境搭建,cef編譯搭建等等文章,讓人眼花繚亂,初次接觸cef的人很容易給繞懵了,

                   本人對此頗有微言,一定要向初學(xué)者說明什么是cef編譯環(huán)境,什么是cef開發(fā)環(huán)境。

                   cef編譯環(huán)境: 用于編譯cef源碼   ---> 對應(yīng)Windows來說,就是Windows系統(tǒng)源碼了

                   cef開發(fā)環(huán)境: 用于集成cef開發(fā)瀏覽器APP(也就是通俗的CEF SDK) ----->對應(yīng)Windows來說,就是Windows API(DLL,LIB,INCLUDE...), WDK/DDK等。。。。

                   

            既然是要編譯cef,當(dāng)然就要搭建編譯環(huán)境了。

            源碼下載的坑

                   大部分介紹cef編譯的關(guān)于源碼下載部分都說需要買一個vpn,本人不信邪(沒錢),就在http://opensource.spotify.com/cefbuilds/index.html上下載cef和chromium源碼,其中chromium源碼所在網(wǎng)站訪問不了(國外服務(wù)器,如 https://gsdview.appspot.com/chromium-browser-official/chromium-59.0.3071.109.tar.xz),最后被我找到了在https://blink.lc/chromium/上有鏡像下載,全部源碼下載后,本人想根據(jù)cef官網(wǎng)的構(gòu)建方法來編譯,結(jié)果根本不行,編譯過程需要的git,這就要求各個源碼目錄被checkout才能下一步走,哭死。。。。。。。。。。。。

                   后面發(fā)現(xiàn)automate-git.py里面其實可以跳過git步驟進入后面的patch和build的,但在patch部分不知什么原因過不去了,要我人工完成patch并修改automate-git.py跳過patch步驟也可以,不過我沒那么傻,誰知道后面會有什么更恐怖的問題,所以最后干脆放棄了。。。。。。。。

            vs2015的坑

                   同時本人在一開始也安裝VS2015,參照網(wǎng)上說的全部按照默認(rèn)不要修改路徑之類的,結(jié)果安裝出來的VS2015缺少VC++ sdk,Windows SDK等,需要重新運行安裝程序再把這些都添加進去,這里也造成了我后面的悲劇,所以千萬不要安裝默認(rèn),一定要選自定義,勾選VC++和Windows SDK,至于其他C# 移動開發(fā)等看個人,總體上講VS2015的跨平臺戰(zhàn)略非常強大(體積也大)。

            2017-07-21(下載源碼)

                   經(jīng)過昨天的SM行為,我決定按照官網(wǎng)一步一步來(免vpn下載源碼,一次通過):

            1)創(chuàng)建目錄結(jié)構(gòu)

            復(fù)制代碼
            E:\03_Develop\cef3\   automate\     automate-git.py   <-- CEF build script   chromium_git\     update.bat   <-- Bootstrap script for automate-git.py   depot_tools        <-- Chromium build tools
            復(fù)制代碼

                   對于網(wǎng)上說的什么目錄結(jié)構(gòu)要越簡短越好,我不信邪,目錄就創(chuàng)建在E:\03_Develop\cef3下,后面有問題再說,非要在E盤根目錄下搞個莫名奇妙的目錄實在無法忍受,本人傾向于工作中要有合理的目錄管理。

            2)先下載depot_tools.zip解壓到E:\03_Develop\cef3\depot_tools下,用cmd命令行進入該目錄,運行update_depot_tools.bat,期間會下載python和Git,SVN。

                   由于網(wǎng)絡(luò)不同,而vpn和FQ軟件一直以來就是被我拒絕的,主要是對網(wǎng)絡(luò)上那些使用了此類工具后經(jīng)常表現(xiàn)一種政治優(yōu)越感的人讓我由衷討厭,為了訪問外國網(wǎng)站有很多辦法,本人通過http://ping.chinaz.com查找服務(wù)器IP,修改hosts文件后進行下載(就是下載過程中提示哪個網(wǎng)址無法訪問下載就找對應(yīng)網(wǎng)站的IP,IP先要本機能夠ping通)。

            3)下載automate-git.py到E:\03_Develop\cef3\automate下,

            4)在E:\03_Develop\cef3\chromium_git下創(chuàng)建update.bat,內(nèi)容為:

            set CEF_USE_GN=1 set GN_DEFINES=is_win_fastlink=true set GN_ARGUMENTS=--ide=vs2015 --sln=cef --filters=//cef/* python ..\automate\automate-git.py --download-dir=c:\code\chromium_git --depot-tools-dir=c:\code\depot_tools --no-distrib --no-build

                   在命令行下執(zhí)行update.bat,這里會下載cef和chromium源碼,由于下載量過大,本人對自己找到的IP不放心,萬一半夜斷網(wǎng)那豈不是悲劇,所以在網(wǎng)上找了google hosts文件(laod博客)來用,速度不錯,就是可能一個月后就失效了,也還算是穩(wěn)定吧(這是本人或國內(nèi)開發(fā)android時非常有效的下載SDK方法)。

            5)下載過程沒有網(wǎng)上說的那么漫長,2個多小時就完成了,9G左右吧(不過后面編譯會下載工具鏈第三方庫等也要1小時左右)

            2017-07-22(安裝VS2015)

                   昨晚下班回家,到半夜公司機器自動更新后重啟了,本來弄了個teamviewer想要遠程加班的,看來天意難違啊,程序員萬惡的加班連老天都看不下去了。

                   cef和chromium源碼已經(jīng)下載完成了,現(xiàn)在要來安裝vs2015了,由于之前全部安裝默認(rèn)安裝后被坑害了,C盤也剩一百多MB了,再添加Windows SDK也已經(jīng)不可能,只能先卸載掉已安裝的VS2015。

                   網(wǎng)上說最好把其他vs都卸載掉,安裝也都使用默認(rèn)路徑,本人還是不信邪(C盤快滿了,已安裝的VS2013旗艦版也要用),就把vs2015安裝到F盤(還有200G空間),期間中午吃飯電腦又重啟一次,氣得我直接把系統(tǒng)自動更新,休眠,屏保什么的都關(guān)閉掉了。安裝一半的VS2015只能用Windows install cleanup(msicuu2)清除掉,再重新安裝,這一步把我坑慘了,各種安裝錯誤失敗問題,網(wǎng)上有人說一些VS安裝失敗的莫名其妙問題怎么重裝卸載重裝都不行,搞得最后重裝系統(tǒng),我不信邪(重裝系統(tǒng)的代價太嚴(yán)重了),花了半天各種嘗試研究,到后面也解決了,記錄在這里:

            Visual Studio 2015/2013安裝失?。篗icrosoft Visual Studio 2015 Shell (Minimum) Interop Assemblies 安裝時發(fā)生嚴(yán)重錯誤

                    雖然解決了安裝VS2015問題,但不知道是因為第一次安裝失敗重新?lián)Q路徑安裝后有問題還是什么原因,勾選了VS2015自帶的Windows SDK安裝出來居然缺少debugger和um的庫,只有ucrt庫(和相關(guān)的uap配置文件),這個我開始一知半解,以為ucrt可以代替windows的um庫,就沒管,直接去編譯,后面真正編譯才知道太天真了。

            2017-07-24(開始編譯)

                    參考官網(wǎng),在E:\03_Develop\cef3\chromium_git\chromium\src\cef下創(chuàng)建create.bat,內(nèi)容如下:

            set CEF_USE_GN=1 set GN_DEFINES=is_win_fastlink=true set GN_ARGUMENTS=--ide=vs2015 --sln=cef --filters=//cef/* call cef_create_projects.bat

            源碼下載一半失敗的坑

                   尼瑪,居然在E:\03_Develop\cef3\chromium_git\chromium\src下找不到cef目錄,完了,肯定前面的update.bat有錯誤了,再運行一次,發(fā)現(xiàn)Git都checkout正確然后完成了。經(jīng)過一番折騰,我修改update.bat文件,加上--force-clean --force-clean-deps參數(shù)(參考官網(wǎng)內(nèi)容),這次Git先remove掉一些文件再重新checkout了,后來發(fā)現(xiàn)是在下載chromium的第三方庫時出現(xiàn)問題了,有些文件包下載不了,之前使用的hosts文件加上對應(yīng)的域名,IP其實都一樣,但是加上--force-clean --force-clean-deps參數(shù)后每次都要remove在update,非常耗時(到后面我發(fā)現(xiàn)有--force-update 參數(shù),但是已經(jīng)下載完成了就沒有測試,也許可以把,看automate-git.py的內(nèi)容是有更新下載的)。

            谷歌云存儲google-storage:  gs://xxxxxx文件 下載的坑

                   在下載第三方庫和build工具時,有部分文件是在谷歌云存儲服務(wù)器下載的,鏈接地址是gs://開頭的,在depot工具里有訪問gs的模塊,但我發(fā)現(xiàn)根本下載不了,在網(wǎng)上查找了一番,發(fā)現(xiàn)可以修改為https下載。修改內(nèi)容如下,有興趣展開查看

             View Code

                  由于這里修改了depot的py文件,按照前面的update.bat會導(dǎo)致Git提示需要commit才能繼續(xù),所以需要去掉depot tools update功能,在update.bat里加上參數(shù):--no-depot-tools-update --force-clean --force-update 。

            2017-07-25 (解決build目錄下gs://下載問題)

                  再次執(zhí)行update.bat,第三方庫下載完成了,但是后面更新build目錄的時候又出現(xiàn)一個gs://xxxx下載錯誤,排查后發(fā)現(xiàn)是get_syzygy_binaries.py里面的下載失敗導(dǎo)致的,同樣修改為https下載(參考前面)。但由于是每次執(zhí)行update.bat都會重新下載get_syzygy_binaries.py的,所以修改后的又被覆蓋回去了,本人是先把修改后的get_syzygy_binaries.py備份到E:\03_Develop\cef3\chromium_git\patch下,再修改automate-git.py文件,在其中的chromium源碼更新并checkout完成后,用copyfile函數(shù)把備份的E:\03_Develop\cef3\chromium_git\patch\get_syzygy_binaries.py復(fù)制替換到E:\03_Develop\cef3\chromium_git\chromium\src\build下即可(否則每次都會提示gs://xxxx下載失?。?。

                  到這里,需要下載的全部完成了。

                  整個cef源碼編譯環(huán)境算是99%完成了,剩下的已經(jīng)是編譯的問題了。經(jīng)過不斷的折騰,本人對編譯過程的python腳本流程也漸漸熟悉起來,查找定位普通的問題并修改都可以應(yīng)付了。

            正式編譯

                  由于源碼編譯環(huán)境和vs2015都準(zhǔn)備好了,開始編譯,本人也不按照官網(wǎng)說的使用create.bat來編譯了,而是修改update.bat文件,先整個文件復(fù)制粘貼重命名為build.bat文件,修改內(nèi)容如下:

            set CEF_USE_GN=1 set GN_DEFINES=is_win_fastlink=true set GN_ARGUMENTS=--ide=vs2015 --sln=cef --filters=//cef/* python ..\automate\automate-git.py --no-depot-tools-update --no-debug-build --force-build --no-update --download-dir=E:\03_Develop\cef3\chromium_git --depot-tools-dir=E:\03_Develop\cef3\depot_tools

            2017-07-26 (Windows Kit版本錯誤問題)

            Windows Kit的坑     

                   在命令行下運行build.bat,開始嘩啦啦編譯處理,在Generating CEF project files... 創(chuàng)建工程文件時,又發(fā)生錯誤,找不到C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\dbghelp.dll文件,前面提到過多次卸載重裝修改vs2015可能導(dǎo)致這種問題吧,也可能系統(tǒng)上已經(jīng)安裝的win8,win8.1等SDK有影響,總之我到微軟官網(wǎng)下載了最新的SDK(Windows Kit 10),下載的10.0.15063.0版本,安裝后,這次能找到dbghelp.dll了,也順利生成工程文件(以為這樣就順利了,簡直大錯特錯)。

            fatal error C1083: 無法打開包括文件: “windows.h”: No such file or directory

                 在生成工程文件后,會自動使用ninja編譯工程,這里又報錯誤,找不到windows.h文件,因為前面對vs2015的折騰,本人以為把vs2015環(huán)境給搞亂了,打開空的工程后,其中$<WindowsSDK_IncludePath>宏指向的是Win8.1的SDK路徑(C:\Program Files (x86)\Windows Kits\8.1\Include\um),然后又是各種折騰vs2015的.props文件,試圖修改該宏為C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um。最后修改成功了,可是重新執(zhí)行build.bat仍然是錯誤。

            2017-07-27 (解決Windows Kit版本錯誤,VS2015自定義路徑問題,完成cef3.Master編譯)

                   昨天折騰到半夜,輸出各種日志,最后想想,沒理由啊,文件都在,路徑都對,怎么會找不到。

                   今天上班推斷肯定不是vs2015的問題,而是編譯配置文件的問題,結(jié)果查看編譯日志,發(fā)現(xiàn)其中一行:

            ninja -t msvc -e environment.x86

                   憑直覺猜測問題在于這個environment.x86,應(yīng)該是個編譯配置文件(此時本人對ninja完全不懂), 然后就嘗試搜索environment.x86文件(神器everything,delphi開發(fā)的全球巨星級工具),真的找到該文件,在其中找到了INCLUDE=xxxxx,其中WindowsKit版本指定了10.0.14393.0,總算找到問題點了(其實cef官網(wǎng)也已經(jīng)指明了Windows Kit的版本就是要10.0.14393.0的,只是我不信邪,非要踩坑)。

            注: 這里奇怪的是我發(fā)現(xiàn)INCLUDE=中引用的ucrt路徑是使用15063.0\ucrt的,所以我覺得environment.x86應(yīng)該也是搜集系統(tǒng)環(huán)境信息生成的,應(yīng)該可以修改一下生成機制,使其使用新的15063.0版本,但本人沒再去深入,想想也是,chromium源碼一再升級,勢必會使用新版本的sdk,也就是修改某一個配置項,只是沒去找具體在哪里設(shè)置了。

                   接下來要么把C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0目錄直接重命名為C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0,但我怕這樣會導(dǎo)致vs2015出現(xiàn)其他問題,就老老實實去下載14393版本的SDK來安裝了。

             多版本W(wǎng)indows Kit的坑

                  下載14393版本的SDK后安裝,繼續(xù)執(zhí)行前面的build.bat,提示一堆重定義錯誤,原因是同時引用了10.0.15063.0和10.0.14393.0的include頭文件,可能多版本存在對environment.x86文件的生成邏輯有影響。卸載掉10.0.15063.0版本的SDK,再次執(zhí)行build.bat,奇怪的是仍然提示重定義錯誤,而且錯誤信息仍然有引用10.0.15063.0的文件,可實際上10.0.15063.0的文件已經(jīng)卸載刪掉了,不應(yīng)該有重定義的錯誤啊,猜測可能ninja編譯緩存的問題吧。

            清除ninja編譯緩存

                  由于前面build.bat出現(xiàn)的重定義錯誤,本人嘗試清除ninja編譯緩存,復(fù)制粘貼build.bat并重命名為clean.bat(同樣是在E:\03_Develop\cef3\chromium_git目錄下),內(nèi)容修改為:

            set CEF_USE_GN=1 set GN_DEFINES=is_win_fastlink=true set GN_ARGUMENTS=--ide=vs2015 --sln=cef --filters=//cef/* python ..\automate\automate-git.py --force-clean --no-depot-tools-update --no-build --no-update --download-dir=E:\03_Develop\cef3\chromium_git --depot-tools-dir=E:\03_Develop\cef3\depot_tools

                    在命令行執(zhí)行clean.bat,這里應(yīng)該直接刪除out目錄也可以(沒測試),完成后再次執(zhí)行build.bat,這下真的嘩啦嘩啦開始編譯了,漫長的等待。

            本人編譯使用的機器6核12線程,應(yīng)該比普通的機器快不少,看著任務(wù)管理器里10多個cl.exe就知道速度不低,Xeon E5這樣老舊的CPU仍然能夠堅持在抗戰(zhàn)一線。

             不安裝VS2015到默認(rèn)路徑(C:\Program Files(X86)\XXXX)下的坑

                   由于本人不信邪,將VS2015安裝到F盤的Program_Files下,在編譯的最后真出現(xiàn)問題了,錯誤如下:

            復(fù)制代碼
            -------- Running "msvs_env.bat win32 python combine_libs.py -o "E:\03_Develop\ce f3\chromium_git\chromium\src\cef\binary_distrib\cef_binary_3.3113.1650.g6da2bbf_ windows32\Release\cef_sandbox.lib" "E:\03_Develop\cef3\chromium_git\chromium\src \out\Release_GN_x86\obj\base\base.lib" "E:\03_Develop\cef3\chromium_git\chromium \src\out\Release_GN_x86\obj\base\base_static.lib" "E:\03_Develop\cef3\chromium_g it\chromium\src\out\Release_GN_x86\obj\base\third_party\dynamic_annotations\dyna mic_annotations.lib" "E:\03_Develop\cef3\chromium_git\chromium\src\out\Release_G N_x86\obj\cef\cef_sandbox.lib" "E:\03_Develop\cef3\chromium_git\chromium\src\out \Release_GN_x86\obj\sandbox\win\sandbox.lib"" in "E:\03_Develop\cef3\chromium_gi t\chromium\src\cef\tools"... ERROR: Failed to find vcvars
            復(fù)制代碼

                 查找msvs_env.bat后發(fā)現(xiàn),里面寫死了路徑

            set vcvars="%PROGRAMFILES(X86)%\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"

                 填坑的辦法就是設(shè)置環(huán)境變量 %CEF_VCVARS%,查看msvs_env.bat可知優(yōu)先使用這個環(huán)境變量(可能問題是要區(qū)分32位和64位,但是誰會吃飽撐著去編譯64位呢),我決定修改build.bat文件,簡單快捷,而且這里已經(jīng)編譯完成了,只是鏈接打包出現(xiàn)問題,所以又復(fù)制粘貼build.bat并重命名為distrib.bat,內(nèi)容如下:

            復(fù)制代碼
            set CEF_VCVARS=F:\Program_Files\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat set CEF_USE_GN=1 set GN_DEFINES=is_win_fastlink=true set GN_ARGUMENTS=--ide=vs2015 --sln=cef --filters=//cef/* python ..\automate\automate-git.py --no-depot-tools-update --no-build --no-update --no-debug-build --force-distrib --download-dir=E: \03_Develop\cef3\chromium_git --depot-tools-dir=E:\03_Develop\cef3\depot_tools
            復(fù)制代碼

             

            支持,已經(jīng)完成默認(rèn)Master的編譯了,在E:\03_Develop\cef3\chromium_git\chromium\src\cef\binary_distrib下生成了2個目錄

            cef_binary_3.3113.1650.g6da2bbf_windows32和cef_binary_3.3113.1650.g6da2bbf_windows32_release_symbols,并自動打包出zip文件。

            剩下的就是編譯3071版本并加入MP3和MP4支持了

             2017-07-28 (開始編譯cef3.3071,支持MP3 MP4)

                   昨晚編譯了Master加上MP3,MP4支持的版本,cef_binary_3.3113.1650.g6da2bbf_windows32.

                   發(fā)現(xiàn)C盤居然只剩4G空間了,一下去掉10G,查找一遍發(fā)現(xiàn)是分頁文件(虛擬內(nèi)存)暴漲了,應(yīng)該是使用is_official_build=true參數(shù)后,編譯過程需要的內(nèi)存暴漲導(dǎo)致的,網(wǎng)上有人說使用official編譯開關(guān)最好是有16G內(nèi)存,看來果然是。

                   基于前面的基礎(chǔ),本人開始下載3071版本并編譯,01_update-3071.bat文件如下:

            復(fù)制代碼
            set CEF_USE_GN=1 set GN_DEFINES=is_official_build=true ffmpeg_branding=Chrome proprietary_codecs=true set GN_ARGUMENTS=--ide=vs2015 --sln=cef --filters=//cef/* :: --force-update  python ..\automate\automate-git.py --no-depot-tools-update --download-dir=E:\03_Develop\cef3\chromium_git --depot-tools-dir=E:\03_Develop\cef3\depot_tools --no-distrib --no-build --branch=3071
            復(fù)制代碼

             注:其中加入 ffmpeg_branding=Chrome proprietary_codecs=true,就是支持ffmpeg了,ffmpeg默認(rèn)就支持mp3和mp4,而 is_official_build=true 則是正式版本編譯(去掉debug符號和加入編譯優(yōu)化等)。

             

                  下載完成后,本人開始編譯,02_build-MP3MP4-Release-3071.bat文件如下:

            復(fù)制代碼
            set CEF_VCVARS=F:\Program_Files\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat set CEF_USE_GN=1 set GN_DEFINES=is_official_build=true ffmpeg_branding=Chrome proprietary_codecs=true set GN_ARGUMENTS=--ide=vs2015 --sln=cef --filters=//cef/* python ..\automate\automate-git.py --no-depot-tools-update --no-debug-build --force-build --no-update --branch=3071 --download-dir=E:\03_Develop\cef3\chromium_git --depot-tools-dir=E:\03_Develop\cef3\depot_tools
            復(fù)制代碼

                   一切都很順利,從下午5點半開始下載,漫長的等待,到完善8點開始編譯,又是漫長的等待.....

            2017-07-29 (編譯cef3.3071完成)

                   早上起來看到已經(jīng)編譯完成了,輸出的cef_binary_3.3071.1649.g98725e6_windows32包,再從http://opensource.spotify.com/cefbuilds/index.html上下載3071的sample包,運行后測試HTML5, 也就是在瀏覽器打開網(wǎng)址 http://html5test.com,得到511分,比opera的518稍微低了,不過音視頻MP3和mp4都支持了。

             

                   到這里基本上都完成了,后面再試試網(wǎng)上說的,讓ffmpeg音視頻支持更多的解碼器,不過已經(jīng)不重要了,html5最主要就是支持mp3和mp4,這2種都具備支持高清能力,其他都是次要的,最多讓客戶轉(zhuǎn)碼一下就好了。

             增加支持rmvb,avi,flv,wmv等格式視頻

            這里增加編碼的方法如下:

            從Chromium的源碼third_party\ffmpeg\chromium\config\Chrome\win\ia32\config.h可以得知Chrome采用的FFmpeg的配置選項,在原有的配置選項后面添加如下選項: --enable-decoder='rv10,rv20,rv30,rv40,cook,h263,h263i,mpeg4,msmpeg4v1,msmpeg4v2,msmpeg4v3,amrnb,amrwb,ac3,flv' --enable-demuxer='rm,mpegvideo,avi,avisynth,h263,aac,amr,ac3,flv,mpegts,mpegtsraw' --enable-parser='mpegvideo,rv30,rv40,h263,mpeg4video,ac3'

                  其中 rmvb電影視頻編碼是RV40,音頻編碼是COOK,所以這樣子編譯后應(yīng)該支持rmvb了,不過貌似仍然會有花屏現(xiàn)象(vlc也會出現(xiàn)類似問題,貌似是說ffmpeg的使用問題吧,沒空去研究)

            復(fù)制代碼
            #解決錯誤:無法識別的符號_ff_w64_guid_data #修改chromium/third_party/ffmpeg / ffmpeg_generated.gni #在行"libavformat/vorbiscomment.c",后加入 "libavformat/w64.c",   // 注意尾部要加上逗號,不要直接復(fù)制引號內(nèi)容  #解決egl語法錯誤  #修改chromium\src\third_party\swiftshader\include\egl\eglext.h  #在62行后加入 typedef EGLAttribKHR EGLAttrib; 
            復(fù)制代碼

                  刪除src下的out目錄,再次build,不知道能不能編譯通過..........

             

            2017-07-31 (完成)

                 3071版本編譯完成,支持MP3,MP4,應(yīng)該也支持RMVB,AVI,WMV,已經(jīng)集成到正式APP中.

             

            2017-08-03 編譯2924版本

                 需要在控制面板里將系統(tǒng)的區(qū)域語言設(shè)置為:英文(美國),

                  否則將會出現(xiàn)一個codepage 936無法識別字符的錯誤。估計是utf8編碼轉(zhuǎn)成ansi時有部分沒轉(zhuǎn)好吧,也可以將出錯的文件另存為unicode,這樣就不用改系統(tǒng)語言了。

             

            2017-09-28 下載 cef_binary_3.3071.1649-Sample-MP3MP4-RMVB

            1)cef_binary_3.3071.1649-Sample-MP3MP4-RMVB  (僅包含二進制文件包)

            http://pan.baidu.com/s/1geFRKen

             2)cef_binary_3.3071.1649.g98725e6_windows32 (cef開發(fā)包:包含二進制文件和lib文件,頭文件等...)

            http://pan.baidu.com/s/1eS3ubb8


            摘自:http://www.cnblogs.com/caibirdy1985/p/7244961.html
            posted on 2017-12-07 00:04 聶文龍 閱讀(1296) 評論(0)  編輯 收藏 引用
            九九精品99久久久香蕉| 国产亚洲美女精品久久久| 久久国产热这里只有精品| 国产精品18久久久久久vr| 亚洲αv久久久噜噜噜噜噜| 亚洲国产精品综合久久一线| 国产精品va久久久久久久| 99久久亚洲综合精品网站| 99精品久久精品一区二区| 国内精品久久国产大陆| 国内精品伊人久久久久| 久久美女网站免费| 精品99久久aaa一级毛片| 久久久久久一区国产精品| 久久伊人亚洲AV无码网站| 青青草原综合久久大伊人导航| 久久久精品人妻无码专区不卡| 伊人情人综合成人久久网小说| 久久亚洲电影| 亚洲色婷婷综合久久| 久久99精品国产麻豆宅宅| 久久中文精品无码中文字幕 | 色偷偷91久久综合噜噜噜噜| 亚洲国产成人精品女人久久久| 伊人久久大香线蕉AV一区二区| 中文字幕久久波多野结衣av| 久久久国产精品亚洲一区 | 久久99国产精一区二区三区| 91秦先生久久久久久久| 久久人人爽人人爽人人片av麻烦| 亚洲乱码中文字幕久久孕妇黑人| 久久国产免费观看精品3| 久久久久久久久久免免费精品 | 中文无码久久精品| 精品久久久久久99人妻| 国内精品综合久久久40p| 麻豆精品久久久一区二区| 热99RE久久精品这里都是精品免费| 国产精品免费福利久久| 蜜桃麻豆www久久国产精品| 精品一区二区久久|