最近看了一个优酷视频(非优酷网站,最终地址指向优酷),用chrome开发者工具,可找到flv地址如下,简单摘录如下:
http://27.221.100.104/657D4D2878C3382C78116A3BA7/0300011D10570ECAA905BE2D9B7D2F338C9CFD-A474-20BA-9114-E91A51D93FA9.flv.ts?ts_start=200&ts_end=204&ts_seg_no=345&ts_keyframe=0
http://27.221.35.80/69810A0728A23382C6B5ABA374C/0300011D11570ECAA905BE2D9B7D2F338C9CFD-A474-20BA-9114-E91A51D93FA9.flv.ts?ts_start=30&ts_end=40&ts_seg_no=349&ts_keyframe=0
http://27.221.35.80/69810A0728A23382C6B5ABA374C/0300011D11570ECAA905BE2D9B7D2F338C9CFD-A474-20BA-9114-E91A51D93FA9.flv.ts?ts_start=40&ts_end=50&ts_seg_no=350&ts_keyframe=0
http://27.221.35.80/69810A0728A23382C6B5ABA374C/0300011D11570ECAA905BE2D9B7D2F338C9CFD-A474-20BA-9114-E91A51D93FA9.flv.ts?ts_start=50&ts_end=60&ts_seg_no=351&ts_keyframe=0
http://27.221.100.83/65811F4F673C4C842B413F84911/0300011D17570ECAA905BE2D9B7D2F338C9CFD-A474-20BA-9114-E91A51D93FA9.flv.ts?ts_start=70&ts_end=80&ts_seg_no=471&ts_keyframe=0
http://27.221.100.83/65811F4F673C4C842B413F84911/0300011D17570ECAA905BE2D9B7D2F338C9CFD-A474-20BA-9114-E91A51D93FA9.flv.ts?ts_start=70&ts_end=80&ts_seg_no=471&ts_keyframe=0
http://182.118.58.54/698169CC4CB53C81CB279BF392A/0300011D1A570ECAA905BE2D9B7D2F338C9CFD-A474-20BA-9114-E91A51D93FA9.flv.ts?ts_start=90&ts_end=100&ts_seg_no=533&ts_keyframe=0
可得出如下结果:
1. 每一地址下有单独一段flv,直接在网页中输入网址(截止flv.ts),可直接下载整个flv视屏。后边的ts_start/ts_end/ts_seg_no只是http申请一个数据帧。
http://182.118.58.54/698169CC4CB53C81CB279BF392A/0300011D1A570ECAA905BE2D9B7D2F338C9CFD-A474-20BA-9114-E91A51D93FA9.flv.ts
2. flv的名字有‘Dxx’决定,适配到另一IP不能找到文件。
3. 每段flv完成后,都会有一申请网页crossdomain.xml。
网页视频就是一个一个flv组成的,可通过网页直接下载单个flv,然后用软件组合成一个完整视频,以加快速度。
现在难点:
1. 怎样获取详细flv地址,以加以下载。
2. 查看到flv地址通过chrome开发工具,怎样通过数据包查看到数据内容呢?
注:网络上都提到“硕鼠”,但其仅支持大的视频网站,怎样能达到全部视频呢?
后思:怎样获取网页视频地址呢?
1. 直接从网页中提取网页视频地址,直接用浏览器文本查看可获取视频地址。
2. 若视频由多个下载地址组成,则只能下载一次视频,记录下所有地址,放到数据库中。当要获取地址时,直接从数据库中获取;若有变动,直接在云端下载视频测试,然后给出地址,此方法应该不常用,因为给出的地址即使无效也没有关系。
迅雷之所以下载快,是因为获取了视频的多个地址,然后保存到迅雷数据库中,当要下载时,开多个进程从多个地址下载,这个速度更快。之所以有些地址不能用,原因一地址无效(服务器地址主动改变,或迅雷服务器地址未更新)或地址主机已停机(下载当时)。我想这也是所有下载工具通用的方法:数据库记录可下载地址,匹配文件名或视频文件头找到地址,多进程从不同地址下载视频,然后合成视频。