视频网站的工作原理 |
您所在的位置:网站首页 › m3u8抓取工具 › 视频网站的工作原理 |
目录 一、视频网站的工作原理 二、抓取视频步骤 2.1、找到m3u8文件 2.2、把m3u8下载到ts文件 2.3、ts文件合并为mp4文件 一、视频网站的工作原理古老的视频网站的视频一般是在源码放一个,用户点击播放视频,会跳转到src的连接进行视频资源的获取进行播放。 缺点:视频加载速度慢 正常的视频网站,用户上传视频或者获取到的视频资源-->转码(把视频进行处理,分成2K,1080,标清等画质)-->切片处理(把一个完整的视频进行切片,例如一个60分钟的视频,分割成很多个几十秒的视频),用户在移动进度条时,会加载这一部分的切片视频内容(这时不必加载整个视频)。 但需要一个文件进行记录:1、视频播放顺序 2、视频存放的路径-->保存这些东西的文件-->统一规定为M3U8文件-->但本质上是文本 优点:视频加载速度快 关键词:转码、切片、 二、抓取视频步骤 2.1、找到m3u8文件1)向页面发起请求,看页面源代码是否在video标签(有时不是video标签,是video被其它标签包含)包含了m3u8链接,包含则直接请求到该链接即可; 2)页面源代码不包含m3u8链接(找video),则使用抓包工具,抓取XHR类型的包(js处理的数据包),查看哪一个链接存在m3u8的具体链接,请求到该链接即可获取m3u8文件; 3)下面是一种m3u8的反爬过程 假设我们访问了目标网站的54812-1-1.html文件,客户端发起一个请求,服务器响应请求返回数据包(这时的数据包包含了动态生成的一个note=xxxxx),我们在点击播放视频时,会向服务器在次发送一个请求(这时的请求包含了服务器第一次返回给我们的note=xxxxx),服务器响应(这时服务器会对比我们带过去的noet=xxxx是不是和第一次的相同,相同则返回内容,不同则重复第一次请求的过程,或者不返回视频)并把视频文件返回,视频开始播放。 问题: 第一次直接请求到m3u8文件可能会被反爬,拿不到文件 解决办法: 在请求时,应该先向服务器发起一次请求拿到服务器给我们的note=xxxx,然后在第二次发送请求拿到m3u8文件; 1)获取到了m3u8文件链接,直接发送请求即可获取到m3u8文件; 2)使用文件的I/O操作即可(注意要分好每一部分视频的顺序,最好有规律命名); 3)在进行文件的I/O操作时,数量很多,需要提速,使用多线程、携程、多进程等方法提速; 4)保存的文件后缀应该是.ts。 2.3、ts文件合并为mp4文件1)存在很多个小的ts文件,需要合成一个大的mp4文件-->剪辑工具合成(quicktime); 2)代码合成(这个不知道咋弄); |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |