1.视频流的简单介绍

用简单的语言来说,网络视频流就像是通过互联网“边传边播”视频内容的技术。比如你在看视频网站(如YouTube、B站)或直播时,不需要等整个视频下载完才能看,而是数据像“水流”一样源源不断地传过来,让你可以立即开始观看,同时后面的内容在后台继续加载。

举个栗子: 传统下载需要先完整保存文件(比如用迅雷下电影),而视频流是“传一点播一点”,适合在线看长视频或直播。当你在B站看视频时,点击播放后,网站会先加载开头几秒,同时后台继续传输后续内容。如果网络变慢,视频可能会模糊一些(降低分辨率),但不会完全卡住。

2.视频流的爬取

学习网站:观影 GYING

案例视频:缘分的天空

我这里就直接讲方法了,比较简单。

视频流的视频都被分解为了很多很多的 ts 文件,而这些 ts 文件需要我们自己拼接,最后组合在一起才是我们想要的长视频。

而这些 ts文件的组成内容都会在一个以 m3u8 结尾的文件当中。

所以爬取过程就是:

        1.打开检查并刷新

        2.直接搜索.m3u8

        3.请求获取m3u8文件

        3.拼接 ts文件名

        4.最后就是请求 ts 文件,获取视频并拼接

重点:ts文件名的拼接

        

这就是我们需要的后缀,我们将该接口url(如下),的最后的 index.m3u8 替换成对应该接口响应数据中 的红方框(如上)对应的ts及其数字或英文即可。https://c1.rrcdnbf3.com/video/yuanzhikong/%E7%AC%AC01%E9%9B%86/index.m3u8

最后的 ts文件名就是:

https://c1.rrcdnbf3.com/video/yuanzhikong/%E7%AC%AC01%E9%9B%86/0000000.ts

https://c1.rrcdnbf3.com/video/yuanzhikong/%E7%AC%AC01%E9%9B%86/0000001.ts

https://c1.rrcdnbf3.com/video/yuanzhikong/%E7%AC%AC01%E9%9B%86/0000002.ts

.................................................

接下来就是用python实现了

发请求获取数据,然后正则匹配并拼接 ts文件,最后请求 ts文件拼接为MP4

如图所示 简单功能实现如下

功能实现没问题的,只爬了一段。

代码用途
本代码仅供学习、研究和交流使用,禁止用于任何商业用途或非法用途。使用者应对其行为负责,作者不对代码的滥用或不当使用承担任何责任。

学习网站参考:

视频流技术解析-CSDN博客

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐