FFmpeg开发笔记(六)如何访问Github下载FFmpeg源码
学习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的学习运用。更多详细的FFmpeg开发知识参见《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最新源码包。更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。
FFmpeg开发笔记(六)如何访问Github下载FFmpeg源码的更多相关文章
- linux环境下安装git(采用github下载git源码编译)
[目的]:linux环境下 安装配置git成功 [准备条件]linux系统,git包 1.先行下载git包 -- 从github上https://github.com/git/git/releases ...
- GITHUB下载ANDRIOD源码
1 git clone https://android.googlesource.com/device/common.git 2 git clone https://android.googlesou ...
- 麒麟系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12
前言 上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到从源码编译的Qt,所以本篇如何在银河麒麟系统V4上编译Qt5.12源码. 银河麒麟V4版本 系统版本: Qt源码下载 ...
- Xamarin GitHub 下载的源码运行不了
初学Xamarin ,各种折腾,大概这公司破电脑配置差,老是很多问题. GitHub 真是个好东西,可以参考别人做的,不过下载来运行不了就各种折腾了,为此我重装电脑两次了,反正win10安装就十几分 ...
- FFmpeg开发笔记(三):ffmpeg介绍、windows编译以及开发环境搭建
前言 本篇章是对之前windows环境的补充,之前windows的是无需进行编译的,此篇使用源码进行编译,版本就使用3.4.8. FFmpeg简介 FFmpeg是领先的多媒体框架,能够解码 ...
- FFmpeg开发笔记(四):ffmpeg解码的基本流程详解
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- FFmpeg开发笔记(五):ffmpeg解码的基本流程详解(ffmpeg3新解码api)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放
前言 ffmpeg播放rtsp网络流和摄像头流. Demo 使用ffmpeg播放局域网rtsp1080p海康摄像头:延迟0.2s,存在马赛克 使用ffmpeg播放网络rtsp文件流 ...
- FFmpeg开发笔记(十):ffmpeg在ubuntu上的交叉编译移植到海思HI35xx平台
FFmpeg和SDL开发专栏(点击传送门) 上一篇:<FFmpeg开发笔记(九):ffmpeg解码rtsp流并使用SDL同步播放>下一篇:敬请期待 前言 将ffmpeg移植到海思H ...
- IOS开发笔记 IOS如何访问通讯录
IOS开发笔记 IOS如何访问通讯录 其实我是反对这类的需求,你说你读我的隐私,我肯定不愿意的. 幸好ios6.0 以后给了个权限控制.当打开app的时候你可以选择拒绝. 实现方法: [plain] ...
随机推荐
- 2023年多校联训NOIP层测试2
2023年多校联训NOIP层测试2 爆零了 T1 HDU 4786 Fibonacci Tree \(0pts\) @wangyunbiao: 不可以,总司令 我:不,可以,总司令 @wangyunb ...
- 从零开始的 dbt 入门教程 (dbt core 开发进阶篇)
引 在上一篇文章中,我们花了专门的篇幅介绍了 dbt 更多实用的命令,那么我们继续按照之前的约定来聊 dbt 中你可能会遇到的疑惑以及有用的概念,如果你是 dbt 初学者,我相信如下知识点一定会对你有 ...
- JS axios cancelToken 是如何实现取消请求?稍有啰嗦但超有耐心的 axios 源码分析
壹 ❀ 引 axios,一个基于promise且对ajax进行了二次封装的http库,在提供了与promise类似的API便捷写法同时,它还有一大特点,便是支持取消http请求.当然取消请求并不是ax ...
- Java并发编程之美
简介 <Java并发编程之美>分为三部分,第一部分为Java 并发编程基础篇,主要讲解Java 并发编程的基础知识.线程有关的知识和并发编程中的其他相关概念,这些知识在高级篇都会有所使用, ...
- OAuth2 Authorization Server
基于Spring Security 5 的 Authorization Server的写法 先看演示 pom.xml <?xml version="1.0" encoding ...
- 从零开始手写缓存框架(12)redis expire 过期的随机特性详解及实现
前言 java从零手写实现redis(一)如何实现固定大小的缓存? java从零手写实现redis(二)redis expire 过期原理 java从零手写实现redis(三)内存数据如何重启不丢失? ...
- CentOS7 开机网卡加载失败
服务器CentOS7一开,发现web服务无法访问.最终用ifconfig发现,网卡没有加载,连个IP地址都没有. 这时使用命令 service network restart 试图重启服务器网络.不料 ...
- Java并发编程实例--19.在一个锁中使用多个条件
一个锁可能关联了一个或多个条件.这些条件可以在Condition接口中声名. 使用这些条件的目的是去控制一个锁并且可以检查一个条件是true或false,如果为false,则暂停直到 另一个线程来唤醒 ...
- 如何在C#中使用 Excel 动态函数生成依赖列表
前言 在Excel 中,依赖列表或级联下拉列表表示两个或多个列表,其中一个列表的项根据另一个列表而变化.依赖列表通常用于Excel的业务报告,例如学术记分卡中的[班级-学生]列表.区域销售报告中的[区 ...
- 我的小程序之旅十:微信公众号token验证失败
为了更好的运营公众号,微信官方支持用户自定义实现公众号功能,这里第一步就是配置服务器回调域名,如下图: 如果是SpringBoot项目,我们会写一个如下的Controller类 import lomb ...