这篇“ffmpeg网页视频流m3u8 ts怎么实现视频下载”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“ffmpeg网页视频流m3u8 ts怎么实现视频下载”文章吧。
现在很多视频网站播放流视频,都不是采用mp4/flv文件直接播放,而是采用m3u8/ts
这种方式播放。
简单说就是,网站后台把视频切片成成百上千个xx.ts
文件,一般10秒一个,每个都几百kb很小。然后通过xx.m3u8
播放列表把这些文件连接起来。
通过Chrome DevTool的Network栏,我们可以清楚的看到加载过程:
我们直接点击这个playlist.m3u8
播放列表文件,在旁边的preview
栏中查看内容,可以看到:
#EXTM3U #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-ALLOW-CACHE:YES #EXT-X-TARGETDURATION:11 #EXTINF:5.250000, out000.ts #EXTINF:9.500000, out001.ts #EXTINF:8.375000, out002.ts #EXTINF:5.375000, out003.ts #EXTINF:9.000000, out004.ts ...........
那我们怎么下载呢?
一般的思路是,想办法把所有的ts切片文件下载下来,然后合成一个完整的视频。
然而,配合xx.m3u8
播放列表文件,我们可以直接用ffmpeg
在线下载播放列表中所有的视频,然后直接用ffmpeg合并为一个视频。
我们就直接执行这一句命令即可:
$ ffmpeg -i <m3u8-path> -c copy OUTPUT.mp4 $ ffmpeg -i <m3u8-path> -vcodec copy -acodec copy OUTPUT.mp4 # 例如: ffmpeg -i https://v6.438vip.com/2018/10/17/3JAHPTdvPhQb9LrE/playlist.m3u8 -c copy OUTPUT.mp4
然后就会看到这样的下载过程:
为什么下载播放列表就能下载所有的切片文件?
因为播放列表里的都是相对路径,既然我们有了播放列表的绝对路径,那么其它所有文件的绝对路径也就不难获取了。
好在ffmpeg直接实现了这种播放列表一键下载的方式。
以上就是关于“ffmpeg网页视频流m3u8 ts怎么实现视频下载”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。