获取网页视频的原理

视频网站通用的播放原理比较简单:
打开页面首先load一个播放器,然后播放器根据一定的条件向后台请求flv文件并播放。

youku网防止用户下载的几个措施
1 动态创建flv播放器,防止用查看源代码的方式分析其播放器。
2 flv文件分割,将一个较长的文件分割成每段大约为7分钟的几段,其地址不同,甚至有可能在不同的服务器上。
3 动态生成flv文件地址,并且地址有时间限制,过时失效。

这是我目前所知最为费尽心思的加密方式,这方面比tudou作的好。

典型的youku播放地址是这样的:
http://v.youku.com/v_show/id_XMTgzMTg1ODQ=.html
大体上这个页面应该是不存在的,youku应该有一个类似SessionFilter的东西对这些请求地址进行过滤并动态生成页面,当然由于效率原因可能对一些请求频率高的页面进行缓存,这都不在我们讨论范围之内,这里重点是,如果我们的猜想是正确的,youku必然是通过这个地址地址来决定播放的视频,我们应该能够看出 ‘id_XMTgzMTg1ODQ=’这一段应该是与这个视频的id相关的。也就是说,youku应该对每个视频有一个唯一的id,可以通过这个id来找到对应的视频。

猜你喜欢

转载自dayoouu.iteye.com/blog/1743884