目录
get-m3u8由开发者caiweiming在GitHub上以MIT协议开源,项目定位是纯浏览器端的HLS下载工具。所谓M3U8,是流媒体常用的播放列表格式,视频被切成一个个小的TS分片,按顺序播放。普通用户没法直接右键保存这种视频,get-m3u8做的就是把这些分片抓下来、按顺序拼好、再保存成一个完整文件。整个过程不经过服务器,解析和合成都发生在你的浏览器里,所以理论上你提交的链接不会被第三方服务器记录。不过也正因为如此,它受浏览器跨域限制的约束比较明显,源站不让跨域访问的分片,它也没辙。
官网入口地址
下载地址
get-m3u8是在线工具,不需要下载安装包。如果你想自己部署一份,可以去GitHub仓库拉取源码,项目是静态站点,扔到GitHubPages、CloudflarePages、Netlify、Vercel或者任意静态文件服务器上就能跑。仓库地址:https://github.com/caiweiming/get-m3u8
功能介绍
解析播放列表与清晰度选择
粘贴M3U8链接后,工具会读取播放列表内容。如果这个播放列表里包含多个清晰度(也就是多码率自适应流),它会列出来让你挑一个再下载,而不是闷头抓或的那档。
在线预览播放
内置了DPlayer播放器,链接粘进去就能先播一段看看是不是你要的内容,确认无误再开下载。支持外部音轨和WebVTT字幕的选择,预览时能切音轨、开字幕。
按片段范围下载
有些视频你只想要中间某一段,或者前面几分钟是片头不想要。get-m3u8允许你输入起始和结束的分片序号,只下载这个区间内的碎片,省流量也省时间。分片序号是播放列表里真实的序号,不是按时间估算的。
TS与MP4两种输出
稳定模式下默认输出TS格式,这个格式兼容性好、合并过程简单。如果你在设置里开启了实验功能,可以尝试导出MP4,但这依赖浏览器内的转封装能力,遇到不兼容的编码失败,这时候退回TS就行。还可以选择边下边存,减少大文件对内存的占用。
AES-128加密分片解密
部分M3U8流会对分片做AES-128加密,工具支持在下载过程中解密,不需要你额外找密钥工具处理。
任务管理与并发控制
页面内可以添加多个下载任务,按先进先出顺序排队执行,同一时刻只跑一个任务。单个任务的分片并发数可以调,范围是1到8,默认4。任务行会显示当前速度、进度和排队位置,支持暂停、继续、重试和删除。
快捷链接预填参数
你可以通过URL参数直接创建下载任务,比如把source、title、format、range、concurrency这些参数拼在链接后面,打开页面就自动填好。对于经常要下同一类链接的人,做个书签挺方便。
应用场景
保存网课或讲座录像
不少在线教育平台用M3U8格式分发课程视频,平台本身不提供下载按钮。如果你有合法的访问权限、只是想离线复习,get-m3u8可以帮你把能访问到的流保存下来。
提取直播回放中的片段
有些直播回放以M3U8形式提供,你只需要中某一段精彩内容。用范围下载功能指定分片区间,不用把整场几小时的录像全拉下来。
开发测试时快速抓取样本流
做播放器开发或流媒体测试的人,经常需要拿真实的M3U8流做调试。用这个工具可以快速预览、下载指定清晰度的样本,比写脚本省事。
归档自己上传的内容
如果你自己往某些平台传了视频,平台只给M3U8播放地址而不给源文件,可以用它把内容拉回本地留档。
使用方法
第一步,打开getm3u8.com
第二步,把M3U8链接粘贴到输入框,或者点“新建下载”手动填。
第三步,如果播放列表有多个清晰度,选一个你需要的。
第四步,设置保存标题、下载范围(全部或自定义片段区间)、分片并发数。
第五步,确认后任务进入队列,在任务列表里看进度。
第六步,下载完成后浏览器会触发保存,文件落到你的下载目录里。
服务支持与定价
免费
项目采用MIT开源协议,在线版getm3u8.com免费,没有会员等级、没有付费解锁功能。代码公开在GitHub上,你可以自己审代码、自己部署,也可以提Issue或PullRequest参与改进。
反馈渠道
遇到解析异常、下载失败或界面问题,可以发邮件到support@getm3u8.com,或者在GitHub仓库提Issue。提问题时附上出错的M3U8链接(如果方便公开的话)、浏览器版本和具体报错信息。
使用限制说明
工具受浏览器跨域策略限制,目标播放列表、密钥、分片和字幕资源必须允许浏览器跨域访问。DRM保护的内容、需要登录或依赖特定请求头/Cookie的资源,下不了。普通下载的分片暂存在当前页面内存里,刷新或关闭页面未完成的任务会丢失。这些限制在GitHub文档里写得很清楚,不是工具坏了,是浏览器安全模型的边界。
| 源码反馈/咨询 (共有 条反馈) |
get-m3u8常见问题
开发者是caiweiming,项目以MIT协议在GitHub上开源。从提交记录看,2026年8月做过一次全新重构,之后在10月还有更新,主要改善多分辨率、多音轨和字幕视频的下载体验。个人开发者维护的开源项目,更新节奏不算特别频繁,但代码是公开的,有问题可以去仓库提Issue。
是一个跑在浏览器里的M3U8视频下载器。M3U8是流媒体常用的播放列表格式,视频被切成很多小分片,普通方式没法直接保存。get-m3u8把这些分片抓下来、按顺序合并、存成一个TS或MP4文件。它还能先预览再下载,能只下某一段,能处理AES加密的分片。不用装软件,打开网页就能用。
打开getm3u8.com,把M3U8链接粘进去。有多个清晰度就选一个,设置好保存标题和下载范围,点确认。任务会排队执行,你在列表里能看到进度和速度。下完了浏览器自动保存文件。就这么几步,没有注册登录的环节。
免费。在线版不收钱,源码也是MIT协议开放,你可以自己部署一套。没有会员、没有付费解锁清晰度之类的设计。它本身也不提供任何内容,只是一个解析下载的工具,所以不存在内容付费的问题。
按项目说明,解析、下载、合并和保存都在你的本地浏览器内完成,不经过后端服务器。也就是说,你粘贴的M3U8链接不会被发送到getm3u8的服务器上处理。但要注意,分片请求是你浏览器直接向源站发起的,源站能看到你的IP,这一点和你在浏览器里直接播放视频是一样的。别用它下载你没有权限访问的内容,工具本身不判断授权,用的人自己负责。
最常见的原因是跨域限制。浏览器出于安全考虑,不允许网页脚本随意读取他域名的资源,如果源站的M3U8或分片没有开放跨域访问,工具就抓不到。是DRM保护的内容、需要登录Cookie或特定请求头的资源,也下不了。还有一种情况是链接本身过期了,M3U8地址带时效性参数,过期后需要重新获取。遇到下不了的,先换个链接试试,或者确认源站是否允许跨域。
主要针对的是点播型的M3U8播放列表,也就是有明确分片列表、总长度固定的那种。直播流是持续生成新分片的,播放列表会不断更新,get-m3u8没有做直播录制相关的逻辑,拿它去下直播流大概率得不到完整结果。如果你要录直播,得找专门支持直播录制的工具。
稳定模式默认输出TS格式,这个格式在电脑上用PotPlayer、VLC都能播,但部分手机播放器不认。你可以在设置里开启实验功能尝试导出MP4,MP4的兼容性就好多了。如果MP4导出失败,也可以先用TS下下来,再用格式转换工具转成MP4。音频方面,实验模式支持外部音轨单独保存为m4a,字幕存为vtt。
IDM和迅雷是通用下载器,它们能识别一些流媒体链接,但核心逻辑是抓取网络请求,对M3U8这种分片流不一定处理得好。get-m3u8是专门为M3U8设计的,它理解播放列表结构,能选清晰度、按分片序号下范围、处理AES解密、合并分片。分工不一样,下普通文件用IDM,下M3U8流用get-m3u8更对口。
这是设计如此,任务只保存在当前页面内存里,刷新或关闭标签页未完成的任务会丢失。避免的办法很简单:别在下载过程中刷新页面。如果你要下大文件,建议一次少开几个任务,等它下完再关页面。普通下载的分片也暂存在内存里,超大文件会给浏览器带来压力,这种情况下可以试试开启实验功能里的边下边存,它会尽量直接写入文件,减少内存占用。
页面内可以添加多个下载任务,但任务是先进先出排队执行的,同一时刻只跑一个。你可以把多个M3U8链接依次加进队列,它会一个个处理。不过要注意,所有未完成任务都在当前页面内存里,队列太长加上文件太大,对浏览器内存是个考验。如果有一大批要下,分批来更稳妥。
你可以在网址后面拼参数直接预填任务,比如source放M3U8地址(记得做URL编码),title放保存标题,format指定ts,range选all或custom,concurrency设1到8。打开这个拼好的链接,页面会自动把参数填进新建任务表单。对于经常要下同一来源链接的人,把带参数的网址存成书签,下次点开就省去粘贴的步骤。具体参数列表在GitHub的README里有完整说明。