下载任务

全选/反选 已选 {{selectedTasks.length}} / {{filteredTasks.length}}
总数: {{ filteredTasks.length }}
等待中: {{ queueStatus.queueLength }}
下载中: {{ queueStatus.activeDownloads.length }}

{{ task.showName }}

等待中 下载中 已暂停 已完成 {{task.errmsg || '异常'}}
详情 预览 {{ task.localVideo ? '播放' : '边下边播' }} 时长: {{ T.formatTimeCost(task.duration * 1000) }} 大小: {{ T.formatSize(task.downloadedSize) }} 分片: {{ task.tsSuccess + task.tsFailed }}/{{ task.tsCount }} 剩余: {{ T.formatTimeCost(task.remainingTime || 0) }}
{{ task.progress || 0 }}%
{{ task.speedDesc }}

暂无下载任务

下载设置

建议不超过 8 个,对单个服务器的并发请求数过多可能会导致被封 IP

最多同时下载任务数量,默认为 3

默认为当前目录下 downloads 文件夹

保存临时文件可以在重复下载时识别缓存

本地设置

若服务端设置了访问密码(token),请在此输入

关于项目

项目信息

许可证:MIT

作者:renxia

GitHub: https://github.com/lzwme/m3u8-dl.git

问题反馈: https://github.com/lzwme/m3u8-dl/issues

当前版本: {{serverInfo.version}}

检测版本: 发现新版本![{{serverInfo.newVersion}}] {{serverInfo.appUpdateMessage}}

项目简介

@lzwme/m3u8-dl 是一个功能强大的 m3u8 文件视频批量下载工具,支持多线程下载、边下边播、缓存续传等特性。

主要特性

  • 多线程下载:采用线程池模式的多线程下载
  • 边下边播模式:支持使用已下载的 ts 缓存文件在线播放
  • 批量下载:支持指定多个 m3u8 地址批量下载
  • 缓存续传:下载失败会保留缓存,重试时只下载失败的片段
  • 加密支持:支持常见的 AES 加密视频流解密
  • 格式转换:支持自动转换为 mp4(需安装 ffmpeg)
  • 搜索功能:支持指定采集站标准 API,以命令行交互的方式搜索和下载
  • WebUI:提供下载中心,支持启动为 webui 服务方式进行下载管理

安装使用

全局安装:

npm i -g @lzwme/m3u8-dl
m3u8dl -h

使用 npx:

npx @lzwme/m3u8-dl -h

Docker 部署

使用 Docker 命令运行:

docker run -d --name m3u8-dl -p 6600:6600 -v ./downloads:/app/downloads -v ./cache:/app/cache lzwme/m3u8-dl

使用 docker-compose 运行:

version: '3'
services:
  m3u8-dl:
    image: lzwme/m3u8-dl
    container_name: m3u8-dl
    ports:
      - "6600:6600"
    volumes:
      - ./downloads:/app/downloads
      - ./cache:/app/cache
    restart: unless-stopped

部署完成后,访问 http://localhost:6600 即可使用 WebUI 界面。