ffmpeg网页视频流m3u8 ts怎么实现视频下载(ffmpeg,开发技术)

时间:2024-05-04 11:14:28 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

引言

现在很多视频网站播放流视频,都不是采用mp4/flv文件直接播放,而是采用m3u8/ts这种方式播放。

简单说就是,网站后台把视频切片成成百上千个xx.ts文件,一般10秒一个,每个都几百kb很小。然后通过xx.m3u8播放列表把这些文件连接起来。

通过Chrome DevTool的Network栏,我们可以清楚的看到加载过程:

ffmpeg网页视频流m3u8 ts怎么实现视频下载

我们直接点击这个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切片文件

一般的思路是,想办法把所有的ts切片文件下载下来,然后合成一个完整的视频。
然而,配合xx.m3u8播放列表文件,我们可以直接用ffmpeg在线下载播放列表中所有的视频,然后直接用ffmpeg合并为一个视频。

我们就直接执行这一句命令即可:

$ffmpeg-i<m3u8-path>-ccopyOUTPUT.mp4$ffmpeg-i<m3u8-path>-vcodeccopy-acodeccopyOUTPUT.mp4#例如:ffmpeg-ihttps://v6.438vip.com/2018/10/17/3JAHPTdvPhQb9LrE/playlist.m3u8-ccopyOUTPUT.mp4

然后就会看到这样的下载过程:

ffmpeg网页视频流m3u8 ts怎么实现视频下载

为什么下载播放列表就能下载所有的切片文件?

因为播放列表里的都是相对路径,既然我们有了播放列表的绝对路径,那么其它所有文件的绝对路径也就不难获取了。

好在ffmpeg直接实现了这种播放列表一键下载的方式。

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:ffmpeg网页视频流m3u8 ts怎么实现视频下载的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Go语言指针怎么使用下一篇:

12 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18