为伊消得人憔悴,衣带渐宽终不悔(2)
领导要下载一个在线视频,可惜是m3u8格式的,找了好多下载工具,可惜没一个好用的,没办法,只好自己动手丰衣足食了!
经过真个周末两天一夜的奋战,终于搞明白了下载的基本原理,也通过了初步实验,最终成品尚未出炉,所以只好先将一些踩过的坑给记录下来,以便后来者参考。
1.解析m3u8文件。这个太简单了,没啥难度,请自行略过。
2,大部分视频文件都有加密,请一定要解密,解密,解密!!!解密的密码在m3u8文件的开头URI="http:///"这个里面。
3.大多情况下的加密都是用的AES128,CBC模式,pad7填充,Vector跟密码相同,解密时请一定要将尾巴的pad去掉。
4.解出来的文件比较复杂:某些文件可能有多个数据头,而真实数据头需要判断,好一点的是每个头都是188字节,只要找到真正的第一个数据头,然后清除掉垃圾头就可以播放。具体的数据格式请参考详细的相关文档。
5.将下载后的文件直接合并在一起,就是一个完整的视频文件了。
6.某些网站可能不支持多线程下载和传输,这个坑我也算是跳过了,因为多线程时下载的数据始终都不对,改为单线程才正常下载成功。
0 Comments