Tuesday, January 7, 2014

Youtube视频地区限制及解除方法详解

本文观点完全基于个人使用的经验的一点总结,非官方文本,仅供参考,不准确之处欢迎指正。


要想解除地区限制,首先要了解一点儿Youtube视频地区限制的基本原理。地区限制是由视频发布者自行设置的,主要是基于版权保护。具体范围可大可小,每个具体视频也不尽相同。最常见的就是大家经常提到的vevo类MV视频,这类视频基本都有地区限制。就国家ip段层面而言,类似德国这样的版权管理极严的地区几乎90%以上的MV视频都不能观看,更别提vevo类视频了。日本ip段的地区限制很少,绝大多数MV视频包括vevo类别都能播放。中国ip段是个特例,限制范围跟日本相近,估计是Goolge默认大多数国人无法正常正常访问,所以限制也不多。按此规律美国ip段当然应该是无地区限制了,但是事实上并不尽然,部分美国的VPS和PaaS空间的出口ip也被列入了地区限制的黑名单,GAE出口ip段目前也在此列,具体原因多种在这里就不展开了。


解除地区限制方法一:goagent的GAE代理方式可以通过修改配置文件的方法解除部分限制,简单原理就是让Youtube判断你访问视频使用的ip为中国ip,而不是默认的GAE出口ip。这项设置在新版本配置文件中本身就有,只不过默认没有开启,将该行前面的注释符;编辑掉即可开启,参考如下。



https?://www\.youtube\.com/watch = google_hk

目前该方法并不完美,视频下载的速度会有所降低,具体原因涉及到Google的视频CDN服务器的对应关系。


解除地区限制方法二:单独找个出口ip不受限制或限制较少的PHP或PaaS空间,搭建goagent或gsnova服务端,然后以此代理方式来访问Youtube。具体搭建方法,我其他博文有过介绍,大家可根据自己的实际视频观看需求来选择合适的空间搭建。但此种方法对搭建服务端空间的连接速度和流量限制要求都比较高,能够满足高速且大流量的空间并不多见。


解除地区限制方法三:方法一与方法二相结合的混合法,简单讲就是利用SwitchySharp插件的自动切换模式,在访问Youtube判断访问者ip的超链接时使用方法二中的代理,实际播放视频流文件时使用GAE代理,具体设置参考下图。



Youtube用于判断来访ip地理位置的超链接含watch这个关键字段,图中设置的原理就是访问含关键字watch的网址超链接时使用PHP代理,而含关键字google的网址以及默认在线列表gfwlist中的网址都使用GAE代理。注意规则中使用的“正则表达式”,而不是“通配符”模式,正则表达式本身博大精深,有精力的同学自行研究,这里的写法只是最简单且最容易理解的。


方法三是个人认为比较完美的解决方案,大流量的视频流都走高速且几乎无流量限制的GAE代理,PHP或PaaS代理只负责访问一个ip判别网址,流量压力基本可以忽略不计。对PHP或PaaS服务端所在空间的其他正常建站用户不会造成丝毫影响,既利己又不损人


原文:http://www.free4u.com.ar/1976.html








via 细节的力量 http://xijie.wordpress.com/2014/01/07/youtube%e8%a7%86%e9%a2%91%e5%9c%b0%e5%8c%ba%e9%99%90%e5%88%b6%e5%8f%8a%e8%a7%a3%e9%99%a4%e6%96%b9%e6%b3%95%e8%af%a6%e8%a7%a3/

No comments:

Post a Comment