Code Monkey home page Code Monkey logo

nodeparsevideo's Introduction

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格式了

nodeparsevideo's People

Contributors

jiangli373 avatar

Watchers

Mikoyan avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.