[原创] 如何下载HLS流视频文件

在互联网上,有些视频以HLS流的形式呈现,当你用一些工具捕获到它的播放地址时,会发现是一个以 .m3u8 结尾的URL。
那么,什么是 HLS 和 m3u8 呢?

HLS(HTTP Live Streaming)是一种基于HTTP协议的流媒体传输协议,而M3U8则是一种基于文本的播放列表文件格式。在HLS中,媒体数据被划分成多个小文件进行传输,并使用M3U8文件作为索引来指向这些媒体数据文件。M3U8文件包含了所有的媒体数据文件的URL地址及其相关信息,如码率、分辨率、编码格式等。因此,当一个客户端请求播放一个HLS流时,它将下载对应的M3U8索引文件,并且根据其中包含的地址去下载其他的媒体数据文件。简单来说,HLS和M3U8是两个不同但紧密相连的概念,其中M3U8作为HLS协议中索引与定位资源的重要组成部分。

问题来了:如何下载HLS流视频文件呢?

有多种方法,下面略举一二。

 使用Chrome插件:Video DownloadHelper
这个插件可以捕获视频地址,也可以直接下载。但是直接下载HLS流视频每天有次数限制(很久以前是这样,不知道现在是什么情况),所以用此插件直接下载不可取。
那么我们可以用它获取视频地址,再用类似于 M3U8-Downloader 这样的桌面软件去下载这个地址指向的视频。
文章来源:https://www.codelast.com/
 使用跨平台的HLS下载工具 N_m3u8DL-RE
N_m3u8DL-RE 是一款跨平台的DASH/HLS/MSS下载工具,功能很强大。
以Ubuntu Linux系统为例,只需简单地下载其release包,解压出来得到一个可执行程序 N_m3u8DL-RE,然后这样用就可以下载HLS流视频了:

./N_m3u8DL-RE <m3u8_url>

N_m3u8DL-RE 支持的参数非常多,可以参考其文档。
如果首次运行的时候提示没有安装 ffmpeg,可以用 apt install ffmpeg 安装,再运行。

文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤ 
转载需注明出处:codelast.com 
感谢关注我的微信公众号(微信扫一扫):
wechat qrcode of codelast
以及我的微信视频号:

发表评论