最近在学英语,然后在网上突然看到一个很好的视频,想下载下来,研究了一下,发现是m3u8格式的,下载下来是分片的一堆小文件,之后还得合并,还得找对应的播放器,这太麻烦啦,若是直接能下载为mp4格式的就完美啦,于是乎我就找到了这个神器,完美解决了我的问题。
功能介绍
1、这个工具采用go语言编写。
2、可下载m3u8格式的视频。
3、跨平台。
4、自动分析,自动下载。
5、下载TS失败会重试。
6、自动合并TS文件,并转为MP4文件。
7、源代码开源。
下载命令
将go语言编译的可执行文件放到一个文件夹中,并给此文件赋予可执行权限,然后执行下载命令。
chmod 755 m3u8
./m3u8 -u=https://cdn.xxxx.com/tm2963328_f8b57487d5bfce99147c663.m3u8
之后会在文件夹中下载到对应的视频文件。
当然前提是你能获取到这个 m3u8 地址,这个你自己研究,办法很多。
常用参数说明
- u m3u8下载地址(http(s)://url/xx/xx/index.m3u8)
- o movieName:自定义文件名(默认为movie)不带后缀 (default "movie")
- n num:下载线程数(默认24)
- ht hostType:设置getHost的方式(v1: http(s):// + url.Host + filepath.Dir(url.Path); v2: `http(s)://+ u.Host` (default "v1")
- c cookie:自定义请求cookie (例如:key1=v1; key2=v2)
- r autoClear:是否自动清除ts文件 (default true)
- s InsecureSkipVerify:是否允许不安全的请求(默认0)
- sp savePath:文件保存的绝对路径(默认为当前路径,建议默认值)(例如:unix:/Users/xxxx ; windows:C:\Documents)
用法
若是你不进行二次开发的话,直接用编译好的 go 文件即可,若是需要二次开发,那么就用源码。
源码编译
自己编译:go build -o m3u8-downloader
简洁使用:./m3u8-downloader -u=http://example.com/index.m3u8
完整使用:./m3u8-downloader -u=http://example.com/index.m3u8 -o=example -n=16 -ht=v1 -c="key1=v1; key2=v2"
思路扩展
可以写一个网页版的下载m3u8格式的网站,提供独立的页面,以便用户进行下载,当然你有能力的话,也可以写浏览器插件,网站可以挂广告,或者做成会员的形式,搞点外快。