视频解析方法及原理!(以爱奇艺为例)
免责声明:
本文章描述的所有内容仅供学习使用,禁止使用文中所述技术搭建解析站或用于商业用途,由此产生的一切法律后果与本人无关。根据中华人民共和国著作权法第二十四条规定,为个人学习等情况下使用作品,可以不经著作权人许可,不向其支付报酬,但应当指明作者姓名或者名称、作品名称,并且不得影响该作品的正常使用,也不得不合理地损害著作权人的合法权益。
准备工作:
- 爱奇艺账号并开通VIP!!
- 有一定的码农必备知识。
- 会抓包,简单的浏览器F12即可。
抓包步骤:
1)访问VIP视频地址:http://m.iqiyi.com/v_19rremkzyc.html。利用浏览器控制台查看页面的请求地址!
2)利用控制台(F12)抓包:
在控制台,可以看见这么一个请求:
http://cache.m.iqiyi.com/jp/tmts/831920700/6ec85fe94defea1f2087ada1b920cafc/?uid=&cupid=qc_100001_100186&platForm=h5&qyid=qi1ijwoinae34yf4iyqd0y41&agenttype=13&type=mp4&nolimit=&k_ft1=8&rate=1&sgti=13_qi1ijwoinae34yf4iyqd0y41_1511620436546&codeflag=1&preIDAll=&dfp=e178cb668f3c7d441ea3783ed6f05fc009bbe93c3ea1f7595736ebc7d7306430f0&qd_v=1&qdy=a&qds=0&tm=1511620436&src=02020031010000000000&callback=tmtsCallback&vf=31101d0bbb6a139d7bbe17a64936ffc4 |
---|
vf算法:md5(‘/jp/tmts/这里省略&callback=tmtsCallback’+’3sj8xof48xof4tk9f4tk9ypgk9ypg5ul’);//u6fnp3eok0dpftcq9qbr4n9svk8tqh7u
查看请求的内容,可以看见视频的真实地址。
上图,红色框里的内容可以永久使用。
例:/videos/v0/20171108/c6/6d/cd9dbc9c189f48494890ebb91778571f.mp4
3)视频地址组合:
mp4地址组合:http://60.217.240.163/videos/v0/20171108/c6/6d/cd9dbc9c189f48494890ebb91778571f.mp4 会员视频、用券视频、付费视频,都可以这样使用,无需key算法和ip算法。
ts地址组合:http://60.217.240.16/videos/v0/20171125/07/c7/148c1b66722f0d61cb3def751cf78b6b.ts?qdv=1&start=0&end=603730&hsize=65783&tag=0&v=0&contentlength=275984
获取IP地址:
通过ping爱奇艺官网获取到可用ip,替换取得的视频链接中的IP地址,可实现多路分流播放,这一步,也就是我们所说的视频分流。
例:
150.138.210.121 150.138.210.53 150.138.210.52 150.138.210.54 150.138.210.50 60.217.240.163 150.138.210.55 150.138.210.49 150.138.210.57 60.217.240.161 175.43.123.1 150.138.210.59 60.217.240.162 60.217.240.166 60.217.240.169 60.217.240.165
相关文章
- js中数组截取方法
- Java Random.nextInt()方法原理解析[通俗易懂]
- shiro过滤放行方法_shiro框架原理
- JavaScript 函数的属性和方法
- idea在类中搜索方法的快捷键_idea控制台搜索快捷键
- java json对象和json字符串互转的方法_将json字符串转换成对象
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( Bitmap_compress 方法解析 | Skia 二维图形库 | libjpeg 函数库 | libpng 函数库 )
- 【Java 虚拟机原理】垃圾回收算法 ( 可达性分析算法 | GC Root 示例 | GC 回收前的两次标记 | finalize 方法示例 )
- Nginx访问控制_IP访问控制(http_access_module)原理、局限性、解决方法讲解详解程序员
- jquery控制元素的隐藏和显示的几种方法。详解编程语言
- Python MRO方法解析顺序详解
- 深化初探Linux权限管理深层原理(linux权限方法)
- 查看Linux系统版本的快速方法(如何查linux的版本)
- Linux中统计出现次数的方法(linux统计出现次数)
- 5 个提升你开源项目贡献者基数的方法
- MySQL实现获取绝对值的方法(mysql取绝对值)
- “深入解析Linux 2.6内核”,带你了解操作系统当中最核心的部分,揭露其原理和优化方法。
- 学习Linux下链接共享库的原理与使用方法(linux链接共享库)
- MySQL中三张表链接原理与方法解析(mysql中三表链接)
- 分页实现方法的性能比较
- sqlserver模糊查询常用方法
- javascriptobjectarray方法使用详解
- AndroidHttpClientGET或者POST请求基本使用方法
- Android检测Cursor泄漏的原理以及使用方法
- js中浮点型运算BUG的解决方法说明
- Android增量升级的方法和原理详细介绍