學習FFmpeg的時候,經常要到GitHub下載各種開源代碼,比如FFmpeg的源碼頁面位于https://github.com/FFmpeg/FFmpeg。然而國內訪問GitHub很不穩定,經常打不開該網站,比如在命令行執行下面的ping命令。
ping github.com
上面的ping結果如下所示,可見默認解析的DNS地址連接超時。
正在 Ping github.com [20.205.243.166] 具有 32 字節的數據:
請求超時
請求超時
請求超時
現在GitHub的DNS請求超時,使得其上的開源代碼無法下載,嚴重影響了FFmpeg的學習運用。
要想避免無法訪問GitHub的問題,可以通過以下三個辦法解決。
1、修改默認的DNS
使用瀏覽器打開下面網頁,該網頁會列出全球各地訪問GitHub的響應IP、IP歸屬地,以及響應時間。
https://ping.chinaz.com/github.com
根據上面網頁對github.com的檢測結果,發現國內各地訪問GitHub都走20.205.243.166(新加坡微軟云),并且該IP往往響應超時,說明國內通過20.205.243.166基本訪問不了GitHub。
不過上面網頁同時顯示,走20.200.245.247(韓國首爾微軟云)和20.27.177.113(日本東京微軟云)會很快響應。那么打開本地電腦的C:\Windows\System32\drivers\etc\hosts,在hosts文件末尾添加下面一行DNS映射配置,指定github.com固定解析為20.200.245.247。
20.200.245.247 ?github.com
保存hosts文件之后,打開Windows的命令行窗口,運行以下命令刷新DNS緩存。
ipconfig /flushdns
然后打開瀏覽器重新訪問GitHub的源碼頁面https://github.com/FFmpeg/FFmpeg,發現此時能夠正常打開該頁面了。
2、利用代下載網站
如果僅僅從GitHub下載某個壓縮包,無需訪問GitHub網頁的話,也可以通過第三方網站代下載源碼包。比如FFmpeg5.1.2的源碼包下載鏈接為https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n5.1.2.tar.gz,使用瀏覽器打開下面的代下載網站,這里專門代下載來自GitHub的下載鏈接。
https://d.serctl.com/
代下載頁面打開之后,在“下載地址”編輯框中輸入FFmpeg5.1.2的源碼包下載鏈接:
https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n5.1.2.tar.gz
接著單擊編輯框下方的提交按鈕,該網站就開始從GitHub拉取文件鏈接。稍等片刻,代下載頁面會自動刷新,并且顯示指定鏈接已經下載完成,此時單擊列表右側的下載按鈕,即可從代下載網站下載之前提交的源碼包文件了。
3、訪問國內鏡像網站
碼云是國內的代碼托管平臺,上面也有多個GitHub開源項目的鏡像,其中就有FFmpeg的鏡像倉庫。使用瀏覽器打開下面的碼云主頁:
https://gitee.com/
在頁面右上角的搜索框中輸入“FFmpeg”再按回車鍵,Gitee會列出包含關鍵字“FFmpeg”的倉庫列表,其中就有FFmpeg項目的國內鏡像倉庫如下。
https://gitee.com/mirrors/ffmpeg
打開上面的FFmpeg鏡像倉庫,再單擊倉庫頁面右側的“克隆/下載”按鈕,即可下載鏡像后的FFmpeg最新源碼包。
?