一般来说,m3u8文件是类似于下面这样的
它有很多的ts链接,可以下载对应的ts文件视频,在通过别的方法去合并成一个完整的长视频。
前两天,公司视频爬虫出了bug,网站是:https://www.hanjutv.com
然后,后面几天我就崩溃了。
下面是XHR响应:
第一个是个m3u8文件,按理说,我只需要重新找到这个链接,然后交给已有方法就行了,但是。
下面是,该m3u8文件的内容:
里面全是js链接,而不是ts?
心中一万只cnm跑过。那咋办,百度,m3u8和js完全不沾边,找不到有用资料。
我尝试,用正则表达式把js换成ts,然后去下载ts文件。
OK的,下载成功了,但是,合并不了而且打不开。
内心绝望。
我百度到说key文件有用,但是没人说怎么用,我把它下载到需要的文件夹依然于事无补。
然后,这篇博客:https://blog.csdn.net/u014484783/article/details/79350392
帮了我很大的忙,我们公司也是用ffmpeg去处理m3u8文件的。
不过,人家博客里,m3u8文件里面是ts,是正常的。
我的里面是js,到底能不能搞?
死马当活马医吧:
ffmpeg -i "这里是m3u8文件的链接" -c copy xxx.mp4
就成功了。
说明一下,下载是,中间如果停止了,该文件依旧可打开,下了多少看多少,未下载的部分不会出现,也不会影响已下载的部分。
主要是想写给可能遇见这种bug的人一个,看见资料的机会,不像我一样,百度m3u8文件里是js链接怎么办,出现的全是无用内容。
如果对m3u8链接获取方法感兴趣,你可以看这篇文章:https://blog.csdn.net/s_kangkang_A/article/details/102552439