/nodeParseVideo

nodejs解析优酷,爱奇艺的视频地址

Primary LanguageJavaScriptMIT LicenseMIT

nodeParseVideo

这个项目通过一个优酷或者爱奇艺的视频地址,最终可以得到视频的下载地址

这个项目的想法是来源:https://github.com/keygle/parseVideo

因为自己要用到优酷和奇艺,所以就测试了这两个,测试结果是优酷的可以使用,爱奇艺的已经失效。

经过研究爱奇艺的视频页面的http请求,以及反编译视频播放器,找到它的下载地址,自己做了一个pr,现在该项目作者已经merge了。

这是一个php工程,所以自己用node把这个工程里面解析优酷和爱奇艺的方法重写了下

说明:

最终取到的爱奇艺的地址

http://data.video.qiyi.com/f3060e76a71fedac773d327734e723f2/videos/v0/20141023/7b/b5/96c5fa7650168e97c445f976b0b5b68f.f4v?ran=1000&qyid=08ca8cb480c0384cb5d3db068161f44f&qypid=321778500_11&retry=1

是这样的,下载地址需要请求上面这个地址得到:

{
    "t": "CT|ShangHai-101.81.48.14",
    "s": "1",
    "z": "hengyang3_ct",
    "h": "0",
    "l": "http://220.170.79.37/videos/v0/20141221/38/e6/4be4e1cad4374d3447be144397366ff8.f4v?key=8f5bdcd17a8765c&ran=1000&qyid=08ca8cb480c0384cb5d3db068161f44f&qypid=335764500_11&retry=1&uuid=6551300e-5497c256-36",
    "e": "0"
}

返回结果中的l是真正的下载地址,而这个地址失效时间非常短,故返回的是上面的地址,如果最终取到的下载地址失效,再次请求返回的这个地址即可.

这个项目相当于把那个项目用node实现了一把。

基本用法:参考test.js

如果有问题,欢迎大家做pr

分析优酷的下载地址可以参考这篇文章

##2015 03 16 更新

增加了解析爱奇艺视频的mp4地址的方法

修改了调用方式

var video = require('./index');

video('http://www.iqiyi.com/v_19rrnbyreg.html','MP4',function(err,data){
    console.log(data);
});

第一个参数是视频地址(必填),第二参数是返回的视频格式(选填,只针对爱奇艺),第三个参数回掉函数(必填)

ps:爱奇艺的mp4结果不是很稳定,有时解析出来的地址无法播放,解决办法只能多解析几次,这个是爱奇艺的问题,他的移动版就是这样,经常无法播放

##2015 10 08

修改下获取爱奇艺flv格式的问题

爱奇艺获取mp4问题,现在爱奇艺已经改为m3u8格式了